From 4647412b32537be5eeadc378a1ab0ef2a56952f0 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Fri, 4 Jul 2025 09:52:51 +0800 Subject: [PATCH 1/2] =?UTF-8?q?##=20=E6=92=A4=E5=8D=95=E5=9B=9E=E9=80=80?= =?UTF-8?q?=E7=9B=92=E6=95=B0=E4=B8=9A=E7=BB=A9=E5=A4=84=E7=90=86=EF=BC=88?= =?UTF-8?q?227=EF=BC=89=EF=BC=9B=E7=9B=92=E6=95=B0=E7=B4=AF=E8=AE=A1?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E7=9B=B4=E6=8E=A5=E5=8F=96=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E7=9B=92=E6=95=B0=E4=B8=8D=E5=86=8D=E9=87=8D=E6=96=B0=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/BonusSettleRangeHandle.java | 64 +++++++++++-------- .../mapper/bonus/order/BonusOrderMapper.xml | 1 - 2 files changed, 36 insertions(+), 29 deletions(-) diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java index 09468cd8..69948be8 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java @@ -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,12 +1411,14 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } else if (EOrderType.RETAIL_REPURCHASE.getValue() == saOrder.getOrderType()) { // 复购订单, 区域收益 = 复购区域分红 * 商品数量 for (SaOrderWaresExt saOrderWaresExt : saOrder.getOrderWaresExtList()) { - if (ERatioType.VALUE.getValue() == saOrderWaresExt.getAreaIncomeType()) { - // 按比值处理 - 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)); + 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.getWaresPrice().multiply(saOrderWaresExt.getAreaIncome()).divide(new BigDecimal("100"), 6, BigDecimal.ROUND_HALF_UP)); + } } } } diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/order/BonusOrderMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/order/BonusOrderMapper.xml index 1d1494ed..b9e09a19 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/order/BonusOrderMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/order/BonusOrderMapper.xml @@ -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) From dabf858e2bf1c6257f49b3b36b90ab55a0e7f51c Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Fri, 4 Jul 2025 11:03:14 +0800 Subject: [PATCH 2/2] =?UTF-8?q?##=20=E6=B7=BB=E5=8A=A0=E6=96=B0=E9=9B=B6?= =?UTF-8?q?=E5=94=AE=E8=AE=A1=E7=AE=97=E7=9B=92=E6=95=B0=E5=95=86=E5=93=81?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hzs/common/core/constant/RetailConstants.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailConstants.java index bb1acc4f..6882a5e5 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailConstants.java @@ -24,12 +24,16 @@ public class RetailConstants { public static final List 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 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" ); }