## 撤单回退盒数业绩处理(227);盒数累计改为直接取订单盒数不再重新计算;

This commit is contained in:
cabbage 2025-07-04 09:52:51 +08:00
parent fbd6a2e033
commit 4647412b32
2 changed files with 36 additions and 29 deletions

View File

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

View File

@ -212,7 +212,6 @@
from sa_order so
left join sa_order_items soi
on soi.pk_order = so.pk_id
and soi.del_flag = 0
and soi.is_gift = 1
where so.order_status = 1
and so.order_type in (43, 44)