From 413db854cb6fc44cf7a66912b2c6189ab3d5a616 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Thu, 25 Sep 2025 11:31:07 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E4=B8=89=E9=98=B6=E6=AE=B5=E5=A5=96?= =?UTF-8?q?=E9=87=91=E7=94=9F=E6=88=90=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/BonusSettleRangeHandle.java | 8 +- .../impl/CuMemberBonusStageServiceImpl.java | 86 ++++++++++++++++++- .../hzs/bonus/constant/BonusConstants.java | 3 + .../achieve/CuMemberRetailRangeMapper.xml | 14 ++- 4 files changed, 101 insertions(+), 10 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 b15967f9..6ceef0f0 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 @@ -366,9 +366,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // TODO 处理升三阶段点位 if (CollectionUtil.isNotEmpty(stageList)) { List stageMemberList = stageList.stream().map(CuMemberRetailDetail::getPkMember).collect(Collectors.toList()); - // 查询血缘会员明细数据(三段) + // 查询血缘会员明细数据(三阶段) iCuMemberRetailDetailService.listMemberRetailDetail(rangeDetailTableName, memberRangeExtMap, EBonusStage.THREE, stageMemberList); - // 二阶段收益 + // 三阶段收益 this.calculateStageIncomeTwoThree(cuMemberBonusStageList, cuMemberBonusMap, bonusConfigDTO, period, memberRangeExtMap, settleStartDate, rangeTableName, rangeDetailTableName, EBonusStage.THREE, stageList); } @@ -1028,7 +1028,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 订单会员 CuMemberRetailRangeExt sourceMember = memberRangeExtMap.get(memberRetailDetail.getPkMember()); if (null == sourceMember) { - log.error("阶段收益处理失败,{}会员不存在. pkMember: {}", eBonusStage.getLabel(), memberRetailDetail.getPkMember()); + log.error("阶段收益处理失败,{} 会员不存在. pkMember: {}", eBonusStage.getLabel(), memberRetailDetail.getPkMember()); return returnRetailDetailList; } @@ -1135,7 +1135,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { targetMember.getThreeDetailMap().put(threeRetailDetail.getChildNode(), threeRetailDetail); returnRetailDetailList.add(threeRetailDetail); } else if (EBonusStage.THREE.getValue() == bonusStageData.getStage()) { - // TODO 三阶段需要赠送点位 + // TODO 三阶段填充满,判断是否需要赠送点位 } } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusStageServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusStageServiceImpl.java index 89551eda..3b644c17 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusStageServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusStageServiceImpl.java @@ -339,12 +339,94 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl FIELD_LIST = Arrays.asList(POINT_11, POINT_12, POINT_21, POINT_22, POINT_23, POINT_24, POINT_31, POINT_32, POINT_33, POINT_34, POINT_35, POINT_36, POINT_37, POINT_38); + // 第三层字段 + public static final List THREE_FIELD_LIST = Arrays.asList(POINT_31, POINT_32, POINT_33, POINT_34, POINT_35, POINT_36, POINT_37, POINT_38); // 会员ID字段 public static final String POINT_MEMBER_FIELD_NAME = "pointMember"; diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml index f8dca51b..5d1ef93d 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml @@ -385,7 +385,10 @@ #{item.creationTime, jdbcType=TIMESTAMP} creation_time, #{item.pointFirst, jdbcType=NUMERIC} point_first, #{item.pointMemberFirst, jdbcType=NUMERIC} point_member_first, #{item.pointSecond, jdbcType=NUMERIC} point_second, #{item.pointMemberSecond, jdbcType=NUMERIC} point_member_second, - #{item.pointThird, jdbcType=NUMERIC} point_third, #{item.pointMemberThird, jdbcType=NUMERIC} point_member_third + #{item.pointThird, jdbcType=NUMERIC} point_third, #{item.pointMemberThird, jdbcType=NUMERIC} point_member_third, + #{item.thirdBonus1, jdbcType=NUMERIC} third_bonus_1, + #{item.thirdBonus2, jdbcType=NUMERIC} third_bonus_2, + #{item.thirdBonus3, jdbcType=NUMERIC} third_bonus_2 from dual ) b @@ -411,7 +414,8 @@ creation_time, point_first, point_member_first, point_second, point_member_second, - point_third, point_member_third) + point_third, point_member_third, + third_bonus_1, third_bonus_2, third_bonus_3) values (b.pk_member, b.child_node, b.pk_parent, b.stage, b.stage_status, b.stage_date, b.point_11, b.point_12, @@ -432,7 +436,8 @@ b.creation_time, b.point_first, b.point_member_first, b.point_second, b.point_member_second, - b.point_third, b.point_member_third) + b.point_third, b.point_member_third, + b.third_bonus_1, b.third_bonus_2, b.third_bonus_3) when matched then update set a.stage = b.stage, a.stage_status = b.stage_status, a.stage_date = b.stage_date, @@ -454,7 +459,8 @@ a.creation_time = b.creation_time, a.point_first = b.point_first, a.point_member_first = b.point_member_first, a.point_second = b.point_second, a.point_member_second = b.point_member_second, - a.point_third = b.point_third, a.point_member_third = b.point_member_third + a.point_third = b.point_third, a.point_member_third = b.point_member_third, + a.third_bonus_1 = b.third_bonus_1, a.third_bonus_2 = b.third_bonus_2, a.third_bonus_3 = b.third_bonus_3