From f4ef2a932615a5ac8a48dac82e2f2300122c8897 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Sat, 12 Jul 2025 14:17:38 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E9=A6=96=E8=B4=AD=E7=BA=A7=E5=B7=AE?= =?UTF-8?q?=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/BonusSettleRangeHandle.java | 91 ++++++++++--------- 1 file changed, 49 insertions(+), 42 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 aede97b0..eec50afe 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 @@ -291,38 +291,40 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // V1 推拿 60 rangeBonusIncome = RetailConstants.V1_V1; // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V1_V1); + totalBonus = RetailConstants.V1_V1; } else if (EGrade.YOU_KE.getValue() == targetGradeValue) { // V2 推拿 80,或者减去之前累计 rangeBonusIncome = RetailConstants.V2_V1.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V2_V1.subtract(totalBonus)); + totalBonus = RetailConstants.V2_V1; } else if (EGrade.MAKER.getValue() == targetGradeValue) { // V3 推拿 100,或者减去之前累计 rangeBonusIncome = RetailConstants.V3_V1.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V3_V1.subtract(totalBonus)); + totalBonus = RetailConstants.V3_V1; } else if (EGrade.VIP.getValue() == targetGradeValue) { // V4 推拿 200,或者减去之前累计 rangeBonusIncome = RetailConstants.V4_V1.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V4_V1.subtract(totalBonus)); + totalBonus = RetailConstants.V4_V1; } else if (EGrade.S_VIP.getValue() == targetGradeValue) { // V5 推拿 208,或者减去之前累计 rangeBonusIncome = RetailConstants.V5_V1.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V5_V1.subtract(totalBonus)); + totalBonus = RetailConstants.V5_V1; } else if (EGrade.BRANCH_COMPANY.getValue() == targetGradeValue) { // V6 推拿 220 ,或者减去之前累计 rangeBonusIncome = RetailConstants.V6_V1.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V6_V1.subtract(totalBonus)); + totalBonus = RetailConstants.V6_V1; } else if (EGrade.COMPANY.getValue() == targetGradeValue) { // V7 推拿 240,或者减去之前累计 rangeBonusIncome = RetailConstants.V7_V1.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V7_V1.subtract(totalBonus)); + totalBonus = RetailConstants.V7_V1; } + // 前一级会员等级 + beforeGradeValue = targetGradeValue; } } else if (EGrade.YOU_KE.getValue() == orderGradeValue) { // 订单等级是VIP @@ -332,38 +334,40 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // V1 推拿 300 rangeBonusIncome = RetailConstants.V1_V2; // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V1_V2); + totalBonus = RetailConstants.V1_V2; } else if (EGrade.YOU_KE.getValue() == targetGradeValue) { // V2 推拿 400,或者减去之前累计 rangeBonusIncome = RetailConstants.V2_V2.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V2_V2.subtract(totalBonus)); + totalBonus = RetailConstants.V2_V2; } else if (EGrade.MAKER.getValue() == targetGradeValue) { // V3 推拿 500,或者减去之前累计 rangeBonusIncome = RetailConstants.V3_V2.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V3_V2.subtract(totalBonus)); + totalBonus = RetailConstants.V3_V2; } else if (EGrade.VIP.getValue() == targetGradeValue) { // V4 推拿 1000,或者减去之前累计 rangeBonusIncome = RetailConstants.V4_V2.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V4_V2.subtract(totalBonus)); + totalBonus = RetailConstants.V4_V2; } else if (EGrade.S_VIP.getValue() == targetGradeValue) { // V5 推拿 1040,或者减去之前累计 rangeBonusIncome = RetailConstants.V5_V2.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V5_V2.subtract(totalBonus)); + totalBonus = RetailConstants.V5_V2; } else if (EGrade.BRANCH_COMPANY.getValue() == targetGradeValue) { // V6 推拿 1100,或者减去之前累计 rangeBonusIncome = RetailConstants.V6_V2.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V6_V2.subtract(totalBonus)); + totalBonus = RetailConstants.V6_V2; } else if (EGrade.COMPANY.getValue() == targetGradeValue) { // V7 推拿 1200,或者减去之前累计 rangeBonusIncome = RetailConstants.V7_V2.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V7_V2.subtract(totalBonus)); + totalBonus = RetailConstants.V7_V2; } + // 前一级会员等级 + beforeGradeValue = targetGradeValue; } } else if (EGrade.MAKER.getValue() == orderGradeValue) { // 订单是合伙人 @@ -373,38 +377,40 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // V1 推拿 600 rangeBonusIncome = RetailConstants.V1_V3; // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V1_V3); + totalBonus = RetailConstants.V1_V3; } else if (EGrade.YOU_KE.getValue() == targetGradeValue) { // V2 推拿 800,或者减去之前累计 rangeBonusIncome = RetailConstants.V2_V3.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V2_V3.subtract(totalBonus)); + totalBonus = RetailConstants.V2_V3; } else if (EGrade.MAKER.getValue() == targetGradeValue) { // V3 推拿 1000,或者减去之前累计 rangeBonusIncome = RetailConstants.V3_V3_1.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V3_V3_1.subtract(totalBonus)); + totalBonus = RetailConstants.V3_V3_1; } else if (EGrade.VIP.getValue() == targetGradeValue) { // V4 推拿 2000,或者减去之前累计 rangeBonusIncome = RetailConstants.V4_V3.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V4_V3.subtract(totalBonus)); + totalBonus = RetailConstants.V4_V3; } else if (EGrade.S_VIP.getValue() == targetGradeValue) { // V5 推拿 2080,或者减去之前累计 rangeBonusIncome = RetailConstants.V5_V3.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V5_V3.subtract(totalBonus)); + totalBonus = RetailConstants.V5_V3; } else if (EGrade.BRANCH_COMPANY.getValue() == targetGradeValue) { // V6 推拿 2200,或者减去之前累计 rangeBonusIncome = RetailConstants.V6_V3.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V6_V3.subtract(totalBonus)); + totalBonus = RetailConstants.V6_V3; } else if (EGrade.COMPANY.getValue() == targetGradeValue) { // V7 推拿 2400,或者减去之前累计 rangeBonusIncome = RetailConstants.V7_V3.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V7_V3.subtract(totalBonus)); + totalBonus = RetailConstants.V7_V3; } + // 前一级会员等级 + beforeGradeValue = targetGradeValue; } else if (EGrade.MAKER.getValue() == beforeGradeValue && EGrade.MAKER.getValue() == targetGradeValue) { // 之前和现在都是合伙人,处理平级 @@ -412,56 +418,58 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // V3第一平级 推拿 1200,或者减去之前累计 rangeBonusIncome = RetailConstants.V3_V3_2.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V3_V3_2.subtract(totalBonus)); + totalBonus = RetailConstants.V3_V3_2; v3Count++; } else if (v3Count == 2) { // V3第二平级 推拿 1300,或者减去之前累计 rangeBonusIncome = RetailConstants.V3_V3_3.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V3_V3_3.subtract(totalBonus)); + totalBonus = RetailConstants.V3_V3_3; v3Count++; } } } else if (EGrade.VIP.getValue() == orderGradeValue) { - // 订单是合伙人 + // 订单是博羚店主 if (targetGradeValue > beforeGradeValue) { // 当前等级大于之前等级 if (EGrade.HAI_FAN.getValue() == targetGradeValue) { // V1 推拿 1200 rangeBonusIncome = RetailConstants.V1_V4; // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V1_V4); + totalBonus = RetailConstants.V1_V4; } else if (EGrade.YOU_KE.getValue() == targetGradeValue) { // V2 推拿 1600,或者减去之前累计 rangeBonusIncome = RetailConstants.V2_V4.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V2_V4.subtract(totalBonus)); + totalBonus = RetailConstants.V2_V4; } else if (EGrade.MAKER.getValue() == targetGradeValue) { // V3 推拿 2000,或者减去之前累计 rangeBonusIncome = RetailConstants.V3_V4_1.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V3_V4_1.subtract(totalBonus)); + totalBonus = RetailConstants.V3_V4_1; } else if (EGrade.VIP.getValue() == targetGradeValue) { // V4 推拿 4000,或者减去之前累计 rangeBonusIncome = RetailConstants.V4_V4.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V4_V4.subtract(totalBonus)); + totalBonus = RetailConstants.V4_V4; } else if (EGrade.S_VIP.getValue() == targetGradeValue) { // V5 推拿 4160,或者减去之前累计 rangeBonusIncome = RetailConstants.V5_V4.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V5_V4.subtract(totalBonus)); + totalBonus = RetailConstants.V5_V4; } else if (EGrade.BRANCH_COMPANY.getValue() == targetGradeValue) { // V6 推拿 4400,或者减去之前累计 rangeBonusIncome = RetailConstants.V6_V4.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V6_V4.subtract(totalBonus)); + totalBonus = RetailConstants.V6_V4; } else if (EGrade.COMPANY.getValue() == targetGradeValue) { // V7 推拿 4800,或者减去之前累计 rangeBonusIncome = RetailConstants.V7_V4.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V7_V4.subtract(totalBonus)); + totalBonus = RetailConstants.V7_V4; } + // 前一级会员等级 + beforeGradeValue = targetGradeValue; } else if (EGrade.MAKER.getValue() == beforeGradeValue && EGrade.MAKER.getValue() == targetGradeValue) { // 之前和现在都是合伙人,处理平级 @@ -469,13 +477,13 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // V3第一平级 推拿 2400,或者减去之前累计 rangeBonusIncome = RetailConstants.V3_V4_2.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V3_V4_2.subtract(totalBonus)); + totalBonus = RetailConstants.V3_V4_2; v3Count++; } else if (v3Count == 2) { // V3第二平级 推拿 2600,或者减去之前累计 rangeBonusIncome = RetailConstants.V3_V4_3.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V3_V4_3.subtract(totalBonus)); + totalBonus = RetailConstants.V3_V4_3; v3Count++; } } @@ -487,27 +495,27 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 博羚店主拿 50000 rangeBonusIncome = RetailConstants.V4_V6.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V4_V6.subtract(totalBonus)); + totalBonus = RetailConstants.V4_V6; } else if (EGrade.S_VIP.getValue() == targetGradeValue) { // 高级店主拿 52000,或者减去之前累计 rangeBonusIncome = RetailConstants.V5_V6.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V5_V6.subtract(totalBonus)); + totalBonus = RetailConstants.V5_V6; } else if (EGrade.BRANCH_COMPANY.getValue() == targetGradeValue) { // 分公司拿 55000,或者减去之前累计 rangeBonusIncome = RetailConstants.V6_V6.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V6_V6.subtract(totalBonus)); + totalBonus = RetailConstants.V6_V6; } else if (EGrade.COMPANY.getValue() == targetGradeValue) { // 总公司拿 60000,或者减去之前累计 rangeBonusIncome = RetailConstants.V7_V6.subtract(totalBonus); // 前面累计的奖金 - totalBonus = totalBonus.add(RetailConstants.V7_V6.subtract(totalBonus)); + totalBonus = RetailConstants.V7_V6; } + // 前一级会员等级 + beforeGradeValue = targetGradeValue; } } - // 前一级会员等级 - beforeGradeValue = targetGradeValue; if (rangeBonusIncome.compareTo(BigDecimal.ZERO) > 0) { // 处理直推级差收益 @@ -623,6 +631,8 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 前面累计的奖金 totalBonus = totalBonus.add(RetailConstants.REPURCHASE_V7.multiply(boxNum).subtract(totalBonus)); } + // 前一级会员等级 + beforeGradeValue = targetGradeValue; } else if (EGrade.MAKER.getValue() == beforeGradeValue && EGrade.MAKER.getValue() == targetGradeValue) { // 之前和现在都是合伙人,处理平级 @@ -641,9 +651,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } } - // 前一级会员等级 - beforeGradeValue = targetGradeValue; - if (rangeBonusIncome.compareTo(BigDecimal.ZERO) > 0) { // 处理复购级差收益 // 会员奖金