|
|
|
@ -115,13 +115,14 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|
|
|
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
|
|
|
|
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
|
|
|
|
// 先算等级 注册、升级计算等级
|
|
|
|
// 先算等级 注册、升级计算等级
|
|
|
|
// 订单指定产品盒数
|
|
|
|
// 订单指定产品盒数
|
|
|
|
BigDecimal boxNum = BigDecimal.ZERO;
|
|
|
|
BigDecimal boxNum = saOrderExt.getBoxNum();
|
|
|
|
for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) {
|
|
|
|
// BigDecimal boxNum = BigDecimal.ZERO;
|
|
|
|
if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) {
|
|
|
|
// for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) {
|
|
|
|
boxNum = boxNum.add(saOrderItems.getWaresBoxNum().multiply(new BigDecimal(saOrderItems.getWaresQuantity())));
|
|
|
|
// if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) {
|
|
|
|
}
|
|
|
|
// boxNum = boxNum.add(saOrderItems.getWaresBoxNum().multiply(new BigDecimal(saOrderItems.getWaresQuantity())));
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
saOrderExt.setBoxNum(boxNum);
|
|
|
|
// }
|
|
|
|
|
|
|
|
// saOrderExt.setBoxNum(boxNum);
|
|
|
|
|
|
|
|
|
|
|
|
// 订单业绩
|
|
|
|
// 订单业绩
|
|
|
|
BigDecimal orderAchieve = saOrderExt.getOrderAchieve();
|
|
|
|
BigDecimal orderAchieve = saOrderExt.getOrderAchieve();
|
|
|
|
@ -154,7 +155,8 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|
|
|
) {
|
|
|
|
) {
|
|
|
|
// 注册、升级订单,计算奖金: 直推级差收益 + 平级收益
|
|
|
|
// 注册、升级订单,计算奖金: 直推级差收益 + 平级收益
|
|
|
|
for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) {
|
|
|
|
for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) {
|
|
|
|
if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) {
|
|
|
|
if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())
|
|
|
|
|
|
|
|
&& EDelFlag.UN_DELETE.getValue() == saOrderItems.getDelFlag()) {
|
|
|
|
// 指定盒数商品
|
|
|
|
// 指定盒数商品
|
|
|
|
// 计算直推级差收益 + 平级收益
|
|
|
|
// 计算直推级差收益 + 平级收益
|
|
|
|
cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, currentPeriod, saOrderItems, saOrderExt));
|
|
|
|
cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, currentPeriod, saOrderItems, saOrderExt));
|
|
|
|
@ -259,13 +261,14 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|
|
|
// 计算自消费奖衔
|
|
|
|
// 计算自消费奖衔
|
|
|
|
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
|
|
|
|
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
|
|
|
|
// 先算等级 注册、升级计算等级
|
|
|
|
// 先算等级 注册、升级计算等级
|
|
|
|
BigDecimal boxNum = BigDecimal.ZERO;
|
|
|
|
BigDecimal boxNum = saOrderExt.getBoxNum();
|
|
|
|
for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) {
|
|
|
|
// BigDecimal boxNum = BigDecimal.ZERO;
|
|
|
|
if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) {
|
|
|
|
// for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) {
|
|
|
|
boxNum = boxNum.add(saOrderItems.getWaresBoxNum().multiply(new BigDecimal(saOrderItems.getWaresQuantity())));
|
|
|
|
// if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) {
|
|
|
|
}
|
|
|
|
// boxNum = boxNum.add(saOrderItems.getWaresBoxNum().multiply(new BigDecimal(saOrderItems.getWaresQuantity())));
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
saOrderExt.setBoxNum(boxNum);
|
|
|
|
// }
|
|
|
|
|
|
|
|
// saOrderExt.setBoxNum(boxNum);
|
|
|
|
|
|
|
|
|
|
|
|
// 订单业绩
|
|
|
|
// 订单业绩
|
|
|
|
BigDecimal orderAchieve = saOrderExt.getOrderAchieve();
|
|
|
|
BigDecimal orderAchieve = saOrderExt.getOrderAchieve();
|
|
|
|
@ -522,12 +525,14 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|
|
|
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
|
|
|
|
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
|
|
|
|
|
|
|
|
|
|
|
|
// 订单指定产品盒数(计算等级使用)
|
|
|
|
// 订单指定产品盒数(计算等级使用)
|
|
|
|
BigDecimal boxNum = BigDecimal.ZERO;
|
|
|
|
BigDecimal boxNum = saOrderExt.getBoxNum();
|
|
|
|
for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) {
|
|
|
|
// BigDecimal boxNum = BigDecimal.ZERO;
|
|
|
|
if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) {
|
|
|
|
// for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) {
|
|
|
|
boxNum = boxNum.add(saOrderItems.getWaresBoxNum().multiply(new BigDecimal(saOrderItems.getWaresQuantity())));
|
|
|
|
// if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) {
|
|
|
|
}
|
|
|
|
// boxNum = boxNum.add(saOrderItems.getWaresBoxNum().multiply(new BigDecimal(saOrderItems.getWaresQuantity())));
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
// 个人累计消费pv
|
|
|
|
// 个人累计消费pv
|
|
|
|
BigDecimal orderAchieve = saOrderExt.getOrderAchieve();
|
|
|
|
BigDecimal orderAchieve = saOrderExt.getOrderAchieve();
|
|
|
|
// 复购、重消,盒数、业绩算个人累计数据(盒数、业绩)
|
|
|
|
// 复购、重消,盒数、业绩算个人累计数据(盒数、业绩)
|
|
|
|
@ -552,7 +557,8 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|
|
|
) {
|
|
|
|
) {
|
|
|
|
// 注册或升级订单并且存在盒数产品,才有 直推级差收益 和 平级收益
|
|
|
|
// 注册或升级订单并且存在盒数产品,才有 直推级差收益 和 平级收益
|
|
|
|
for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) {
|
|
|
|
for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) {
|
|
|
|
if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) {
|
|
|
|
if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())
|
|
|
|
|
|
|
|
&& EDelFlag.UN_DELETE.getValue() == saOrderItems.getDelFlag()) {
|
|
|
|
// 盒数商品 计算 直推级差 + 平级收益
|
|
|
|
// 盒数商品 计算 直推级差 + 平级收益
|
|
|
|
cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, period, saOrderItems, saOrderExt));
|
|
|
|
cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, period, saOrderItems, saOrderExt));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -1405,6 +1411,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|
|
|
} else if (EOrderType.RETAIL_REPURCHASE.getValue() == saOrder.getOrderType()) {
|
|
|
|
} else if (EOrderType.RETAIL_REPURCHASE.getValue() == saOrder.getOrderType()) {
|
|
|
|
// 复购订单, 区域收益 = 复购区域分红 * 商品数量
|
|
|
|
// 复购订单, 区域收益 = 复购区域分红 * 商品数量
|
|
|
|
for (SaOrderWaresExt saOrderWaresExt : saOrder.getOrderWaresExtList()) {
|
|
|
|
for (SaOrderWaresExt saOrderWaresExt : saOrder.getOrderWaresExtList()) {
|
|
|
|
|
|
|
|
if (EDelFlag.UN_DELETE.getValue() == saOrderWaresExt.getDelFlag()) {
|
|
|
|
if (ERatioType.VALUE.getValue() == saOrderWaresExt.getAreaIncomeType()) {
|
|
|
|
if (ERatioType.VALUE.getValue() == saOrderWaresExt.getAreaIncomeType()) {
|
|
|
|
// 按比值处理
|
|
|
|
// 按比值处理
|
|
|
|
benefitIncome = benefitIncome.add(saOrderWaresExt.getAreaIncome().multiply(new BigDecimal(saOrderWaresExt.getWaresQuantity())));
|
|
|
|
benefitIncome = benefitIncome.add(saOrderWaresExt.getAreaIncome().multiply(new BigDecimal(saOrderWaresExt.getWaresQuantity())));
|
|
|
|
@ -1414,6 +1421,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
CuMemberBonusDetail cuMemberBonusDetail = packageBenefitIncome(bonusConfigDTO, period, cuMemberBonusMap, null, RetailConstants.SAME_RATIO, benefitIncome,
|
|
|
|
CuMemberBonusDetail cuMemberBonusDetail = packageBenefitIncome(bonusConfigDTO, period, cuMemberBonusMap, null, RetailConstants.SAME_RATIO, benefitIncome,
|
|
|
|
cuMemberRetailRangeExt, EBonusItems.RETAIL_AREA_INCOME.getValue(), BonusMsgConstants.RETAIL_AREA_INCOME);
|
|
|
|
cuMemberRetailRangeExt, EBonusItems.RETAIL_AREA_INCOME.getValue(), BonusMsgConstants.RETAIL_AREA_INCOME);
|
|
|
|
|