From 25830152826193187a4cc0d85a3c6dfee26eb865 Mon Sep 17 00:00:00 2001
From: cabbage <281119120@qq.com>
Date: Fri, 10 Oct 2025 17:08:39 +0800
Subject: [PATCH] =?UTF-8?q?##=20=E5=A5=96=E9=87=91=E8=A1=A8=E6=B7=BB?=
=?UTF-8?q?=E5=8A=A0=E5=86=97=E4=BD=99=E5=AD=97=E6=AE=B5=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../bonus/service/impl/BonusSettleHandle.java | 5 ++++
.../service/impl/BonusSettleRangeHandle.java | 25 ++++++++++++++++
.../bonus/bonus/CuMemberBonusMapper.xml | 18 ++++++++---
.../hzs/common/core/enums/EBonusItems.java | 2 +-
.../domain/member/bonus/CuMemberBonus.java | 30 +++++++++++++++++++
.../com/hzs/third/job/BonusSettleJob.java | 2 +-
6 files changed, 76 insertions(+), 6 deletions(-)
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleHandle.java
index d298cd9e..8fc7539b 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleHandle.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleHandle.java
@@ -172,6 +172,11 @@ public abstract class BonusSettleHandle {
.retailRangeIncome(BigDecimal.ZERO)
.retailSameLevelIncome(BigDecimal.ZERO)
.storeIncome(BigDecimal.ZERO)
+ .rangeIncome41(BigDecimal.ZERO)
+ .rangeIncome43(BigDecimal.ZERO)
+ .rangeIncome47(BigDecimal.ZERO)
+ .sameLevelIncome41(BigDecimal.ZERO)
+ .sameLevelIncome43(BigDecimal.ZERO)
.build();
cuMemberBonus.setPkCreator(MagicNumberConstants.PK_ADMIN);
cuMemberBonus.setPkCountry(pkCountry);
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 9d911b55..0b474e6e 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
@@ -1198,6 +1198,20 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusRange, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate());
if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusRange.getIncomeStatus()) {
cuMemberBonus.setRetailRangeIncome(ComputeUtil.computeAdd(cuMemberBonus.getRetailRangeIncome(), cuMemberBonusRange.getPretaxIncome()));
+
+ // 级差冗余计算波比
+ if (saOrderExt.getOrderType().equals(EOrderType.RETAIL_REGISTER.getValue())
+ || saOrderExt.getOrderType().equals(EOrderType.RETAIL_UPGRADE.getValue())) {
+ // 精品、甄选
+ cuMemberBonus.setRangeIncome41(ComputeUtil.computeAdd(cuMemberBonus.getRangeIncome41(), cuMemberBonusRange.getPretaxIncome()));
+ } else if (saOrderExt.getOrderType().equals(EOrderType.RETAIL_REPURCHASE.getValue())) {
+ // 商城
+ cuMemberBonus.setRangeIncome43(ComputeUtil.computeAdd(cuMemberBonus.getRangeIncome43(), cuMemberBonusRange.getPretaxIncome()));
+ } else if (saOrderExt.getOrderType().equals(EOrderType.DISCOUNT_ORDER.getValue())) {
+ // 五折
+ cuMemberBonus.setRangeIncome47(ComputeUtil.computeAdd(cuMemberBonus.getRangeIncome47(), cuMemberBonusRange.getPretaxIncome()));
+ }
+
setRetailTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusRange);
}
cuMemberBonusRangeList.add(cuMemberBonusRange);
@@ -1216,6 +1230,17 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, sameLevelMemberBonusRange, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate());
if (EBonusIncomeStatus.NORMAL.getValue() == sameLevelMemberBonusRange.getIncomeStatus()) {
cuMemberBonus.setRetailSameLevelIncome(ComputeUtil.computeAdd(cuMemberBonus.getRetailSameLevelIncome(), sameLevelMemberBonusRange.getPretaxIncome()));
+
+ // 平级冗余计算波比
+ if (saOrderExt.getOrderType().equals(EOrderType.RETAIL_REGISTER.getValue())
+ || saOrderExt.getOrderType().equals(EOrderType.RETAIL_UPGRADE.getValue())) {
+ // 精品、甄选
+ cuMemberBonus.setSameLevelIncome41(ComputeUtil.computeAdd(cuMemberBonus.getSameLevelIncome41(), sameLevelMemberBonusRange.getPretaxIncome()));
+ } else if (saOrderExt.getOrderType().equals(EOrderType.RETAIL_REPURCHASE.getValue())) {
+ // 商城
+ cuMemberBonus.setSameLevelIncome43(ComputeUtil.computeAdd(cuMemberBonus.getSameLevelIncome43(), sameLevelMemberBonusRange.getPretaxIncome()));
+ }
+
setRetailTotal(bdBonusDeduct, cuMemberBonus, sameLevelMemberBonusRange);
}
cuMemberBonusRangeList.add(sameLevelMemberBonusRange);
diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml
index 9230c1a4..3b0bd7fb 100644
--- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml
+++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusMapper.xml
@@ -105,7 +105,9 @@
store_income, real_income_total, pk_country, pk_creator, grant_status, income_status,
retail_range_income, retail_same_level_income, retail_area_income,
retail_benefit_range_income, retail_month_repurchase_income,
- retail_benefit_avg_income, retail_benefit_income, retail_real_subtotal
+ retail_benefit_avg_income, retail_benefit_income, retail_real_subtotal,
+ range_income_41, range_income_43, range_income_47,
+ same_level_income_41, same_level_income_43
from (
select #{item.pkId} pk_id, #{item.pkMember} pk_member, #{item.period} period, #{item.pkRate,jdbcType=INTEGER} pk_rate,
@@ -121,7 +123,9 @@
#{item.retailRangeIncome} retail_range_income, #{item.retailSameLevelIncome} retail_same_level_income, #{item.retailAreaIncome} retail_area_income,
#{item.retailBenefitRangeIncome} retail_benefit_range_income, #{item.retailMonthRepurchaseIncome} retail_month_repurchase_income,
#{item.retailBenefitAvgIncome} retail_benefit_avg_income, #{item.retailBenefitIncome} retail_benefit_income,
- #{item.retailRealSubtotal} retail_real_subtotal
+ #{item.retailRealSubtotal} retail_real_subtotal,
+ #{item.rangeIncome41} range_income_41, #{item.rangeIncome43} range_income_43, #{item.rangeIncome47} range_income_47,
+ #{item.sameLevelIncome41} same_level_income_41, #{item.sameLevelIncome43} same_level_income_43
from dual
) )b
on (cb.pk_member = b.pk_member and cb.period = b.period)
@@ -136,7 +140,10 @@
pk_country, pk_creator, grant_status, income_status,
retail_range_income, retail_same_level_income,
retail_area_income, retail_benefit_range_income, retail_month_repurchase_income,
- retail_benefit_avg_income, retail_benefit_income, retail_real_subtotal)
+ retail_benefit_avg_income, retail_benefit_income, retail_real_subtotal,
+ range_income_41, range_income_43, range_income_47,
+ same_level_income_41, same_level_income_43
+ )
values (
b.pk_id, b.pk_member, b.period, b.pk_rate, b.direct_income, b.global_points,
b.expand_income,b.expand_no_capping,
@@ -147,7 +154,10 @@
b.pk_country, b.pk_creator, b.grant_status, b.income_status,
b.retail_range_income, b.retail_same_level_income,
b.retail_area_income, b.retail_benefit_range_income, b.retail_month_repurchase_income,
- b.retail_benefit_avg_income, b.retail_benefit_income, b.retail_real_subtotal)
+ b.retail_benefit_avg_income, b.retail_benefit_income, b.retail_real_subtotal
+ b.range_income_41, b.range_income_43, b.range_income_47,
+ b.same_level_income_41, b.same_level_income_43
+ )
diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBonusItems.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBonusItems.java
index 5a86e784..c60ef2c2 100644
--- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBonusItems.java
+++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBonusItems.java
@@ -27,7 +27,7 @@ public enum EBonusItems {
STAGE_INCOME(21, "阶段收益", 0),
/**
- * 领导奖收益 -- 精品专区、商城专区
+ * 领导奖收益 -- 精品专区、商城专区、五折专区
*/
RANGE_INCOME(22, "领导奖收益", 0),
/**
diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonus.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonus.java
index 5eccbd88..0b354240 100644
--- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonus.java
+++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonus.java
@@ -288,6 +288,36 @@ public class CuMemberBonus extends BaseEntity {
*/
@TableField("GRANT_STATUS")
private Integer grantStatus;
+
+
+ /**
+ * 精品专区领导奖级差(统计波比使用)
+ */
+ @TableField("RANGE_INCOME_41")
+ private BigDecimal rangeIncome41;
+ /**
+ * 商城专区领导奖级差(统计波比使用)
+ */
+ @TableField("RANGE_INCOME_43")
+ private BigDecimal rangeIncome43;
+ /**
+ * 五折专区领导奖级差(统计波比使用)
+ */
+ @TableField("RANGE_INCOME_47")
+ private BigDecimal rangeIncome47;
+
+ /**
+ * 精品专区平级(统计波比使用)
+ */
+ @TableField("SAME_LEVEL_INCOME_41")
+ private BigDecimal sameLevelIncome41;
+ /**
+ * 商城专区平级(统计波比使用)
+ */
+ @TableField("SAME_LEVEL_INCOME_43")
+ private BigDecimal sameLevelIncome43;
+
+
/**
* 隶属团队
*/
diff --git a/bd-third/src/main/java/com/hzs/third/job/BonusSettleJob.java b/bd-third/src/main/java/com/hzs/third/job/BonusSettleJob.java
index ef48aab0..d03d6242 100644
--- a/bd-third/src/main/java/com/hzs/third/job/BonusSettleJob.java
+++ b/bd-third/src/main/java/com/hzs/third/job/BonusSettleJob.java
@@ -136,7 +136,7 @@ public class BonusSettleJob {
*/
@XxlJob("autoSecondBonus")
public void autoSettleMemberBonusBySecond() {
- log.info("开始进行会员业绩计算");
+ log.info("开始进行补偿秒结处理");
iMemberSettleBonusApi.calculateCuMemberRetailRangeBonusBySaOrder();
}