## 奖金来源添加领导奖、平级奖筛选;
This commit is contained in:
parent
c9da1f307c
commit
d74ccdb898
|
@ -563,8 +563,10 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
}
|
||||
// 死点 或 停算收益 或 顾客 没有奖金
|
||||
if (ECategory.NORMAL.getValue() != targetMember.getCategory()
|
||||
|| EIncomeStatus.STOP_INCOME.getValue() == targetMember.getIncomeStatus()
|
||||
|| EAccountStatus.STOP_INCOME.getValue() == targetMember.getAccountStatus()) {
|
||||
log.warn("直推收益:订单会员推荐人不满足计算奖金条件, memberCode: {}, category: {}, accountStatus: {}", targetMember.getMemberCode(), targetMember.getCategory(), targetMember.getAccountStatus());
|
||||
// 非正常会员、停止收益、停算收益,直接跳过
|
||||
log.warn("直推收益:订单会员推荐人不满足计算奖金条件, memberCode: {}", targetMember.getMemberCode());
|
||||
return;
|
||||
}
|
||||
// 订单金额
|
||||
|
@ -616,8 +618,10 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
}
|
||||
// 死点 或 停算收益 或 顾客 没有奖金
|
||||
if (ECategory.NORMAL.getValue() != targetMember.getCategory()
|
||||
|| EIncomeStatus.STOP_INCOME.getValue() == targetMember.getIncomeStatus()
|
||||
|| EAccountStatus.STOP_INCOME.getValue() == targetMember.getAccountStatus()) {
|
||||
log.warn("见点收益:订单会员血缘上推荐人不满足计算奖金条件, memberCode: {}, category: {}, accountStatus: {}", targetMember.getMemberCode(), targetMember.getCategory(), targetMember.getAccountStatus());
|
||||
// 非正常会员、停止收益、停算收益,直接跳过
|
||||
log.warn("见点收益:订单会员血缘上推荐人不满足计算奖金条件, memberCode: {}", targetMember.getMemberCode());
|
||||
return;
|
||||
}
|
||||
pkParent = targetMember.getPkParent();
|
||||
|
@ -846,6 +850,15 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
giftPayTime = 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();
|
||||
if (CollectionUtil.isEmpty(parentDetailList)) {
|
||||
|
@ -894,6 +907,14 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
}
|
||||
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;
|
||||
if (EBonusStage.ONE.getValue() == eBonusStage.getValue()) {
|
||||
|
@ -1132,15 +1153,17 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
while (true) {
|
||||
// 推荐人
|
||||
CuMemberRetailRangeExt targetMember = memberRangeExtMap.get(pkParent);
|
||||
if (targetMember == null) {
|
||||
if (null == targetMember) {
|
||||
break;
|
||||
}
|
||||
// 推荐人的推荐人
|
||||
pkParent = targetMember.getPkParent();
|
||||
|
||||
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;
|
||||
}
|
||||
// 当前会员奖衔值
|
||||
|
@ -1155,8 +1178,10 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
|
||||
if (calAwardsValue > beforeAwardsValue) {
|
||||
// 当前会员奖衔值大于前一个奖衔值,会有领导奖级差
|
||||
beforeRangeRatio = bdAwards.getRangeRatio().subtract(beforeRangeRatio);
|
||||
rangeBonusIncome = orderAchieve.multiply(beforeRangeRatio);
|
||||
rangeBonusIncome = orderAchieve.multiply(bdAwards.getRangeRatio().subtract(beforeRangeRatio));
|
||||
|
||||
beforeRangeRatio = bdAwards.getRangeRatio();
|
||||
beforeAwardsValue = calAwardsValue;
|
||||
} else if (EAwards.GLOBAL_CHAIRMAN.getValue() == beforeAwardsValue && beforeSameAlgebra < 3
|
||||
&& EOrderType.DISCOUNT_ORDER.getValue() != saOrderExt.getOrderType()) {
|
||||
// 前一个等级是皇冠大使,需要有3代平级(五折专区不走平级收益)
|
||||
|
@ -1200,6 +1225,16 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
}
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue