Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
sangelxiu1 2025-07-04 11:11:50 +08:00
commit 936e404e70
3 changed files with 46 additions and 31 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)

View File

@ -24,12 +24,16 @@ public class RetailConstants {
public static final List<String> BOX_PRODUCT_LIST = Arrays.asList( public static final List<String> BOX_PRODUCT_LIST = Arrays.asList(
// 注册 // 注册
"SP02410001", "SP02410002", "SP02410003", "SP02410004", "SP02410005", "SP02410006", "SP02410001", "SP02410002", "SP02410003", "SP02410004", "SP02410005", "SP02410006",
"SP02410007", "SP02410008", "SP02410009", "SP02410010", "SP02410011", "SP02410012",
// 升级 // 升级
"SP02420001", "SP02420002", "SP02420003", "SP02420004", "SP02420005", "SP02420006", "SP02420001", "SP02420002", "SP02420003", "SP02420004", "SP02420005", "SP02420006",
"SP02420007", "SP02420008", "SP02420009", "SP02420010", "SP02420011", "SP02420012",
// 复消 // 复消
"SP02430001", "SP02430002", "SP02430003", "SP02430004", "SP02430005", "SP02430006", "SP02430001", "SP02430002", "SP02430003", "SP02430004", "SP02430005", "SP02430006",
"SP02430007", "SP02430008", "SP02430009", "SP02430010", "SP02430011", "SP02430012",
// 重消 // 重消
"SP02440001", "SP02440002", "SP02440003", "SP02440005", "SP02440005", "SP02440006" "SP02440001", "SP02440002", "SP02440003", "SP02440005", "SP02440005", "SP02440006",
"SP02440007", "SP02440008", "SP02440009", "SP02440010", "SP02440011", "SP02440012"
); );
/** /**
@ -38,12 +42,16 @@ public class RetailConstants {
public static final List<String> ALL_BOX_WARES_LIST = Arrays.asList( public static final List<String> ALL_BOX_WARES_LIST = Arrays.asList(
// 注册 // 注册
"SP02410001", "SP02410002", "SP02410003", "SP02410004", "SP02410005", "SP02410006", "SP02410001", "SP02410002", "SP02410003", "SP02410004", "SP02410005", "SP02410006",
"SP02410007", "SP02410008", "SP02410009", "SP02410010", "SP02410011", "SP02410012",
// 升级 // 升级
"SP02420001", "SP02420002", "SP02420003", "SP02420004", "SP02420005", "SP02420006", "SP02420001", "SP02420002", "SP02420003", "SP02420004", "SP02420005", "SP02420006",
"SP02420007", "SP02420008", "SP02420009", "SP02420010", "SP02420011", "SP02420012",
// 复消 // 复消
"SP02430001", "SP02430002", "SP02430003", "SP02430004", "SP02430005", "SP02430006", "SP02430001", "SP02430002", "SP02430003", "SP02430004", "SP02430005", "SP02430006",
"SP02430007", "SP02430008", "SP02430009", "SP02430010", "SP02430011", "SP02430012",
// 重消 // 重消
"SP02440001", "SP02440002", "SP02440003", "SP02440005", "SP02440005", "SP02440006" "SP02440001", "SP02440002", "SP02440003", "SP02440005", "SP02440005", "SP02440006",
"SP02440007", "SP02440008", "SP02440009", "SP02440010", "SP02440011", "SP02440012"
); );
} }