Compare commits
2 Commits
f5584a64c7
...
883be1c8a7
| Author | SHA1 | Date |
|---|---|---|
|
|
883be1c8a7 | |
|
|
3e7c57c2a0 |
|
|
@ -563,8 +563,10 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
}
|
}
|
||||||
// 死点 或 停算收益 或 顾客 没有奖金
|
// 死点 或 停算收益 或 顾客 没有奖金
|
||||||
if (ECategory.NORMAL.getValue() != targetMember.getCategory()
|
if (ECategory.NORMAL.getValue() != targetMember.getCategory()
|
||||||
|
|| EIncomeStatus.STOP_INCOME.getValue() == targetMember.getIncomeStatus()
|
||||||
|| EAccountStatus.STOP_INCOME.getValue() == targetMember.getAccountStatus()) {
|
|| EAccountStatus.STOP_INCOME.getValue() == targetMember.getAccountStatus()) {
|
||||||
log.warn("直推收益:订单会员推荐人不满足计算奖金条件, memberCode: {}, category: {}, accountStatus: {}", targetMember.getMemberCode(), targetMember.getCategory(), targetMember.getAccountStatus());
|
// 非正常会员、停止收益、停算收益,直接跳过
|
||||||
|
log.warn("直推收益:订单会员推荐人不满足计算奖金条件, memberCode: {}", targetMember.getMemberCode());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// 订单金额
|
// 订单金额
|
||||||
|
|
@ -616,8 +618,10 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
}
|
}
|
||||||
// 死点 或 停算收益 或 顾客 没有奖金
|
// 死点 或 停算收益 或 顾客 没有奖金
|
||||||
if (ECategory.NORMAL.getValue() != targetMember.getCategory()
|
if (ECategory.NORMAL.getValue() != targetMember.getCategory()
|
||||||
|
|| EIncomeStatus.STOP_INCOME.getValue() == targetMember.getIncomeStatus()
|
||||||
|| EAccountStatus.STOP_INCOME.getValue() == targetMember.getAccountStatus()) {
|
|| EAccountStatus.STOP_INCOME.getValue() == targetMember.getAccountStatus()) {
|
||||||
log.warn("见点收益:订单会员血缘上推荐人不满足计算奖金条件, memberCode: {}, category: {}, accountStatus: {}", targetMember.getMemberCode(), targetMember.getCategory(), targetMember.getAccountStatus());
|
// 非正常会员、停止收益、停算收益,直接跳过
|
||||||
|
log.warn("见点收益:订单会员血缘上推荐人不满足计算奖金条件, memberCode: {}", targetMember.getMemberCode());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
pkParent = targetMember.getPkParent();
|
pkParent = targetMember.getPkParent();
|
||||||
|
|
@ -846,6 +850,15 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
giftPayTime = keyDate;
|
giftPayTime = keyDate;
|
||||||
// 需要填充的直推会员
|
// 需要填充的直推会员
|
||||||
CuMemberRetailRangeExt targetMember = childRetailMap.get(keyDate);
|
CuMemberRetailRangeExt targetMember = childRetailMap.get(keyDate);
|
||||||
|
|
||||||
|
if (ECategory.NORMAL.getValue() != targetMember.getCategory()
|
||||||
|
|| EIncomeStatus.STOP_INCOME.getValue() == targetMember.getIncomeStatus()
|
||||||
|
|| EAccountStatus.STOP_INCOME.getValue() == targetMember.getAccountStatus()) {
|
||||||
|
// 非正常会员、停止收益、停算收益,直接跳过
|
||||||
|
log.warn("阶段收益:订单会员推荐人不满足计算奖金条件, memberCode: {}", targetMember.getMemberCode());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// 推荐人一阶段子点位列表
|
// 推荐人一阶段子点位列表
|
||||||
LinkedHashMap<Integer, CuMemberRetailDetail> parentDetailList = targetMember.getOneDetailMap();
|
LinkedHashMap<Integer, CuMemberRetailDetail> parentDetailList = targetMember.getOneDetailMap();
|
||||||
if (CollectionUtil.isEmpty(parentDetailList)) {
|
if (CollectionUtil.isEmpty(parentDetailList)) {
|
||||||
|
|
@ -894,6 +907,14 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
}
|
}
|
||||||
pkParent = targetMember.getPkParent();
|
pkParent = targetMember.getPkParent();
|
||||||
|
|
||||||
|
if (ECategory.NORMAL.getValue() != targetMember.getCategory()
|
||||||
|
|| EIncomeStatus.STOP_INCOME.getValue() == targetMember.getIncomeStatus()
|
||||||
|
|| EAccountStatus.STOP_INCOME.getValue() == targetMember.getAccountStatus()) {
|
||||||
|
// 非正常会员、停止收益、停算收益,直接跳过
|
||||||
|
log.warn("阶段收益:订单会员推荐人不满足计算奖金条件, memberCode: {}", targetMember.getMemberCode());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// 推荐人一阶段子点位列表
|
// 推荐人一阶段子点位列表
|
||||||
LinkedHashMap<Integer, CuMemberRetailDetail> parentDetailList = null;
|
LinkedHashMap<Integer, CuMemberRetailDetail> parentDetailList = null;
|
||||||
if (EBonusStage.ONE.getValue() == eBonusStage.getValue()) {
|
if (EBonusStage.ONE.getValue() == eBonusStage.getValue()) {
|
||||||
|
|
@ -1132,15 +1153,17 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
while (true) {
|
while (true) {
|
||||||
// 推荐人
|
// 推荐人
|
||||||
CuMemberRetailRangeExt targetMember = memberRangeExtMap.get(pkParent);
|
CuMemberRetailRangeExt targetMember = memberRangeExtMap.get(pkParent);
|
||||||
if (targetMember == null) {
|
if (null == targetMember) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// 推荐人的推荐人
|
// 推荐人的推荐人
|
||||||
pkParent = targetMember.getPkParent();
|
pkParent = targetMember.getPkParent();
|
||||||
|
|
||||||
if (ECategory.NORMAL.getValue() != targetMember.getCategory()
|
if (ECategory.NORMAL.getValue() != targetMember.getCategory()
|
||||||
|| EIncomeStatus.STOP_INCOME.getValue() == targetMember.getIncomeStatus()) {
|
|| EIncomeStatus.STOP_INCOME.getValue() == targetMember.getIncomeStatus()
|
||||||
// 非正常会员、停止收益,直接跳过
|
|| EAccountStatus.STOP_INCOME.getValue() == targetMember.getAccountStatus()) {
|
||||||
|
// 非正常会员、停止收益、停算收益,直接跳过
|
||||||
|
log.warn("领导奖或平级奖收益:订单会员推荐人不满足计算奖金条件, memberCode: {}", targetMember.getMemberCode());
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
// 当前会员奖衔值
|
// 当前会员奖衔值
|
||||||
|
|
@ -1155,8 +1178,10 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
|
|
||||||
if (calAwardsValue > beforeAwardsValue) {
|
if (calAwardsValue > beforeAwardsValue) {
|
||||||
// 当前会员奖衔值大于前一个奖衔值,会有领导奖级差
|
// 当前会员奖衔值大于前一个奖衔值,会有领导奖级差
|
||||||
beforeRangeRatio = bdAwards.getRangeRatio().subtract(beforeRangeRatio);
|
rangeBonusIncome = orderAchieve.multiply(bdAwards.getRangeRatio().subtract(beforeRangeRatio));
|
||||||
rangeBonusIncome = orderAchieve.multiply(beforeRangeRatio);
|
|
||||||
|
beforeRangeRatio = bdAwards.getRangeRatio();
|
||||||
|
beforeAwardsValue = calAwardsValue;
|
||||||
} else if (EAwards.GLOBAL_CHAIRMAN.getValue() == beforeAwardsValue && beforeSameAlgebra < 3
|
} else if (EAwards.GLOBAL_CHAIRMAN.getValue() == beforeAwardsValue && beforeSameAlgebra < 3
|
||||||
&& EOrderType.DISCOUNT_ORDER.getValue() != saOrderExt.getOrderType()) {
|
&& EOrderType.DISCOUNT_ORDER.getValue() != saOrderExt.getOrderType()) {
|
||||||
// 前一个等级是皇冠大使,需要有3代平级(五折专区不走平级收益)
|
// 前一个等级是皇冠大使,需要有3代平级(五折专区不走平级收益)
|
||||||
|
|
@ -1200,6 +1225,16 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
}
|
}
|
||||||
cuMemberBonusRangeList.add(sameLevelMemberBonusRange);
|
cuMemberBonusRangeList.add(sameLevelMemberBonusRange);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (EOrderType.DISCOUNT_ORDER.getValue() != saOrderExt.getOrderType()
|
||||||
|
&& EAwards.GLOBAL_CHAIRMAN.getValue() == beforeAwardsValue && beforeSameAlgebra >= 3) {
|
||||||
|
// 非五折专区,有领导奖、平级奖,本次奖衔是最高,并且已经拿满3次,直接退回
|
||||||
|
break;
|
||||||
|
} else if (EOrderType.DISCOUNT_ORDER.getValue() == saOrderExt.getOrderType()
|
||||||
|
&& EAwards.GLOBAL_CHAIRMAN.getValue() == beforeAwardsValue) {
|
||||||
|
// 五折专区,只有领导奖,本次奖衔是最高,直接退回
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@ import com.hzs.common.core.utils.ComputeUtil;
|
||||||
import com.hzs.common.core.utils.DateUtils;
|
import com.hzs.common.core.utils.DateUtils;
|
||||||
import com.hzs.common.core.web.page.TableDataInfo;
|
import com.hzs.common.core.web.page.TableDataInfo;
|
||||||
import com.hzs.common.domain.member.bonus.CuMemberBonus;
|
import com.hzs.common.domain.member.bonus.CuMemberBonus;
|
||||||
|
import com.hzs.common.domain.member.bonus.CuMemberBonusRange;
|
||||||
import com.hzs.common.domain.member.ext.*;
|
import com.hzs.common.domain.member.ext.*;
|
||||||
import com.hzs.common.domain.system.config.BdBonusItems;
|
import com.hzs.common.domain.system.config.BdBonusItems;
|
||||||
import com.hzs.common.domain.system.config.ext.BdBonusItemsExt;
|
import com.hzs.common.domain.system.config.ext.BdBonusItemsExt;
|
||||||
|
|
@ -400,6 +401,15 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
|
||||||
// MemberBonusDetailSerVO memberBonusDetailVO = BeanUtil.copyProperties(cuMemberBonusRange, MemberBonusDetailSerVO.class);
|
// MemberBonusDetailSerVO memberBonusDetailVO = BeanUtil.copyProperties(cuMemberBonusRange, MemberBonusDetailSerVO.class);
|
||||||
// memberBonusDetailSerVoS.add(memberBonusDetailVO);
|
// memberBonusDetailSerVoS.add(memberBonusDetailVO);
|
||||||
// });
|
// });
|
||||||
|
} else if (EBonusItems.RANGE_INCOME.getValue() == bonusItemsValue
|
||||||
|
|| EBonusItems.SAME_LEVEL_INCOME.getValue() == bonusItemsValue) {
|
||||||
|
// 领导奖收益、平级奖收益
|
||||||
|
List<CuMemberBonusRangeExt> cuMemberBonusRangeList = cuMemberBonusRangeMapper.queryMemberBonusRangeByBonusItemsForServer(bonusParam);
|
||||||
|
dataTable = getDataTable(cuMemberBonusRangeList);
|
||||||
|
cuMemberBonusRangeList.forEach(cuMemberBonusRange -> {
|
||||||
|
MemberBonusDetailSerVO memberBonusDetailVO = BeanUtil.copyProperties(cuMemberBonusRange, MemberBonusDetailSerVO.class);
|
||||||
|
memberBonusDetailSerVoS.add(memberBonusDetailVO);
|
||||||
|
});
|
||||||
} else if (EBonusItems.STAGE_INCOME.getValue() == bonusItemsValue) {
|
} else if (EBonusItems.STAGE_INCOME.getValue() == bonusItemsValue) {
|
||||||
// 阶段收益
|
// 阶段收益
|
||||||
List<CuMemberBonusDetailExt> cuMemberBonusDetailList = cuMemberBonusStageMapper.queryMemberBonusStageByBonusItemsFoServer(bonusParam);
|
List<CuMemberBonusDetailExt> cuMemberBonusDetailList = cuMemberBonusStageMapper.queryMemberBonusStageByBonusItemsFoServer(bonusParam);
|
||||||
|
|
|
||||||
|
|
@ -161,9 +161,10 @@
|
||||||
where so.del_flag = 0
|
where so.del_flag = 0
|
||||||
) so
|
) so
|
||||||
inner join (
|
inner join (
|
||||||
select
|
select cb.pk_member, cr.pk_order, cb.period, cb.pk_country, cr.pk_bonus_items,
|
||||||
cb.pk_member,cr.pk_order,cb.period,cb.pk_country,cr.pk_bonus_items,cr.income_status,cr.CAL_ACHIEVE,cr.pretax_income,cr.income_tax,cr.real_income,
|
cr.income_status, cr.cal_achieve, cr.remark,
|
||||||
cr.remark,cr.income_ratio,cr.income_dial_ratio,cr.order_dial_ratio
|
cr.pretax_income, cr.income_tax, cr.real_income,
|
||||||
|
cr.income_ratio, cr.income_dial_ratio, cr.order_dial_ratio
|
||||||
from cu_member_bonus cb
|
from cu_member_bonus cb
|
||||||
inner join CU_MEMBER_BONUS_RANGE cr
|
inner join CU_MEMBER_BONUS_RANGE cr
|
||||||
on cb.pk_id = cr.pk_bonus
|
on cb.pk_id = cr.pk_bonus
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue