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());
// 先算等级 注册升级计算等级
// 订单指定产品盒数
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)

View File

@ -24,12 +24,16 @@ public class RetailConstants {
public static final List<String> BOX_PRODUCT_LIST = Arrays.asList(
// 注册
"SP02410001", "SP02410002", "SP02410003", "SP02410004", "SP02410005", "SP02410006",
"SP02410007", "SP02410008", "SP02410009", "SP02410010", "SP02410011", "SP02410012",
// 升级
"SP02420001", "SP02420002", "SP02420003", "SP02420004", "SP02420005", "SP02420006",
"SP02420007", "SP02420008", "SP02420009", "SP02420010", "SP02420011", "SP02420012",
// 复消
"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(
// 注册
"SP02410001", "SP02410002", "SP02410003", "SP02410004", "SP02410005", "SP02410006",
"SP02410007", "SP02410008", "SP02410009", "SP02410010", "SP02410011", "SP02410012",
// 升级
"SP02420001", "SP02420002", "SP02420003", "SP02420004", "SP02420005", "SP02420006",
"SP02420007", "SP02420008", "SP02420009", "SP02420010", "SP02420011", "SP02420012",
// 复消
"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"
);
}