From 8b7c13464c8956b5204b656cfbfcb996c7a03283 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Sat, 19 Apr 2025 16:17:57 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E8=B0=83=E6=95=B4=E5=A5=96=E9=87=91?= =?UTF-8?q?=E6=9D=A5=E6=BA=90=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/BonusSettleFirstPurchaseHandle.java | 21 ++++++++++++------- .../service/impl/BonusSettleServiceImpl.java | 4 +++- .../impl/CuMemberBonusServiceImpl.java | 14 ++++++------- .../member/bonus/CuMemberBonusCoachMapper.xml | 6 +++++- 4 files changed, 27 insertions(+), 18 deletions(-) diff --git a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleFirstPurchaseHandle.java b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleFirstPurchaseHandle.java index 4213c2e8..03ea5762 100644 --- a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleFirstPurchaseHandle.java +++ b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleFirstPurchaseHandle.java @@ -762,12 +762,12 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle { } if (firstBool) { if (validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.COACHING_INCOME.getValue())) { - // 校验当前国家是否有该奖项 + // 校验当前国家是否有该奖项(首购辅导奖) continue; } } else { - if (validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.COACHING_INCOME.getValue())) { - // 校验当前国家是否有该奖项 + if (validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.REPURCHASE_COACHING_INCOME.getValue())) { + // 校验当前国家是否有该奖项(复购辅导奖) continue; } } @@ -1310,7 +1310,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle { /** * 处理拓展延缓发放 */ - public void handleDelayExpand(BonusRecordDetailVO recordDetailVO, Map cuMemberBonusMap, BonusConfigDTO bonusConfigDTO, + public List handleDelayExpand(BonusRecordDetailVO recordDetailVO, Map cuMemberBonusMap, BonusConfigDTO bonusConfigDTO, Map cuMemberSettleExtMap, Integer period, Integer yesterdayPeriod, String currentSettleTableName, Map gradeMap) { // 量奖(拓展收益)延缓发放主表量奖(拓展收益)延缓发放主表 @@ -1320,6 +1320,8 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle { // 已经追加拓展延缓明细的会员会员列表 Set pkMemberSet = new HashSet<>(); + // 新添加的扩展收益 + List cuMemberBonusExpandList = new ArrayList<>(); if (null == recordDetailVO.getCuMemberBonusExpandList()) { recordDetailVO.setCuMemberBonusExpandList(new ArrayList<>()); } @@ -1395,7 +1397,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle { // 处理实发小计、实发收益总计 setFirstPurchaseTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusExpand); // TODO new 追加的一条延缓收益生成的拓展收益明细 - recordDetailVO.getCuMemberBonusExpandList().add(cuMemberBonusExpand); + cuMemberBonusExpandList.add(cuMemberBonusExpand); // 封装延缓发放减少明细 CuMemberBonusDelayDetail cuMemberBonusDelayGrantDetail = CuMemberBonusDelayDetail.builder() @@ -1435,11 +1437,14 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle { } // 处理当天没有奖金的延缓发放 - this.handleNotGrantDelay(recordDetailVO, cuMemberBonusMap, bonusConfigDTO, cuMemberSettleExtMap, period, yesterdayPeriod, currentSettleTableName, + this.handleNotGrantDelay(cuMemberBonusExpandList, cuMemberBonusMap, bonusConfigDTO, cuMemberSettleExtMap, period, yesterdayPeriod, currentSettleTableName, gradeMap, pkMemberSet, cuMemberBonusDelayList, cuMemberBonusDelayDetailList); recordDetailVO.setCuMemberBonusDelayList(cuMemberBonusDelayList); recordDetailVO.setCuMemberBonusDelayDetailList(cuMemberBonusDelayDetailList); + recordDetailVO.getCuMemberBonusExpandList().addAll(cuMemberBonusExpandList); + + return cuMemberBonusExpandList; } /** @@ -1475,7 +1480,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle { /** * 处理当天没有奖金的延缓发放 */ - private void handleNotGrantDelay(BonusRecordDetailVO recordDetailVO, Map cuMemberBonusMap, BonusConfigDTO bonusConfigDTO, + private void handleNotGrantDelay(List cuMemberBonusExpandList, Map cuMemberBonusMap, BonusConfigDTO bonusConfigDTO, Map cuMemberSettleExtMap, Integer period, Integer yesterdayPeriod, String currentSettleTableName, Map gradeMap, Set pkMemberSet, List cuMemberBonusDelayList, List cuMemberBonusDelayDetailList) { @@ -1538,7 +1543,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle { // 处理实发小计、实发收益总计 setFirstPurchaseTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusExpand); // TODO new 追加的一条延缓收益生成的拓展收益明细 - recordDetailVO.getCuMemberBonusExpandList().add(cuMemberBonusExpand); + cuMemberBonusExpandList.add(cuMemberBonusExpand); // 封装延缓发放减少明细 CuMemberBonusDelayDetail cuMemberBonusDelayGrantDetail = CuMemberBonusDelayDetail.builder() diff --git a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java index a021dcdb..0a97671b 100644 --- a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java +++ b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java @@ -1050,7 +1050,9 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // 判断是否有量奖,有量奖有辅导奖 List cuMemberBonusCoachList = bonusSettleFirstPurchaseHandle.calculateCoachBonus(cuMemberSettleExtMap, settleTableName, settleDate, bonusConfigDTO, firPurchaseOrderList, cuMemberBonusExpandList, period, cuMemberBonusMap, cuAwardsControlMap, riskControlMap, awardsList, true); - bonusRecordDetailVO.setCuMemberBonusCoachList(cuMemberBonusCoachList); + if (CollectionUtil.isNotEmpty(bonusRecordDetailVO.getCuMemberBonusCoachList())) { + bonusRecordDetailVO.getCuMemberBonusCoachList().addAll(cuMemberBonusCoachList); + } //*********************************计算服务奖************************/ List cuMemberBonusDetailList = bonusSettleFirstPurchaseHandle.calculateServiceBonus(cuMemberSettleExtMap, settleDate, settleTableName, bonusConfigDTO, firPurchaseOrderList, period, cuMemberBonusMap); diff --git a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusServiceImpl.java b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusServiceImpl.java index acd6892c..291ec1d7 100644 --- a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusServiceImpl.java +++ b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusServiceImpl.java @@ -497,8 +497,8 @@ public class CuMemberBonusServiceImpl extends ServiceImpl cuMemberBonusPushList = cuMemberBonusPushMapper.queryMemberBonusPushByBonusItemsFoServer(bonusParam); dataTable = getDataTable(cuMemberBonusPushList); @@ -506,8 +506,8 @@ public class CuMemberBonusServiceImpl extends ServiceImpl cuMemberBonusExpandList = cuMemberBonusExpandMapper.queryMemberBonusExpandByBonusItemsForServer(bonusParam); dataTable = getDataTable(cuMemberBonusExpandList); @@ -515,9 +515,9 @@ public class CuMemberBonusServiceImpl extends ServiceImpl cuMemberBonusCoachList = cuMemberBonusCoachMapper.queryMemberBonusCoachByBonusItemsForServer(bonusParam); dataTable = getDataTable(cuMemberBonusCoachList); cuMemberBonusCoachList.forEach(cuMemberBonusCoach -> { @@ -526,7 +526,6 @@ public class CuMemberBonusServiceImpl extends ServiceImpl cuMemberBonusRangeList = cuMemberBonusRangeMapper.queryMemberBonusRangeByBonusItemsForServer(bonusParam); dataTable = getDataTable(cuMemberBonusRangeList); cuMemberBonusRangeList.forEach(cuMemberBonusRange -> { @@ -535,7 +534,6 @@ public class CuMemberBonusServiceImpl extends ServiceImpl cuMemberBonusDetailList = cuMemberBonusDetailMapper.queryMemberBonusDetailByBonusItemsForServer(bonusParam); dataTable = getDataTable(cuMemberBonusDetailList); cuMemberBonusDetailList.forEach(cuMemberBonusDetail -> { diff --git a/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/bonus/CuMemberBonusCoachMapper.xml b/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/bonus/CuMemberBonusCoachMapper.xml index fb05d4c0..df926b65 100644 --- a/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/bonus/CuMemberBonusCoachMapper.xml +++ b/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/bonus/CuMemberBonusCoachMapper.xml @@ -166,7 +166,8 @@ so.order_achieve,b.pk_country,b.pk_bonus_items,b.pretax_income,b.income_tax,b.real_income,b.income_status, tar.member_code,tar.member_name,bg.pk_transaction pk_settle_grade,ba.pk_transaction pk_awards,bv.vertex_name,ct.team_name, b.remark,b.income_ratio,b.income_dial_ratio,b.order_dial_ratio,b.current_generation,b.coach_generation, - b.coach_no_capping,b.coach_capping,b.coach_normal_half,b.coach_normal_real,bct.short_name settle_country from sa_order so + b.coach_no_capping,b.coach_capping,b.coach_normal_half,b.coach_normal_real,bct.short_name settle_country + from sa_order so inner join ( select cb.pk_member,cc.pk_order,cb.period,cb.pk_country,cc.pk_bonus_items,cc.income_status,cc.CAL_ACHIEVE,cc.pretax_income,cc.income_tax,cc.real_income, @@ -178,6 +179,9 @@ and cb.period =#{bonusParam.period} + + and cc.pk_bonus_items = #{bonusParam.pkBonusItems} + and exists( select 1 from (