## 撤单回退盒数业绩处理(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()); 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,12 +1411,14 @@ 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 (ERatioType.VALUE.getValue() == saOrderWaresExt.getAreaIncomeType()) { if (EDelFlag.UN_DELETE.getValue() == saOrderWaresExt.getDelFlag()) {
// 按比值处理 if (ERatioType.VALUE.getValue() == saOrderWaresExt.getAreaIncomeType()) {
benefitIncome = benefitIncome.add(saOrderWaresExt.getAreaIncome().multiply(new BigDecimal(saOrderWaresExt.getWaresQuantity()))); // 按比值处理
} else { benefitIncome = benefitIncome.add(saOrderWaresExt.getAreaIncome().multiply(new BigDecimal(saOrderWaresExt.getWaresQuantity())));
// 按比率处理 } else {
benefitIncome = benefitIncome.add(saOrderWaresExt.getWaresPrice().multiply(saOrderWaresExt.getAreaIncome()).divide(new BigDecimal("100"), 6, BigDecimal.ROUND_HALF_UP)); // 按比率处理
benefitIncome = benefitIncome.add(saOrderWaresExt.getWaresPrice().multiply(saOrderWaresExt.getAreaIncome()).divide(new BigDecimal("100"), 6, BigDecimal.ROUND_HALF_UP));
}
} }
} }
} }

View File

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