From c6f41616558798d7c424aba44bcad9b892bf8543 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Sat, 12 Apr 2025 13:39:22 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E5=A5=96=E8=A1=94=E5=A4=84=E7=90=86?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E6=97=A7=E9=80=BB=E8=BE=91=E7=B4=AF=E8=AE=A1?= =?UTF-8?q?=E5=A4=84=E7=90=86=E4=B8=8D=E8=B5=B0=E6=9C=88=E5=A5=96=E8=A1=94?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/BonusSettleServiceImpl.java | 13 ++--- .../impl/CuMemberAwardsServiceImpl.java | 25 +++++----- .../member/achieve/CuMemberAchieveMapper.xml | 48 +++++++++++-------- .../member/achieve/CuMemberTreeMapper.xml | 3 +- .../mapper/member/base/CuMemberMapper.xml | 3 +- 5 files changed, 53 insertions(+), 39 deletions(-) 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 2e12b56b..5cb41e99 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 @@ -455,12 +455,13 @@ public class BonusSettleServiceImpl implements IBonusSettleService { calculateRepurchaseCoupons(DateUtils.parseDate(settleDate), firPurchaseOrderList, period, bonusConfigDTO, cuMemberBonusMap, recordDetailVO, cuMemberSettleExtMap); - // 计算乐享订单奖金,按照订单进行日结 - // 增加判断是否相同月,相同月的话昨天的考核结果更新到今天 - Boolean isSameMonth = DateUtils.getMonth(settleDate).equals(DateUtils.getMonth(yesterday)); - // 乐享奖金 - bonusSettleRangeHandle.calculateLeEnjoyBonusBySaOrder(cuMemberBonusMap, bonusConfigDTO, recordDetailVO, - period, yesterdayPeriod, isSameMonth); + // TODO new 奖衔走累计一次性的,此处不需要处理,防止出现奖衔升级记录不对 +// // 计算乐享订单奖金,按照订单进行日结 +// // 增加判断是否相同月,相同月的话昨天的考核结果更新到今天 +// Boolean isSameMonth = DateUtils.getMonth(settleDate).equals(DateUtils.getMonth(yesterday)); +// // 乐享奖金 +// bonusSettleRangeHandle.calculateLeEnjoyBonusBySaOrder(cuMemberBonusMap, bonusConfigDTO, recordDetailVO, +// period, yesterdayPeriod, isSameMonth); // // 计算新零售团队奖金 // bonusSettleRangeHandle.calculateRetailBonusBySaOrder(settleDate, cuMemberBonusMap, bonusConfigDTO, recordDetailVO, // period, yesterdayPeriod, retailOrderList, isSameMonth); diff --git a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAwardsServiceImpl.java b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAwardsServiceImpl.java index 2c9a8835..ebef0f92 100644 --- a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAwardsServiceImpl.java +++ b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAwardsServiceImpl.java @@ -53,7 +53,7 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl 0) { // 记录要入库的,为了验证是否首次晋升 enoughAwardsMemberList.forEach(enoughAwardsMember -> getCuMemberAwards(originalCuMemberSettleMap, period, cuMemberAwardsList, enoughAwardsMember)); - // 验证满足的这群人是否是首次晋升,查询出值的不是首次晋升 - List originalCuMemberAwardsList = baseMapper.queryLastCuMemberAwards(cuMemberAwardsList); - // 是首次晋升的数据 - Map cuMemberAwardsMap = new HashMap<>(ComputeUtil.mapInitCapacity(originalCuMemberAwardsList.size())); - originalCuMemberAwardsList.forEach(cuMemberAwards -> cuMemberAwardsMap.put(cuMemberAwards.getPkMember(), cuMemberAwards)); + + // TODO new 现在没有复购考核,不需要记录是不是首次,全部按复购免考处理就可以 +// // 验证满足的这群人是否是首次晋升,查询出值的不是首次晋升 +// List originalCuMemberAwardsList = baseMapper.queryLastCuMemberAwards(cuMemberAwardsList); +// // 是首次晋升的数据 +// Map cuMemberAwardsMap = new HashMap<>(ComputeUtil.mapInitCapacity(originalCuMemberAwardsList.size())); +// originalCuMemberAwardsList.forEach(cuMemberAwards -> cuMemberAwardsMap.put(cuMemberAwards.getPkMember(), cuMemberAwards)); cuMemberAwardsList.forEach(cuMemberAwards -> { - CuMemberAwards memberAwards = cuMemberAwardsMap.get(cuMemberAwards.getPkMember()); - // 没有奖衔升级记录或者奖衔升级记录是会员的 算首次晋升 - if (memberAwards == null) { - cuMemberAwards.setPurchaseStatus(EYesNo.YES.getIntValue()); - } +// CuMemberAwards memberAwards = cuMemberAwardsMap.get(cuMemberAwards.getPkMember()); +// // 没有奖衔升级记录或者奖衔升级记录是会员的 算首次晋升 +// if (memberAwards == null) { +// cuMemberAwards.setPurchaseStatus(EYesNo.YES.getIntValue()); +// } + cuMemberAwards.setPurchaseStatus(EYesNo.YES.getIntValue()); }); // 插入记录 baseMapper.saveBatchCuMemberAwards(cuMemberAwardsList); diff --git a/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/achieve/CuMemberAchieveMapper.xml b/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/achieve/CuMemberAchieveMapper.xml index a5b76f62..85f118b7 100644 --- a/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/achieve/CuMemberAchieveMapper.xml +++ b/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/achieve/CuMemberAchieveMapper.xml @@ -158,15 +158,19 @@ merge into ${tableName} a using ( - select pk_member,max(a.pk_rate) pk_rate,sum(a_new_amount/bc.out_exchange_rate) a_new_amount,sum(a_new_pv) - a_new_pv, - sum(b_new_amount/bc.out_exchange_rate) b_new_amount,sum(b_new_pv) b_new_pv, - sum(rep_a_new_amount/bc.out_exchange_rate) rep_a_new_amount,sum(rep_b_new_amount/bc.out_exchange_rate) - rep_b_new_amount, - sum(rep_a_new_pv) rep_a_new_pv,sum(rep_b_new_pv) rep_b_new_pv,sum(a_new_real_amount/bc.out_exchange_rate) - a_new_real_amount, - sum(a_new_real_pv) a_new_real_pv,sum(b_new_real_amount/bc.out_exchange_rate) - b_new_real_amount,sum(b_new_real_pv) b_new_real_pv + select pk_member, max(a.pk_rate) pk_rate, + sum(a_new_amount/bc.out_exchange_rate) a_new_amount, + sum(a_new_pv) a_new_pv, + sum(b_new_amount/bc.out_exchange_rate) b_new_amount, + sum(b_new_pv) b_new_pv, + sum(rep_a_new_amount/bc.out_exchange_rate) rep_a_new_amount, + sum(rep_a_new_pv) rep_a_new_pv, + sum(rep_b_new_amount/bc.out_exchange_rate) rep_b_new_amount, + sum(rep_b_new_pv) rep_b_new_pv, + sum(a_new_real_amount/bc.out_exchange_rate) a_new_real_amount, + sum(a_new_real_pv) a_new_real_pv, + sum(b_new_real_amount/bc.out_exchange_rate) b_new_real_amount, + sum(b_new_real_pv) b_new_real_pv from ( select pk_place_parent pk_member,#{achieve.pkRate} pk_rate, @@ -183,7 +187,7 @@ (case when place_dept = 2 then #{achieve.newRealAmount} else 0 end) b_new_real_amount, (case when place_dept = 2 then #{achieve.newRealPv} else 0 end) b_new_real_pv from( - select pk_place_parent,place_dept from( + select pk_place_parent,place_dept from ( select * from ${tableName} start with pk_member = #{achieve.pkMember} connect by pk_member = prior pk_place_parent @@ -212,15 +216,19 @@ merge into ${tableName} a using ( - select pk_member,max(a.pk_rate) pk_rate,sum(a_new_amount/bc.out_exchange_rate) a_new_amount,sum(a_new_pv) - a_new_pv, - sum(b_new_amount/bc.out_exchange_rate) b_new_amount,sum(b_new_pv) b_new_pv, - sum(rep_a_new_amount/bc.out_exchange_rate) rep_a_new_amount,sum(rep_b_new_amount/bc.out_exchange_rate) - rep_b_new_amount, - sum(rep_a_new_pv) rep_a_new_pv,sum(rep_b_new_pv) rep_b_new_pv,sum(a_new_real_amount/bc.out_exchange_rate) - a_new_real_amount, - sum(a_new_real_pv) a_new_real_pv,sum(b_new_real_amount/bc.out_exchange_rate) - b_new_real_amount,sum(b_new_real_pv) b_new_real_pv + select pk_member,max(a.pk_rate) pk_rate, + sum(a_new_amount/bc.out_exchange_rate) a_new_amount, + sum(a_new_pv) a_new_pv, + sum(b_new_amount/bc.out_exchange_rate) b_new_amount, + sum(b_new_pv) b_new_pv, + sum(rep_a_new_amount/bc.out_exchange_rate) rep_a_new_amount, + sum(rep_b_new_amount/bc.out_exchange_rate) rep_b_new_amount, + sum(rep_a_new_pv) rep_a_new_pv, + sum(rep_b_new_pv) rep_b_new_pv, + sum(a_new_real_amount/bc.out_exchange_rate) a_new_real_amount, + sum(a_new_real_pv) a_new_real_pv, + sum(b_new_real_amount/bc.out_exchange_rate) b_new_real_amount, + sum(b_new_real_pv) b_new_real_pv from ( select pk_place_parent pk_member,#{achieve.pkRate} pk_rate, @@ -643,7 +651,7 @@ merge into ${tableName} a using (select #{period} period, a.* - from (select user_id pk_member, + from (select user_id pk_member, sum(CURR_DAY_MAIN_REG_AMOUNT) / 1 REGISTER_AMOUNT, sum(CURR_DAY_MAIN_REG_PV) / 1 REGISTER_PV, sum(CURR_DAY_MAIN_UP_AMOUNT) / 1 UPGRADE_AMOUNT, diff --git a/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/achieve/CuMemberTreeMapper.xml b/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/achieve/CuMemberTreeMapper.xml index 4d1cc33f..13b0ed59 100644 --- a/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/achieve/CuMemberTreeMapper.xml +++ b/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/achieve/CuMemberTreeMapper.xml @@ -897,9 +897,10 @@ b.pk_settle_country, b.is_real_name, b.is_bus_license, b.is_maker_space, b.pk_country) + merge into ${settleTableName} a - using (select pk_member, max(old_level) old_level + using (select pk_member, min(old_level) old_level from cu_member_awards where period = #{period} group by pk_member) b diff --git a/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/base/CuMemberMapper.xml b/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/base/CuMemberMapper.xml index 279daacd..39f1db85 100644 --- a/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/base/CuMemberMapper.xml +++ b/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/base/CuMemberMapper.xml @@ -151,9 +151,10 @@ order by pk_awards + merge into cu_member a - using (select pk_member, max(old_level) old_level + using (select pk_member, min(old_level) old_level from cu_member_awards where period = #{period} group by pk_member) b