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(); }