From f9c40d43c1e5d65d145b4e14e29a2b4b2964cedc Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Fri, 4 Jul 2025 11:03:14 +0800 Subject: [PATCH 1/4] =?UTF-8?q?##=20=E6=B7=BB=E5=8A=A0=E6=96=B0=E9=9B=B6?= =?UTF-8?q?=E5=94=AE=E8=AE=A1=E7=AE=97=E7=9B=92=E6=95=B0=E5=95=86=E5=93=81?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hzs/common/core/constant/RetailConstants.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailConstants.java index bb1acc4f..6882a5e5 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailConstants.java @@ -24,12 +24,16 @@ public class RetailConstants { public static final List BOX_PRODUCT_LIST = Arrays.asList( // 注册 "SP02410001", "SP02410002", "SP02410003", "SP02410004", "SP02410005", "SP02410006", + "SP02410007", "SP02410008", "SP02410009", "SP02410010", "SP02410011", "SP02410012", // 升级 "SP02420001", "SP02420002", "SP02420003", "SP02420004", "SP02420005", "SP02420006", + "SP02420007", "SP02420008", "SP02420009", "SP02420010", "SP02420011", "SP02420012", // 复消 "SP02430001", "SP02430002", "SP02430003", "SP02430004", "SP02430005", "SP02430006", + "SP02430007", "SP02430008", "SP02430009", "SP02430010", "SP02430011", "SP02430012", // 重消 - "SP02440001", "SP02440002", "SP02440003", "SP02440005", "SP02440005", "SP02440006" + "SP02440001", "SP02440002", "SP02440003", "SP02440005", "SP02440005", "SP02440006", + "SP02440007", "SP02440008", "SP02440009", "SP02440010", "SP02440011", "SP02440012" ); /** @@ -38,12 +42,16 @@ public class RetailConstants { public static final List ALL_BOX_WARES_LIST = Arrays.asList( // 注册 "SP02410001", "SP02410002", "SP02410003", "SP02410004", "SP02410005", "SP02410006", + "SP02410007", "SP02410008", "SP02410009", "SP02410010", "SP02410011", "SP02410012", // 升级 "SP02420001", "SP02420002", "SP02420003", "SP02420004", "SP02420005", "SP02420006", + "SP02420007", "SP02420008", "SP02420009", "SP02420010", "SP02420011", "SP02420012", // 复消 "SP02430001", "SP02430002", "SP02430003", "SP02430004", "SP02430005", "SP02430006", + "SP02430007", "SP02430008", "SP02430009", "SP02430010", "SP02430011", "SP02430012", // 重消 - "SP02440001", "SP02440002", "SP02440003", "SP02440005", "SP02440005", "SP02440006" + "SP02440001", "SP02440002", "SP02440003", "SP02440005", "SP02440005", "SP02440006", + "SP02440007", "SP02440008", "SP02440009", "SP02440010", "SP02440011", "SP02440012" ); } From 6f928a4dbdef273cfa3d65d25da1b75882f2d013 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Fri, 4 Jul 2025 11:15:46 +0800 Subject: [PATCH 2/4] =?UTF-8?q?##=20=E6=92=A4=E5=8D=95=E7=A7=92=E7=BB=93?= =?UTF-8?q?=E7=9B=92=E6=95=B0=E3=80=81=E4=B8=9A=E7=BB=A9=E5=BA=94=E8=AF=A5?= =?UTF-8?q?=E6=89=A3=E5=87=8F=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/BonusSettleRangeHandle.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 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 69948be8..a91956c8 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 @@ -865,16 +865,16 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 累计盒数、业绩,不管激活不激活都处理,兼容不激活判断显示有问题 if (isSecond) { // 当天,秒结处理 - targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().add(boxNum)); - targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().add(orderAchieve)); + targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().subtract(boxNum)); + targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().subtract(orderAchieve)); } else { // 非当天,日结处理 - targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().add(boxNum)); - targetMemberRangeExt.setAllTeamBoxNum(targetMemberRangeExt.getAllTeamBoxNum().add(boxNum)); - targetMemberRangeExt.setAllTeamMonthBoxNum(targetMemberRangeExt.getAllTeamMonthBoxNum().add(boxNum)); - targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().add(orderAchieve)); - targetMemberRangeExt.setAllTeamConsumePv(targetMemberRangeExt.getAllTeamConsumePv().add(orderAchieve)); - targetMemberRangeExt.setAllTeamMonthPv(targetMemberRangeExt.getAllTeamMonthPv().add(orderAchieve)); + targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().subtract(boxNum)); + targetMemberRangeExt.setAllTeamBoxNum(targetMemberRangeExt.getAllTeamBoxNum().subtract(boxNum)); + targetMemberRangeExt.setAllTeamMonthBoxNum(targetMemberRangeExt.getAllTeamMonthBoxNum().subtract(boxNum)); + targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().subtract(orderAchieve)); + targetMemberRangeExt.setAllTeamConsumePv(targetMemberRangeExt.getAllTeamConsumePv().subtract(orderAchieve)); + targetMemberRangeExt.setAllTeamMonthPv(targetMemberRangeExt.getAllTeamMonthPv().subtract(orderAchieve)); } // 激活的账号才能累计业绩和盒数(有注册、升级订单) From 96d7e1d2135f768715b1a9a1641cdc53351a2fac Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Fri, 4 Jul 2025 14:53:10 +0800 Subject: [PATCH 3/4] =?UTF-8?q?##=20=E5=88=86=E7=BA=A2=E5=A5=96=E8=A1=94?= =?UTF-8?q?=E5=A4=84=E7=90=86=E8=B0=83=E6=95=B4=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/BonusSettleRangeHandle.java | 56 +++++++++---------- 1 file changed, 28 insertions(+), 28 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 a91956c8..6579826f 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 @@ -645,19 +645,12 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } // 累计盒数、业绩,不管激活不激活都处理,兼容不激活判断显示有问题 - if (null != secondRangeTableName) { - // 秒结处理 - targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().add(boxNum)); - targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().add(orderAchieve)); - } else { - // 日结处理 - targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().add(boxNum)); - targetMemberRangeExt.setAllTeamBoxNum(targetMemberRangeExt.getAllTeamBoxNum().add(boxNum)); - targetMemberRangeExt.setAllTeamMonthBoxNum(targetMemberRangeExt.getAllTeamMonthBoxNum().add(boxNum)); - targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().add(orderAchieve)); - targetMemberRangeExt.setAllTeamConsumePv(targetMemberRangeExt.getAllTeamConsumePv().add(orderAchieve)); - targetMemberRangeExt.setAllTeamMonthPv(targetMemberRangeExt.getAllTeamMonthPv().add(orderAchieve)); - } + targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().add(boxNum)); + targetMemberRangeExt.setAllTeamBoxNum(targetMemberRangeExt.getAllTeamBoxNum().add(boxNum)); + targetMemberRangeExt.setAllTeamMonthBoxNum(targetMemberRangeExt.getAllTeamMonthBoxNum().add(boxNum)); + targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().add(orderAchieve)); + targetMemberRangeExt.setAllTeamConsumePv(targetMemberRangeExt.getAllTeamConsumePv().add(orderAchieve)); + targetMemberRangeExt.setAllTeamMonthPv(targetMemberRangeExt.getAllTeamMonthPv().add(orderAchieve)); // 激活的账号才能累计业绩和盒数(有注册、升级订单) if (targetMemberRangeExt.getEnableStatus() == EYesNo.YES.getIntValue()) { @@ -771,6 +764,11 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } break; } + + // 校验大小区会员数据 + List cuMemberRangeExtList = null; + // 校验累计小部门会员数据 + List cuMemberRetailRangeExtList = null; // 计算分红奖衔 while (true) { // 当月奖衔值 + 5,获取下一个奖衔值 @@ -780,13 +778,14 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 先验证累计业绩 if (ComputeUtil.compareValue(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), targetMemberRangeExt.getMonthConsumePv()), bdAwards.getShareTotalCheck())) { // 再验证小区,计算小区业绩(拉取直推会员数据) - List cuMemberRangeExtList; - if (secondRangeTableName != null) { - // 会员表 关联 秒结表 和 昨日结算表,查询订单会员直推数据 - cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember()); - } else { - // 昨日结算表,查询订单会员直推数据 - cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember()); + if (null == cuMemberRangeExtList) { + if (null != secondRangeTableName) { + // 会员表 关联 秒结表 和 昨日结算表,查询订单会员直推数据 + cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember()); + } else { + // 昨日结算表,查询订单会员直推数据 + cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember()); + } } // 本人月消费业绩(默认为大区) BigDecimal consumeBigPv = targetMemberRangeExt.getMonthConsumePv(); @@ -808,14 +807,15 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 小区业绩 >= 小区考核业绩 if (bdAwards.getPlaceDeptNum() > 0) { // 验证是否有多个区满足业绩 - List cuMemberRetailRangeExtList; - // 非秒结需要查询日结相关数据,秒结表使用上面查出的数据就可以 - if (secondRangeTableName != null) { - // 会员表 关联 秒结表 和 昨日结算表,查询订单会员直推数据 - cuMemberRetailRangeExtList = cuMemberRangeExtList; - } else { - // 昨日结算表,查询订单会员直推数据 - cuMemberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeEnoughAchieve(rangeTableName, targetMemberRangeExt.getPkMember(), bdAwards.getShareCommunityCheck()); + if (null == cuMemberRetailRangeExtList) { + // 非秒结需要查询日结相关数据,秒结表使用上面查出的数据就可以 + if (null != secondRangeTableName) { + // 会员表 关联 秒结表 和 昨日结算表,查询订单会员直推数据 + cuMemberRetailRangeExtList = cuMemberRangeExtList; + } else { + // 昨日结算表,查询订单会员直推数据 + cuMemberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeEnoughAchieve(rangeTableName, targetMemberRangeExt.getPkMember(), bdAwards.getShareCommunityCheck()); + } } int enoughNum = 0; From 757a5741917773911f52776b5ce5b8d452af6fcd Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Fri, 4 Jul 2025 18:29:00 +0800 Subject: [PATCH 4/4] =?UTF-8?q?##=20=E7=A7=92=E7=BB=93=E5=85=BC=E5=AE=B9?= =?UTF-8?q?=E5=A4=9A=E9=80=812=E7=BA=A7=E5=A4=84=E7=90=86=E9=97=AE?= =?UTF-8?q?=E9=A2=98=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/BonusSettleRangeHandle.java | 15 ++++++++++++++- .../bonus/detail/mapper/CuMemberGradeMapper.java | 9 +++++++++ .../detail/service/ICuMemberGradeService.java | 9 +++++++++ .../service/impl/CuMemberGradeServiceImpl.java | 7 +++++-- .../mapper/bonus/detail/CuMemberGradeMapper.xml | 12 ++++++++++++ 5 files changed, 49 insertions(+), 3 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 6579826f..783e7d45 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 @@ -622,7 +622,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } /** - * 计算团队极差奖衔 + * 计算团队等级、奖衔 -- 秒结、日结 */ public List calculateRetailRangeGradeAwards(Integer period, Map memberRangeExtMap, String rangeTableName, SaOrderExt saOrderExt, Map retailTeamGradeMap, Map retailAwardsMap, String secondRangeTableName, @@ -744,6 +744,19 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } } } + + if (null != secondRangeTableName) { + if (targetMemberRangeExt.getPkMember().equals(saOrderExt.getPkMember())) { + // new 兼容购买等级多送2级的问题,秒结处理V4 V5方式不一样,会出现秒结等级和实际等级不匹配 + CuMemberRetailRangeExt memberRetailLevel = iCuMemberGradeService.getMemberLevel(saOrderExt.getPkMember(), saOrderExt.getPkId()); + if (null != memberRetailLevel) { + if (memberRetailLevel.getGradeValue() > targetMemberRangeExt.getGradeValue()) { + targetMemberRangeExt.setPkGrade(memberRetailLevel.getPkGrade()); + } + } + } + } + // 计算当月奖衔 while (true) { // 当月奖衔值 + 5,获取下一个奖衔值 diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberGradeMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberGradeMapper.java index ca523fdb..dcf20b69 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberGradeMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberGradeMapper.java @@ -39,6 +39,15 @@ public interface CuMemberGradeMapper extends BaseMapper { */ void updateCuMemberGradeLevel(@Param("rangeTableName") String rangeTableName, @Param("pkOrder") Long pkOrder); + /** + * 查询订单升级记录 + * + * @param pkMember + * @param pkOrder + * @return + */ + CuMemberRetailRangeExt getMemberLevel(@Param("pkMember") Long pkMember, @Param("pkOrder") Long pkOrder); + /** * 删除等级 */ diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberGradeService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberGradeService.java index 79968315..42165197 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberGradeService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberGradeService.java @@ -36,6 +36,15 @@ public interface ICuMemberGradeService extends IService { */ void updateCuMemberGrade(String rangeTableName, Long pkOrder); + /** + * 查询订单升级记录 + * + * @param pkMember + * @param pkOrder + * @return + */ + CuMemberRetailRangeExt getMemberLevel(Long pkMember, Long pkOrder); + /** * 插入会员等级升级记录 */ diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberGradeServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberGradeServiceImpl.java index e1370a2c..34cfd152 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberGradeServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberGradeServiceImpl.java @@ -7,7 +7,6 @@ import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt; import com.hzs.common.domain.member.detail.CuMemberGrade; import com.hzs.common.domain.member.detail.CuMemberLevel; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; @@ -42,7 +41,11 @@ public class CuMemberGradeServiceImpl extends ServiceImpl cuMemberGradeList) { saveBatch(cuMemberGradeList); } diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberGradeMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberGradeMapper.xml index a10f74e5..5fce0844 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberGradeMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberGradeMapper.xml @@ -85,6 +85,18 @@ a.pk_grade = b.pk_grade + + + update cu_member_grade