From 664b66c2452d2bba9f79ccd356e79611c26a46b9 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Wed, 23 Jul 2025 18:45:52 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E5=A4=8D=E8=B4=AD=E8=A7=81=E7=82=B9?= =?UTF-8?q?=E6=94=B6=E7=9B=8A=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/hzs/system/config/dto/RangeDTO.java | 9 +- .../achieve/mapper/CuMemberTreeMapper.java | 36 ---- .../achieve/service/ICuMemberTreeService.java | 33 ---- .../impl/CuMemberAchieveServiceImpl.java | 4 +- .../impl/CuMemberRangeServiceImpl.java | 2 +- .../service/impl/CuMemberTreeServiceImpl.java | 48 +----- .../service/impl/BonusGrantServiceImpl.java | 8 - .../impl/BonusSettleFirstPurchaseHandle.java | 3 +- .../bonus/service/impl/BonusSettleHandle.java | 26 ++- .../impl/BonusSettlePurchaseHandle.java | 159 +++++++++++++----- .../service/impl/BonusSettleServiceImpl.java | 45 +++-- .../bonus/bonus/vo/BonusRecordDetailVO.java | 6 +- .../bonus/vo/MemberBonusDetailCalVO.java | 6 + .../impl/CuMemberAssessDetailServiceImpl.java | 2 +- .../impl/CuMemberAssessServiceImpl.java | 2 +- .../member/achieve/CuMemberTreeMapper.xml | 129 ++------------ .../service/impl/CuMemberBonusSettle.java | 8 +- .../impl/CuMemberAssessDetailServiceImpl.java | 2 +- .../manage/BdBonusItemsController.java | 73 +------- .../config/mapper/BdBonusItemsMapper.java | 6 - .../config/service/IBdBonusItemsService.java | 43 +---- .../service/impl/BdBonusItemsServiceImpl.java | 79 +++------ .../enums/controller/EnumsController.java | 4 +- .../core/constant/EnumsPrefixConstants.java | 5 - .../core/constant/MagicNumberConstants.java | 26 ++- .../core/constant/msg/BonusMsgConstants.java | 12 +- .../com/hzs/common/core/enums/EAccount.java | 2 - .../common/core/enums/EAssessmentType.java | 2 +- .../hzs/common/core/enums/EBonusItems.java | 60 ++++--- .../com/hzs/common/core/enums/ECalType.java | 6 - .../common/core/enums/ETransactionKey.java | 7 - .../common/domain/bonus/BdBonusDeduct.java | 3 - .../common/domain/member/base/CuMember.java | 2 +- .../domain/member/bonus/CuMemberBonus.java | 2 +- .../domain/member/ext/CuMemberSettleExt.java | 5 + .../domain/system/config/BdBonusItems.java | 10 +- 36 files changed, 307 insertions(+), 568 deletions(-) diff --git a/bd-api/bd-api-system/src/main/java/com/hzs/system/config/dto/RangeDTO.java b/bd-api/bd-api-system/src/main/java/com/hzs/system/config/dto/RangeDTO.java index bac6e4c5..fa433632 100644 --- a/bd-api/bd-api-system/src/main/java/com/hzs/system/config/dto/RangeDTO.java +++ b/bd-api/bd-api-system/src/main/java/com/hzs/system/config/dto/RangeDTO.java @@ -1,19 +1,12 @@ package com.hzs.system.config.dto; -import com.baomidou.mybatisplus.annotation.TableField; -import com.hzs.common.core.annotation.Transaction; -import com.hzs.common.core.constant.EnumsPrefixConstants; import lombok.Data; import java.io.Serializable; import java.math.BigDecimal; /** - * @Description: 极差的配置 - * @Author: sui q - * @Time: 2023/1/3 13:42 - * @Classname: RangeDTO - * @PackageName: com.hzs.system.config.dto + * 极差的配置 */ @Data public class RangeDTO implements Serializable { diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberTreeMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberTreeMapper.java index 89020f32..f9cf2a7e 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberTreeMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberTreeMapper.java @@ -168,22 +168,6 @@ public interface CuMemberTreeMapper extends BaseMapper { List queryMemberSettleBySaOrder(@Param("settleTableName") String settleTableName, @Param("memberPkList") List memberPkList); - /* - * @description: 查询所有有奖衔的会员 - * @param: null null - **/ - List queryMemberSettleByAwards(@Param("settleTableName") String settleTableName, @Param("rangeTableName") String rangeTableName, - @Param("startPeriod") Integer startPeriod, @Param("endPeriod") Integer endPeriod); - - /** - * 根据订单,查询出网体中记录的会员数据及推荐人 - * - * @param settleTableName 结算表 - * @param serviceMemberSet 会员编号 - * @return: List - */ - List batchQueryMemberSettleParentByMemberPk(@Param("settleTableName") String settleTableName, @Param("memberPkList") List serviceMemberSet); - /** * 查询会员结算表,查询出结算表中会员伞下左右区满足等级 * @@ -230,26 +214,6 @@ public interface CuMemberTreeMapper extends BaseMapper { List batchQueryCuMemberSettleParent(@Param("settleTableName") String settleTableName, @Param("pkMemberList") List pkMemberList); - /** - * 批量根据量奖信息查询会员结算表中的父级血缘数据 - * - * @param settleTableName 结算表 - * @param pkMemberList 有量奖的会员列表 - * @return: Map> - */ - List batchQuerySpecialCuMemberSettleParent(@Param("settleTableName") String settleTableName, - @Param("pkMemberList") List pkMemberList); - - /** - * 批量根据量奖信息查询会员结算表中的父级血缘数据 - * - * @param settleTableName 结算表 - * @param pkMemberList 有量奖的会员列表 - * @return: Map> - */ - List batchQueryCuMemberSettleParentForSpecial(@Param("settleTableName") String settleTableName, - @Param("pkMemberList") List pkMemberList); - /** * 更新会员网体奖衔数据,更新月表、结算表 * diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberTreeService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberTreeService.java index 75407768..2bd7917c 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberTreeService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberTreeService.java @@ -183,21 +183,6 @@ public interface ICuMemberTreeService extends IService { */ List batchQueryMemberSettleByMemberPk(String settleTableName, Set serviceMemberSet); - /* - * @description: 查询所有有奖衔的会员 - * @param: null null - **/ - List queryMemberSettleByAwards(String settleTableName, String rangeTableName, Integer startPeriod, Integer endPeriod); - - /** - * 根据订单,查询出网体中记录的会员数据及推荐人 - * - * @param settleTableName 结算表 - * @param serviceMemberSet 会员编号 - * @return: List - */ - List batchQueryMemberSettleParentByMemberPk(String settleTableName, Set serviceMemberSet); - /** * 批量根据订单信息查询会员结算表中的父级安置数据 * @@ -225,24 +210,6 @@ public interface ICuMemberTreeService extends IService { */ List listMemberMonthAssess(String settleTableName, String settleTableNameMonthLast, List pkMemberList); - /** - * 批量根据量奖信息查询会员结算表中的父级血缘数据 - * - * @param settleTableName 结算表 - * @param expandMemberSet 有量奖的会员 - * @return: Map 主键,通过推荐人向上找父级 - */ - List batchQuerySpecialCuMemberSettleParent(String settleTableName, Set expandMemberSet); - - /** - * 批量根据量奖信息查询会员结算表中的父级血缘数据 - * - * @param settleTableName 结算表 - * @param expandMemberSet 有量奖的会员列表 - * @return: Map> - */ - List batchQueryCuMemberSettleParentForSpecial(String settleTableName, Set expandMemberSet); - /** * 更新会员树的累计业绩 * diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberAchieveServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberAchieveServiceImpl.java index a488c6b9..173fd672 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberAchieveServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberAchieveServiceImpl.java @@ -115,7 +115,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl memberAchieveParamList = new ArrayList<>(); memberAchieveParamMap.forEach((key, memberAchieveParam) -> memberAchieveParamList.add(memberAchieveParam)); - List> listList = cuMemberBonusSettle.handleCutList(memberAchieveParamList, MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM); + List> listList = cuMemberBonusSettle.handleCutList(memberAchieveParamList, MagicNumberConstants.BATCH_UPDATE_NUM); listList.forEach(list -> { baseMapper.updateCuMemberBackAchieveEveryDay(list, tablaName); }); @@ -134,7 +134,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl memberAchieveParamList = new ArrayList<>(); memberAchieveParamMap.forEach((key, memberAchieveParam) -> memberAchieveParamList.add(memberAchieveParam)); - List> listList = cuMemberBonusSettle.handleCutList(memberAchieveParamList, MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM); + List> listList = cuMemberBonusSettle.handleCutList(memberAchieveParamList, MagicNumberConstants.BATCH_UPDATE_NUM); listList.forEach(list -> { baseMapper.updateCuMemberBackOldAchieveEveryDay(list, tablaName); }); diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRangeServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRangeServiceImpl.java index 5e4706a3..f05abb82 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRangeServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRangeServiceImpl.java @@ -38,7 +38,7 @@ public class CuMemberRangeServiceImpl extends ServiceImpl> queryCuMemberRangeParent(String tableName, List saOrderExtList) { List cuMemberRangeExtList = new ArrayList<>(); - List> cutOrderList = cuMemberBonusSettle.handleCutList(saOrderExtList, MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM); + List> cutOrderList = cuMemberBonusSettle.handleCutList(saOrderExtList, MagicNumberConstants.BATCH_UPDATE_NUM); cutOrderList.forEach(orderList -> cuMemberRangeExtList.addAll(baseMapper.queryCuMemberRangeParent(tableName, orderList))); return packageMemberRangeMap(cuMemberRangeExtList); diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberTreeServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberTreeServiceImpl.java index 555a0e10..38a0bbf0 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberTreeServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberTreeServiceImpl.java @@ -296,28 +296,11 @@ public class CuMemberTreeServiceImpl extends ServiceImpl queryMemberSettleByAwards(String settleTableName, String rangeTableName, Integer startPeriod, Integer endPeriod) { - return baseMapper.queryMemberSettleByAwards(settleTableName, rangeTableName, startPeriod, endPeriod); - } - - @Override - public List batchQueryMemberSettleParentByMemberPk(String settleTableName, Set serviceMemberSet) { - List cuMemberSettleExtList = new ArrayList<>(); - if (serviceMemberSet.size() > 0) { - List memberPkList = Arrays.asList(serviceMemberSet.toArray(new Long[]{})); - List> listList = cuMemberBonusSettle.handleCutList(memberPkList); - listList.forEach(list -> - cuMemberSettleExtList.addAll(baseMapper.batchQueryMemberSettleParentByMemberPk(settleTableName, list))); - } - return cuMemberSettleExtList; - } - @Override public Map> batchQueryCuMemberSettlePlaceParent(String settleTableName, Integer period, List firPurchaseOrderList) { // 查询出所有父级安置人 List cuMemberSettleExtList = new ArrayList<>(); - List> listList = cuMemberBonusSettle.handleCutList(firPurchaseOrderList, MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM); + List> listList = cuMemberBonusSettle.handleCutList(firPurchaseOrderList, MagicNumberConstants.BATCH_UPDATE_NUM); listList.forEach(list -> cuMemberSettleExtList.addAll(baseMapper.batchQueryCuMemberSettlePlaceParent(settleTableName, period, list))); // key:订单ID,value:订单向上找安置人列表 @@ -334,19 +317,6 @@ public class CuMemberTreeServiceImpl extends ServiceImpl batchQuerySpecialCuMemberSettleParent(String settleTableName, Set expandMemberSet) { - List cuMemberSettleExtList = new ArrayList<>(); - if (expandMemberSet == null || expandMemberSet.size() == 0) { - return cuMemberSettleExtList; - } - List memberPkList = Arrays.asList(expandMemberSet.toArray(new Long[]{})); - List> listList = cuMemberBonusSettle.handleCutList(memberPkList, MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM); - listList.forEach(list -> - cuMemberSettleExtList.addAll(baseMapper.batchQuerySpecialCuMemberSettleParent(settleTableName, list))); - return cuMemberSettleExtList; - } - @Override public List batchQueryCuMemberSettleParent(String settleTableName, Set expandMemberSet) { List cuMemberSettleExtList = new ArrayList<>(); @@ -354,7 +324,7 @@ public class CuMemberTreeServiceImpl extends ServiceImpl memberPkList = Arrays.asList(expandMemberSet.toArray(new Long[]{})); - List> listList = cuMemberBonusSettle.handleCutList(memberPkList, MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM); + List> listList = cuMemberBonusSettle.handleCutList(memberPkList, MagicNumberConstants.BATCH_UPDATE_NUM); listList.forEach(list -> cuMemberSettleExtList.addAll(baseMapper.batchQueryCuMemberSettleParent(settleTableName, list))); return cuMemberSettleExtList; @@ -366,22 +336,12 @@ public class CuMemberTreeServiceImpl extends ServiceImpl> listList = cuMemberBonusSettle.handleCutList(pkMemberList, MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM); + List> listList = cuMemberBonusSettle.handleCutList(pkMemberList, MagicNumberConstants.BATCH_UPDATE_NUM); listList.forEach(list -> cuMemberSettleExtList.addAll(baseMapper.listMemberMonthAssess(settleTableName, settleTableNameMonthLast, list))); return cuMemberSettleExtList; } - @Override - public List batchQueryCuMemberSettleParentForSpecial(String settleTableName, Set expandMemberSet) { - List cuMemberSettleExtList = new ArrayList<>(); - List memberPkList = Arrays.asList(expandMemberSet.toArray(new Long[]{})); - List> listList = cuMemberBonusSettle.handleCutList(memberPkList, MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM); - listList.forEach(list -> - cuMemberSettleExtList.addAll(baseMapper.batchQueryCuMemberSettleParentForSpecial(settleTableName, list))); - return cuMemberSettleExtList; - } - @Override public void updateCuMemberSettle(String settleTableName, Map cuMemberTreeMap) { List> treeList = setUpdCuMemberTreeLists(cuMemberTreeMap); @@ -416,7 +376,7 @@ public class CuMemberTreeServiceImpl extends ServiceImpl queryCuMemberSecondParent(String secondTableName, List cuMemberTreeList) { List cuMemberSettleExtList = new ArrayList<>(); - List> listList = cuMemberBonusSettle.handleCutList(cuMemberTreeList, MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM); + List> listList = cuMemberBonusSettle.handleCutList(cuMemberTreeList, MagicNumberConstants.BATCH_UPDATE_NUM); listList.forEach(list -> cuMemberSettleExtList.addAll(baseMapper.queryCuMemberSecondParent(secondTableName, list))); return cuMemberSettleExtList; } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusGrantServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusGrantServiceImpl.java index bc6592c8..283ade2c 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusGrantServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusGrantServiceImpl.java @@ -184,10 +184,6 @@ public class BonusGrantServiceImpl implements IBonusGrantService { packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.REPEAT.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getBackPoints(), currencyDTO.getOutExchangeRate()), settleDate); // 复购券 packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.REPURCHASE.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getRepurCouponSubtotal(), currencyDTO.getOutExchangeRate()), settleDate); - // 环球积分 -// packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.GLOBAL_POINTS.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getGlobalPoints(), currencyDTO.getOutExchangeRate()), settleDate); - // 车奖积分 -// packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.CAR_AWARD_POINTS.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getCarAwardPoints(), currencyDTO.getOutExchangeRate()), settleDate); }); List seqList = iCuMemberTradeService.batchQueryCuMemberTradeSeq(cuMemberTradeList.size()); // 新增流水明细,记录奖金明细的发放状态、消费明细 @@ -246,10 +242,6 @@ public class BonusGrantServiceImpl implements IBonusGrantService { packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.REPEAT.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getBackPoints(), currencyDTO.getOutExchangeRate()), settleDate); // 复购券 packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.REPURCHASE.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getRepurCouponSubtotal(), currencyDTO.getOutExchangeRate()), settleDate); - // 环球积分 -// packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.GLOBAL_POINTS.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getGlobalPoints(), currencyDTO.getOutExchangeRate()), settleDate); - // 车奖积分 -// packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.CAR_AWARD_POINTS.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getCarAwardPoints(), currencyDTO.getOutExchangeRate()), settleDate); }); List seqList = iCuMemberTradeService.batchQueryCuMemberTradeSeq(cuMemberTradeList.size()); // 新增流水明细,记录奖金明细的发放状态、消费明细 diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleFirstPurchaseHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleFirstPurchaseHandle.java index 823ace97..9afbbe3e 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleFirstPurchaseHandle.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleFirstPurchaseHandle.java @@ -803,8 +803,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle { } /** - * @Description: 计算服务中心奖 - * @return: CuMemberBonusDetail + * 计算服务中心奖 */ CuMemberBonusDetail calculateServiceBonusOne(String settleDate, Map cuMemberAssessMap, Map cuMemberSettleExtMap, BonusConfigDTO bonusConfigDTO, Integer period, Map cuMemberBonusMap, SaOrderExt saOrderExt) { CuMemberSettleExt sourceMemberSettleExt = cuMemberSettleExtMap.get(saOrderExt.getPkMember()); 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 d46ea1bc..b529c127 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 @@ -635,7 +635,7 @@ public abstract class BonusSettleHandle { } /** - * 获得 极差收益的备注 + * 获得 级差收益的备注 * * @param saOrderExt 订单编号 * @param cuMemberBonusRange 报单服务费 @@ -654,7 +654,7 @@ public abstract class BonusSettleHandle { } /** - * 获得 极差收益的备注 + * 获得 级差收益的备注 * * @param saOrderExt 订单编号 * @param cuMemberBonusRange 报单服务费 @@ -671,7 +671,7 @@ public abstract class BonusSettleHandle { } /** - * 获得 极差收益的备注 + * 获得 级差收益的备注 * * @param saOrderExt 订单编号 * @param cuMemberBonusRange 报单服务费 @@ -738,6 +738,20 @@ public abstract class BonusSettleHandle { return iCuMemberAssessService.queryCuMemberAssessByMember(assessTableName, assessPeriod, EAssessmentType.REPURCHASE_ASSESS.getValue(), cuMemberSettleExtList); } + + /** + * 获得 复购见点收益备注 + */ + protected void repurchasePointRemark(SaOrderExt saOrderExt, CuMemberBonusCoach cuMemberBonusCoach, + CuMemberSettleExt sourceMemberRangeExt, CuMemberSettleExt targetMemberRangeExt, + int algebra) { + String remark = String.format(BonusMsgConstants.REPURCHASE_POINT, algebra, 1, saOrderExt.getOrderCode(), + sourceMemberRangeExt.getMemberCode() + sourceMemberRangeExt.getMemberName(), + targetMemberRangeExt.getMemberCode() + targetMemberRangeExt.getMemberName(), + cuMemberBonusCoach.getCalAchieve(), cuMemberBonusCoach.getCalValue()); + cuMemberBonusCoach.setRemark(remark); + } + /** * 获取会员奖金汇总表 * @@ -946,7 +960,7 @@ public abstract class BonusSettleHandle { } /** - * 根据订单获取会员的血缘父级,用于嗨粉推荐、复购极差 + * 根据订单获取会员的血缘父级,用于复购级差 * * @param cuMemberSettleExtMap 树关系 * @param settleTableName 结算表 @@ -961,7 +975,7 @@ public abstract class BonusSettleHandle { } /** - * 获取会员的极差等级,验证会员是否有奖衔 + * 获取会员的级差等级,验证会员是否有奖衔 * * @param awardsMap 奖衔 * @param parentMemberTree 会员树历史记录 @@ -982,7 +996,7 @@ public abstract class BonusSettleHandle { } /** - * 获取会员的极差等级,验证会员是否有奖衔 + * 获取会员的级差等级,验证会员是否有奖衔 * * @param awardsMap 奖衔 * @param parentMemberTree 会员树历史记录 diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java index 3e6b6167..cbec1208 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java @@ -2,7 +2,6 @@ package com.hzs.bonus.bonus.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; -import com.hzs.activity.pick.IAcPickServiceApi; import com.hzs.bonus.bonus.vo.BonusRecordDetailVO; import com.hzs.common.core.constant.CountryConstants; import com.hzs.common.core.constant.MagicNumberConstants; @@ -24,7 +23,6 @@ import com.hzs.system.config.dto.BonusExpandDTO; import com.hzs.system.config.dto.BonusRepurchasePushDTO; import com.hzs.system.config.dto.RangeDTO; import lombok.extern.slf4j.Slf4j; -import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -180,7 +178,7 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle { Map systemConfigMap, Integer period, Map weekMemberBonusMap, Map cuMemberBonusMap, SaOrderExt saOrderExt, List cuMemberSettleExtList, String settleDateStr, BigDecimal addTouch, BigDecimal expandRatio, Integer expandNumber) { - // 复购订单,计算复购极差,复购拓展 + // 复购订单,计算复购级差,复购拓展 return calculateRepurchaseExpandBonusOne(riskControlMap, settleTableName, cuMemberSettleExtMap, bonusConfigDTO, systemConfigMap, period, weekMemberBonusMap, cuMemberBonusMap, saOrderExt, cuMemberSettleExtList, addTouch, expandRatio, expandNumber); } @@ -375,7 +373,7 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle { } /** - * 计算复购极差 + * 计算复购级差 * * @param period 期间 * @param bonusConfigDTO 参数 @@ -487,38 +485,6 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle { cuMemberBonusRangeList.add(cuMemberBonusRange); } - /** - * 乐学复购极差,找下一个等级的推荐人 - * - * @param cuMemberTreeMap - * @param bonusConfigDTO - * @param sourceMemberTree - * @param parentMemberTree - * @param cuMemberAssessMap - * @param pkGrade - * @return - */ - private CuMemberSettleExt getSpecialRangeCuMemberTree(Map cuMemberTreeMap, BonusConfigDTO bonusConfigDTO, - CuMemberSettleExt sourceMemberTree, CuMemberSettleExt parentMemberTree, - Map cuMemberAssessMap, int pkGrade) { - if (null == parentMemberTree) { - return null; - } - if (ECategory.NORMAL.getValue() != parentMemberTree.getCategory() - || EAccountStatus.STOP_INCOME.getValue() == parentMemberTree.getAccountStatus() - || validatePkBonusItems(bonusConfigDTO, parentMemberTree.getPkSettleCountry(), EBonusItems.REPURCHASE_RANGE_INCOME.getValue()) - || parentMemberTree.getPkGrade() < pkGrade - || parentMemberTree.getPkGrade() <= sourceMemberTree.getPkGrade()) { - // 推荐人非正常点位 或 停算收益 或 没有配置该奖项 或 等级小于计算等级 或 等级小于等于下级会员等级,则跳过该推荐人向上继续找 - parentMemberTree = cuMemberTreeMap.get(parentMemberTree.getPkParent()); - if (null == parentMemberTree) { - return null; - } - parentMemberTree = getSpecialRangeCuMemberTree(cuMemberTreeMap, bonusConfigDTO, sourceMemberTree, parentMemberTree, cuMemberAssessMap, pkGrade); - } - return parentMemberTree; - } - /** * 计算复购量碰 * @@ -578,12 +544,11 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle { targetMemberSettleExt.setRepBBalance(ComputeUtil.computeSubtractAbs(targetMemberSettleExt.getRepBBalance(), calAchieve)); } - // 计算收益 先计算出会员最大的收益 -- TODO new 目前看,下面这俩比例计算出来的值一样 + // 计算收益 先计算出会员最大的收益 // maxIncome = 业绩 * 等级扩展比例 BigDecimal maxIncome = ComputeUtil.computeBonusMultiply(cuMemberBonusExpand.getCalAchieve(), gradeExpandRatio); // actualIncome = 业绩 * 等级扩展比例 BigDecimal actualIncome = ComputeUtil.computeBonusMultiply(cuMemberBonusExpand.getCalAchieve(), countryExpandRatio); -// log.info("复购. maxIncome: {}, gradeExpandRatio: {}; actualIncome: {}, countryExpandRatio: {}", maxIncome, gradeExpandRatio, actualIncome, countryExpandRatio); // 获取等级对应的封顶值(累计复购扩展 + 当前等级对应订单的最大收益) BigDecimal expandIncome = ComputeUtil.computeAdd(ComputeUtil.computeAdd(cuMemberBonus.getRepurExpandIncome(), actualIncome), weekRepExpandIncome); @@ -760,4 +725,122 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle { }); } + + /** + * 计算见点收益 + */ + List calculateRepurchasePointBonus(Map cuMemberSettleExtMap, String settleTableName, Integer period, + BonusConfigDTO bonusConfigDTO, List purchaseOrderList, Map cuMemberBonusMap, + Map gradeMap) { + List cuMemberBonusCoachList = new ArrayList<>(); + + if (purchaseOrderList.size() > 0) { + // 处理血缘上网体信息 + getMemberParentBySaOrder(cuMemberSettleExtMap, settleTableName, purchaseOrderList); + + for (SaOrderExt saOrderExt : purchaseOrderList) { + // 来源会员 + CuMemberSettleExt sourceMemberSettleExt = cuMemberSettleExtMap.get(saOrderExt.getPkMember()); + // 订单产生的见点收益 + List orderBonusCoachList = new ArrayList<>(); + + // 推荐人 + Long pkParent = cuMemberSettleExtMap.get(saOrderExt.getPkMember()).getPkParent(); + + // 一共拿多少代(最多20代) + int pointAlgebra = MagicNumberConstants.POINT_ALGEBRA_START; + // 最多20代 + while (pointAlgebra <= MagicNumberConstants.POINT_ALGEBRA_END) { + // 当前需要拿奖金的会员 + CuMemberSettleExt targetMemberSettleExt = cuMemberSettleExtMap.get(pkParent); + if (null == targetMemberSettleExt) { + break; + } + pkParent = targetMemberSettleExt.getPkParent(); + + if (ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory() + || EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus() + || EYesNo.NO.getIntValue() == targetMemberSettleExt.getIsMakerSpace()) { + // 会员状态不正常 或者 停算收益 或者 考核不通过 + continue; + } + if (validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.REPURCHASE_POINT_INCOME.getValue())) { + // 校验当前国家是否有该奖项(见点收益) + continue; + } + + // 前10代,默认拿10% + BigDecimal pointRatio = MagicNumberConstants.BONUS_POINT_10; + if (pointAlgebra > 10) { + // 后10代,拿5% + pointRatio = MagicNumberConstants.BONUS_POINT_20; + } + + // 根据等级获取可以拿的代数 + BdGrade targetGrade = gradeMap.get(targetMemberSettleExt.getPkGrade()); + if (targetGrade.getAlgebra() >= pointAlgebra) { + // 税前收益 = 订单业绩 * 收益比例 + BigDecimal pretaxIncome = saOrderExt.getOrderAchieve().multiply(pointRatio); + + // 获取会员奖金数据 + CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, saOrderExt, targetMemberSettleExt); + // 会员见点收益奖金 + CuMemberBonusCoach cuMemberBonusCoach = this.getCuMemberPointBonus(bonusConfigDTO, saOrderExt, targetMemberSettleExt, cuMemberBonus); + cuMemberBonusCoach.setCalAchieve(saOrderExt.getOrderAchieve()); + cuMemberBonusCoach.setCalValue(pointRatio); + cuMemberBonusCoach.setPretaxIncome(pretaxIncome); + repurchasePointRemark(saOrderExt, cuMemberBonusCoach, sourceMemberSettleExt, targetMemberSettleExt, pointAlgebra); + // 奖金扣项 + BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusCoach, + saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate()); + // 累计奖金数据 + cuMemberBonus.setGlobalPoints(cuMemberBonus.getGlobalPoints().add(cuMemberBonusCoach.getPretaxIncome())); + // 复购小计、总计 + setPurchaseTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusCoach); + + orderBonusCoachList.add(cuMemberBonusCoach); + + pointAlgebra++; + } + } + // 补全代数信息 + handlePointRemark(orderBonusCoachList, --pointAlgebra); + cuMemberBonusCoachList.addAll(orderBonusCoachList); + } + } + return cuMemberBonusCoachList; + } + + /** + * 补全见点奖备注 + */ + private void handlePointRemark(List memberBonusCoachList, int i) { + for (CuMemberBonusCoach cuMemberBonusCoach : memberBonusCoachList) { + cuMemberBonusCoach.setCoachGeneration(i); + cuMemberBonusCoach.setRemark(cuMemberBonusCoach.getRemark().replace("#", cuMemberBonusCoach.getCoachGeneration().toString())); + } + } + + /** + * 生成见点收益 + */ + private CuMemberBonusCoach getCuMemberPointBonus(BonusConfigDTO bonusConfigDTO, SaOrderExt saOrderExt, CuMemberSettleExt cuMemberSettleExt, CuMemberBonus cuMemberBonus) { + CuMemberBonusCoach cuMemberBonusCoach = CuMemberBonusCoach.builder() + .pkOrder(saOrderExt.getPkId()) + .pkBonus(cuMemberBonus.getPkId()) + .pkBonusItems(getPkBonusItems(bonusConfigDTO, cuMemberSettleExt.getPkSettleCountry(), EBonusItems.REPURCHASE_POINT_INCOME.getValue())) + // 正常还是烧伤 + .incomeStatus(cuMemberSettleExt.getIncomeStatus()) + .calType(ECalType.RATIO.getValue()) + .calAchieve(BigDecimal.ZERO) + .calValue(BigDecimal.ZERO) + .incomeRatio(BigDecimal.ZERO) + .incomeDialRatio(BigDecimal.ZERO) + .orderDialRatio(BigDecimal.ZERO) + .build(); + cuMemberBonusCoach.setPkCountry(cuMemberSettleExt.getPkSettleCountry()); + cuMemberBonusCoach.setPkCreator(MagicNumberConstants.PK_ADMIN); + return cuMemberBonusCoach; + } + } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java index 1ba54893..fa81c515 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java @@ -332,7 +332,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // List cuMemberBonusPushList = bonusSettlePurchaseHandle.calculateRepurchasePushSecondBonus(settleTableName, cuMemberSettleExtMap, // bonusConfigDTO, period, cuMemberBonusMap, saOrderExt, pushMemberSettleExtList, settleDate); // Map weekMemberBonusMap = getWeekMemberBonusMap(settleDate, period); -// // 复购订单,计算复购推荐 复购极差,复购拓展 +// // 复购订单,计算复购推荐 复购级差,复购拓展 // // 查询K值控制 // List cuMemberRiskControlList = iCuMemberRiskControlService.queryCuMemberRiskControl(DateUtils.parseStringToDate(settleDate)); // Map riskControlMap = new HashMap<>(); @@ -418,7 +418,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // 国家奖衔map Map awardsMap = iAwardsServiceApi.getAwards().getData(); - // 等级map + // 等级map(key:等级ID,value:等级对象) Map gradeMap = iGradeServiceApi.getGrade().getData(); // 查看是否有特殊业务,有特殊业务的处理,特殊业务,注水处理 @@ -452,7 +452,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // 区分体系,体系按照多线程进行更新业绩 // 首购订单 (注册+升级) 直推奖、量奖、领导奖、(注册)报单服务费 - // 复购订单 (复购量奖、复购极差) + // 复购订单 (复购量奖、复购级差) // 其他订单 只累计业绩 仅算奖衔 // 云代奖金 1% 待考虑 // 首购订单 @@ -504,9 +504,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // 计算完奖衔回退金额、业绩,最终根据新增进行回写 iCuMemberTreeService.updateCuMemberBackSettle(cuMemberAchieveHashMap, currentSettleTableName); - //********************************重新考核*********************************/ - // new 没有分红、复购考核,这个位置暂时去掉 -// cuMemberAssessService.retryCalculationAssess(DateUtils.parseStringToDate(settleDate), Boolean.TRUE); //*********************************计算奖金********************************/ // 首购订单 (注册+升级) 直推奖、量奖、领导奖、(注册)报单服务费(key:奖金计算过程中使用会员ID,value:会员奖金数据) Map cuMemberBonusMap = new HashMap<>(); @@ -808,7 +805,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { if (CollectionUtil.isNotEmpty(repurchaseOrderList)) { calculatePurchaseOrder(riskControlMap, cuMemberSettleExtMap, settleTableName, settleDate, systemConfigMap, bonusConfigDTO, repurchaseOrderList, period, weekMemberBonusMap, cuMemberBonusMap, bonusRecordDetailVO, awardsMap, awardsList, cuAwardsControlMap, cuBonusExpandExtMap, rangeDtoMap, - newExpandFlag); + newExpandFlag, gradeMap); } // 计算首购 if (CollectionUtil.isNotEmpty(firPurchaseOrderList)) { @@ -873,7 +870,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { iCuMemberBonusCoachService.deleteCuMemberBonusCoach(period); // 删除 奖金收益明细表(报单费) iCuMemberBonusDetailService.deleteCuMemberBonusDetail(period); - // 删除 奖金收益明细表(复购极差) + // 删除 奖金收益明细表(复购级差) iCuMemberBonusRangeService.deleteCuMemberBonusRange(period); // new 删除拓展收益延缓主表 iCuMemberBonusDelayService.deleteCuMemberBonusDelay(period); @@ -1143,13 +1140,12 @@ public class BonusSettleServiceImpl implements IBonusSettleService { * @param settleDate 结算日期 * @param bonusConfigDTO 各个国家奖金参数 * @param purchaseOrderList 复购订单 - * @param rangeDtoMap 乐学奖金使用的汇率map */ private void calculatePurchaseOrder(Map riskControlMap, Map cuMemberSettleExtMap, String settleTableName, String settleDate, Map systemConfigMap, BonusConfigDTO bonusConfigDTO, List purchaseOrderList, Integer period, Map weekMemberBonusMap, Map cuMemberBonusMap, BonusRecordDetailVO bonusRecordDetailVO, Map awardsMap, List awardsList, Map cuAwardsControlMap, Map cuBonusExpandExtMap, - Map rangeDtoMap, boolean newExpandFlag) { + Map rangeDtoMap, boolean newExpandFlag, Map gradeMap) { //****************************复购直推***************************** // 查找10代血缘,验证复购考核,考核通过的给与奖金 紧缩 // List cuMemberBonusPushList = bonusSettlePurchaseHandle.calculateRepurchasePushBonus(cuMemberSettleExtMap, settleTableName, settleDate, bonusConfigDTO, purchaseOrderList, period, cuMemberBonusMap); @@ -1182,11 +1178,23 @@ public class BonusSettleServiceImpl implements IBonusSettleService { bonusRecordDetailVO.setCuMemberBonusCoachList(cuMemberBonusCoachList); } - //****************************复购极差*****************************/ + //****************************复购级差*****************************/ List cuMemberBonusRangeList = bonusSettlePurchaseHandle.calculateRepurchaseRangeBonus(cuMemberSettleExtMap, settleTableName, settleDate, rangeDtoMap, awardsMap, bonusConfigDTO, purchaseOrderList, period, cuMemberBonusMap, cuAwardsControlMap); bonusRecordDetailVO.setCuMemberBonusRangeList(cuMemberBonusRangeList); + //****************************见点收益*****************************/ + List cuMemberPointBonusList = bonusSettlePurchaseHandle.calculateRepurchasePointBonus(cuMemberSettleExtMap, settleTableName, period, + bonusConfigDTO, purchaseOrderList, cuMemberBonusMap, gradeMap); + if (CollectionUtil.isNotEmpty(bonusRecordDetailVO.getCuMemberBonusCoachList())) { + bonusRecordDetailVO.getCuMemberBonusCoachList().addAll(cuMemberPointBonusList); + } else { + bonusRecordDetailVO.setCuMemberBonusCoachList(cuMemberPointBonusList); + } + + // TODO + //****************************区域收益*****************************/ + Map memberBonusDetailCalVoMap = new HashMap<>(ComputeUtil.mapInitCapacity(purchaseOrderList.size())); if (null != cuMemberBonusExpandList) { // 复购拓展 @@ -1206,6 +1214,10 @@ public class BonusSettleServiceImpl implements IBonusSettleService { MemberBonusDetailCalVO memberBonusDetailCalVO = calculateOrderRatio(memberBonusDetailCalVoMap, cuMemberBonusRange); memberBonusDetailCalVO.setRepRangeIncome(ComputeUtil.computeAdd(memberBonusDetailCalVO.getRepRangeIncome(), cuMemberBonusRange.getRealIncome())); }); + cuMemberPointBonusList.forEach(cuMemberPointBonus -> { + MemberBonusDetailCalVO memberBonusDetailCalVO = calculateOrderRatio(memberBonusDetailCalVoMap, cuMemberPointBonus); + memberBonusDetailCalVO.setGlobalPoints(ComputeUtil.computeAdd(memberBonusDetailCalVO.getGlobalPoints(), cuMemberPointBonus.getRealIncome())); + }); Map saOrderExtMap = new HashMap<>(ComputeUtil.mapInitCapacity(purchaseOrderList.size())); purchaseOrderList.forEach(saOrderExt -> @@ -1228,13 +1240,20 @@ public class BonusSettleServiceImpl implements IBonusSettleService { cuMemberBonusCoach.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount())); }); } - // 复购极差 + // 复购级差 cuMemberBonusRangeList.forEach(cuMemberBonusRange -> { MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusRange.getPkOrder()); SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder()); cuMemberBonusRange.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRepRangeIncome(), memberBonusDetailCalVO.getRealIncome())); cuMemberBonusRange.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount())); }); + // 见点收益 + cuMemberPointBonusList.forEach(cuMemberPointBonus -> { + MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberPointBonus.getPkOrder()); + SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder()); + cuMemberPointBonus.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getGlobalPoints(), memberBonusDetailCalVO.getRealIncome())); + cuMemberPointBonus.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount())); + }); } /* @@ -1313,7 +1332,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { bonusSettlePurchaseHandle.handleFirExpandDelay(cuMemberBonusExpandList, period, bonusRecordDetailVO); } - //*********************************计算领导奖(首购辅导收益)************************/ + //*********************************计算领导奖(辅导收益)************************/ // 判断是否有量奖,有量奖有辅导奖 List cuMemberBonusCoachList = bonusSettleFirstPurchaseHandle.calculateCoachBonus(cuMemberSettleExtMap, settleTableName, settleDate, bonusConfigDTO, expandOrderList, cuMemberBonusExpandList, period, cuMemberBonusMap, cuAwardsControlMap, riskControlMap, awardsList, true, true); diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/vo/BonusRecordDetailVO.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/vo/BonusRecordDetailVO.java index 56f9387d..fc71f7d7 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/vo/BonusRecordDetailVO.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/vo/BonusRecordDetailVO.java @@ -8,11 +8,7 @@ import java.util.List; import java.util.Map; /** - * @Description: 奖金记录明细,用于结算完奖金,返回值,最终一起入库 - * @Author: sui q - * @Time: 2023/2/13 17:58 - * @Classname: BonusRecordDetailVO - * @PackageName: com.hzs.member.bonus.vo + * 奖金记录明细,用于结算完奖金,返回值,最终一起入库 */ @Data public class BonusRecordDetailVO implements Serializable { diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/vo/MemberBonusDetailCalVO.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/vo/MemberBonusDetailCalVO.java index e140678b..1a94fb13 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/vo/MemberBonusDetailCalVO.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/vo/MemberBonusDetailCalVO.java @@ -96,4 +96,10 @@ public class MemberBonusDetailCalVO implements Serializable { */ private BigDecimal haiFunIncome; + /** + * 见点收益 + */ + private BigDecimal globalPoints; + + } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAssessDetailServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAssessDetailServiceImpl.java index d0c29946..98b07785 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAssessDetailServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAssessDetailServiceImpl.java @@ -71,7 +71,7 @@ public class CuMemberAssessDetailServiceImpl extends ServiceImpl revokeDetailList) { List> handleCutList = cuMemberBonusSettle.handleCutList(revokeDetailList, - MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM); + MagicNumberConstants.BATCH_UPDATE_NUM); handleCutList.forEach(list -> { baseMapper.updateCuMemberAssessDetailByRevoke(list); }); diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAssessServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAssessServiceImpl.java index 54dd0fcd..86b1b611 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAssessServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAssessServiceImpl.java @@ -417,7 +417,7 @@ public class CuMemberAssessServiceImpl extends ServiceImpl + @@ -215,7 +216,7 @@ register_amount, register_pv, upgrade_amount, upgrade_pv, repurchase_amount, repurchase_pv, hi_fun_amount, hi_fun_pv, mall_amount, mall_pv, category, pk_grade, pk_center_code, min_achieve, round, second, bg.grade_value, store_level, expire_status, - a_fir_balance, a_rep_balance, b_fir_balance, b_rep_balance + a_fir_balance, a_rep_balance, b_fir_balance, b_rep_balance, is_maker_space from ( ) a @@ -248,13 +249,9 @@ CREATE OR REPLACE TRIGGER - ${tableName} - _ - TRIG + ${tableName}_TRIG BEFORE - INSERT - OR - UPDATE ON ${tableName} FOR EACH ROW + INSERT OR UPDATE ON ${tableName} FOR EACH ROW DECLARE v_newVal NUMBER(12) := 0; v_incval @@ -279,8 +276,7 @@ FROM dual; END LOOP; END IF; - :new - .pk_id := v_newVal; + :new.pk_id := v_newVal; END IF; END; @@ -293,7 +289,7 @@ register_amount, register_pv, upgrade_amount, upgrade_pv, repurchase_amount, repurchase_pv, hi_fun_amount,hi_fun_pv,mall_amount,mall_pv, pk_center_code, category,pk_grade, min_achieve, round, second, store_level, expire_status, - a_fir_balance, a_rep_balance, b_fir_balance, b_rep_balance + a_fir_balance, a_rep_balance, b_fir_balance, b_rep_balance, is_maker_space from ${settleTableName} where pay_status = 1 start with pk_member = #{item} @@ -894,7 +890,8 @@ a.min_achieve, a.round, a.second, a.store_level, a.expire_status, nvl(cmb.after_grant_income, 0) un_grant_income, - a.a_fir_balance, a.a_rep_balance, a.b_fir_balance, a.b_rep_balance + a.a_fir_balance, a.a_rep_balance, a.b_fir_balance, a.b_rep_balance, + is_maker_space from ( select #{item.pkId} pk_order, pk_member, member_code, member_name, pk_place_parent, place_dept, @@ -903,7 +900,7 @@ register_amount, register_pv, upgrade_amount, upgrade_pv, repurchase_amount, repurchase_pv, hi_fun_amount, hi_fun_pv, mall_amount, mall_pv, category, pk_vertex, pk_center_code, min_achieve, round, second, store_level, expire_status, level sort, - a_fir_balance, a_rep_balance, b_fir_balance, b_rep_balance + a_fir_balance, a_rep_balance, b_fir_balance, b_rep_balance, is_maker_space from ${settleTableName} start with pk_member = #{item.pkMember} connect by pk_member = prior pk_place_parent @@ -932,36 +929,6 @@ - - - - - - - - merge into ${settleTableName} a @@ -1278,7 +1169,7 @@ and cma.assess_status in (1, 2)) tmp on (tmp.pk_member = cms.pk_member) when matched then - update set cms.purchase_status = 0 + update set cms.is_maker_gift = 0 diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberBonusSettle.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberBonusSettle.java index 99cbc401..acc9d18d 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberBonusSettle.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberBonusSettle.java @@ -4,16 +4,10 @@ import com.hzs.common.core.constant.MagicNumberConstants; import org.springframework.stereotype.Component; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; -import java.util.Set; /** - * @Description: 奖金计算工具类 - * @Author: sui q - * @Time: 2022/11/2 11:25 - * @Classname: CuMemberBonusSettle - * @PackageName: com.hzs.member.achieve.service.impl + * 奖金计算工具类 */ @Component public class CuMemberBonusSettle { diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/impl/CuMemberAssessDetailServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/impl/CuMemberAssessDetailServiceImpl.java index d3af6bf1..adbad054 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/impl/CuMemberAssessDetailServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/impl/CuMemberAssessDetailServiceImpl.java @@ -66,7 +66,7 @@ public class CuMemberAssessDetailServiceImpl extends ServiceImpl revokeDetailList) { List> handleCutList = cuMemberBonusSettle.handleCutList(revokeDetailList, - MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM); + MagicNumberConstants.BATCH_UPDATE_NUM); handleCutList.forEach(list -> { baseMapper.updateCuMemberAssessDetailByRevoke(list); }); diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/controller/manage/BdBonusItemsController.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/controller/manage/BdBonusItemsController.java index d82a9ba0..add64412 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/controller/manage/BdBonusItemsController.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/controller/manage/BdBonusItemsController.java @@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.hzs.common.core.annotation.Log; import com.hzs.common.core.constant.CacheConstants; import com.hzs.common.core.constant.msg.ConfigMsgConstants; -import com.hzs.common.core.domain.R; import com.hzs.common.core.enums.*; import com.hzs.common.core.service.RedisService; import com.hzs.common.core.utils.StringUtils; @@ -18,10 +17,8 @@ import com.hzs.common.domain.system.config.BdBonusItems; import com.hzs.common.domain.system.config.ext.BdBonusItemsExt; import com.hzs.common.security.utils.SecurityUtils; import com.hzs.common.util.TransactionUtils; -import com.hzs.system.base.ITransactionServiceApi; import com.hzs.system.config.service.IBdBonusItemsService; import com.hzs.system.config.vo.ApiBdBonusItemsVO; -import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -32,9 +29,6 @@ import java.util.List; /** * 奖项配置 前端控制器 - * - * @author zhangjing - * @since 2022-11-09 */ @RestController @RequestMapping("/manage/bd-bonus-items") @@ -45,15 +39,8 @@ public class BdBonusItemsController extends BaseController { @Autowired private RedisService redisService; - @DubboReference - ITransactionServiceApi iTransactionServiceApi; - /** - * @description: 查询奖项配置列表 - * @author: zhang jing - * @date: 2022/8/30 10:20 - * @param: [bonusItems] - * @return: com.hzs.common.core.web.page.TableDataInfo + * 查询奖项配置列表 **/ @Log(module = EOperationModule.BONUS_CONFIG, business = EOperationBusiness.BONUS_ITEMS, method = EOperationMethod.SELECT) @GetMapping("/list") @@ -74,11 +61,7 @@ public class BdBonusItemsController extends BaseController { } /** - * @description: 导出 - * @author: zhang jing - * @date: 2023/4/4 9:56 - * @param: [response, bonusItems] - * @return: void + * 导出 **/ @Log(module = EOperationModule.BONUS_CONFIG, business = EOperationBusiness.BONUS_ITEMS, method = EOperationMethod.EXPORT) @PostMapping("/export") @@ -97,11 +80,7 @@ public class BdBonusItemsController extends BaseController { } /** - * @description: 查询奖项配置列表(下拉选) - * @author: zhang jing - * @date: 2022/8/30 10:20 - * @param: [bonusItems] - * @return: com.hzs.common.core.web.page.TableDataInfo + * 查询奖项配置列表(下拉选) **/ @Log(module = EOperationModule.BONUS_CONFIG, business = EOperationBusiness.BONUS_ITEMS, method = EOperationMethod.SELECT) @GetMapping("/listNoPage") @@ -119,11 +98,7 @@ public class BdBonusItemsController extends BaseController { } /** - * @description: 生成奖项 - * @author: zhang jing - * @date: 2022/10/22 9:54 - * @param: [grade] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 生成奖项 **/ @Log(module = EOperationModule.BONUS_CONFIG, business = EOperationBusiness.BONUS_ITEMS, method = EOperationMethod.INSERT) @PostMapping("/generate") @@ -131,13 +106,8 @@ public class BdBonusItemsController extends BaseController { return AjaxResult.success(iBdBonusItemsService.generate(bonusItems)); } - /** - * @description: 修改奖项配置 - * @author: zhang jing - * @date: 2022/8/30 10:21 - * @param: [bonusItems] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 修改奖项配置 **/ @Log(module = EOperationModule.BONUS_CONFIG, business = EOperationBusiness.BONUS_ITEMS, method = EOperationMethod.UPDATE) @PostMapping("/update") @@ -164,31 +134,14 @@ public class BdBonusItemsController extends BaseController { if (StringUtils.isNull(bonusItems.getWithdrawalDate())) { return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.WITHDRAWAL_DATE_NOT_NULL)); } - - - //字段翻译保存到数据库 - if (null != bonusItems.getPkTransaction()) { - R b = iTransactionServiceApi.updateTransaction(pkCountry, - bonusItems.getBonusName(), bonusItems.getPkTransaction(), true); - } else { - //字段翻译保存到数据库 - R pkTransaction = iTransactionServiceApi.createTransaction(pkCountry, ETransactionKey.BD_BONUS_ITEMS, - bonusItems.getBonusName(), EYesNo.YES, EYesNo.NO); - bonusItems.setPkTransaction(pkTransaction.getData()); - } bonusItems.setPkModified(SecurityUtils.getUserId()); bonusItems.setModifiedTime(new Date()); redisService.deleteObject(CacheConstants.BD_BONUS_ITEMS + pkCountry); return toAjax(iBdBonusItemsService.updateById(bonusItems)); } - /** - * @description: 查询单条奖项配置 - * @author: zhang jing - * @date: 2022/8/30 10:21 - * @param: [pkId] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 查询单条奖项配置 **/ @Log(module = EOperationModule.BONUS_CONFIG, business = EOperationBusiness.BONUS_ITEMS, method = EOperationMethod.SELECT) @GetMapping("/getOne/{pkId}") @@ -198,13 +151,8 @@ public class BdBonusItemsController extends BaseController { return AjaxResult.success(bonusItemsExt); } - /** - * @description: 删除奖项配置 - * @author: zhang jing - * @date: 2022/8/30 10:21 - * @param: [pkId] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 删除奖项配置 **/ @Log(module = EOperationModule.BONUS_CONFIG, business = EOperationBusiness.BONUS_ITEMS, method = EOperationMethod.DELETE) @DeleteMapping("/{pkId}") @@ -215,13 +163,6 @@ public class BdBonusItemsController extends BaseController { updateWrapper.set(BdBonusItems::getPkModified, SecurityUtils.getUserId()); updateWrapper.set(BdBonusItems::getModifiedTime, new Date()); redisService.deleteObject(CacheConstants.BD_BONUS_ITEMS + SecurityUtils.getPkCountry()); - //删除翻译 - BdBonusItems bdBonusItems = iBdBonusItemsService.getById(pkId); - List pkIdList = new ArrayList<>(); - if (null != bdBonusItems.getPkTransaction()) { - pkIdList.add(bdBonusItems.getPkTransaction().longValue()); - R b = iTransactionServiceApi.removeTransactionByPkId(pkIdList); - } return toAjax(iBdBonusItemsService.update(updateWrapper)); } } diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/mapper/BdBonusItemsMapper.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/mapper/BdBonusItemsMapper.java index e7ac2f35..0c8b84b5 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/mapper/BdBonusItemsMapper.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/mapper/BdBonusItemsMapper.java @@ -1,16 +1,10 @@ package com.hzs.system.config.mapper; - import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.hzs.common.domain.system.config.BdBonusItems; /** - *

* 奖项配置 Mapper 接口 - *

- * - * @author zhangjing - * @since 2022-11-09 */ public interface BdBonusItemsMapper extends BaseMapper { diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/IBdBonusItemsService.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/IBdBonusItemsService.java index 64494b34..45474042 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/IBdBonusItemsService.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/IBdBonusItemsService.java @@ -1,6 +1,5 @@ package com.hzs.system.config.service; - import com.baomidou.mybatisplus.extension.service.IService; import com.hzs.common.domain.system.config.BdBonusItems; import com.hzs.common.domain.system.config.ext.BdBonusItemsExt; @@ -8,66 +7,42 @@ import com.hzs.common.domain.system.config.ext.BdBonusItemsExt; import java.util.List; /** - *

* 奖项配置 服务类 - *

- * - * @author zhangjing - * @since 2022-11-09 */ public interface IBdBonusItemsService extends IService { /** - * @description: 生成奖项配置 - * @author: zhang jing - * @date: 2022/11/10 17:17 - * @param: [bonusItems] - * @return: boolean + * 生成奖项配置 **/ boolean generate(BdBonusItems bonusItems); /** - * @description: 根据国家查询奖项配置列表 - * @author: zhang jing - * @date: 2022/11/10 17:17 - * @param: [pkCountry] - * @return: java.util.List + * 根据国家查询奖项配置列表 **/ List queryBonusItems(Integer pkCountry); /** - * @description: 根据国家查询奖项配置列表 - * @author: zhang jing - * @date: 2022/11/10 17:17 - * @param: [pkCountry] - * @return: java.util.List + * 根据国家查询奖项配置列表 **/ List queryCalBonusItems(Integer pkCountry); /** * 查询奖金项 + * * @param bonusValueList 奖金值 - * @return: List - * @Author: sui q - * @Date: 2023/3/14 10:08 - */ + */ List queryBonusItemsByValue(List bonusValueList); /** * 查询奖金项 - * @param pkCountry 国家 + * + * @param pkCountry 国家 * @param pkBonusItems 奖金项 - * @return: BdBonusItemsExt - * @Author: sui q - * @Date: 2023/3/7 18:07 - */ + */ BdBonusItems queryBonusItems(Integer pkCountry, Integer pkBonusItems); /* - * @description: 国家,奖金值 - * @author: sui q - * @date: 2024/7/12 10:39 - * @param: null null + * 国家,奖金值 **/ BdBonusItems queryBonusItemsByBonusValue(Integer pkCountry, Integer bonusValue); } diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/impl/BdBonusItemsServiceImpl.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/impl/BdBonusItemsServiceImpl.java index d0a2248d..c6dd50ec 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/impl/BdBonusItemsServiceImpl.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/impl/BdBonusItemsServiceImpl.java @@ -2,75 +2,46 @@ package com.hzs.system.config.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hzs.common.core.constant.CacheConstants; -import com.hzs.common.core.constant.SystemFieldConstants; -import com.hzs.common.core.domain.R; import com.hzs.common.core.enums.EBonusItems; -import com.hzs.common.core.enums.ETransactionKey; -import com.hzs.common.core.enums.EYesNo; import com.hzs.common.core.service.RedisService; import com.hzs.common.core.utils.ComputeUtil; import com.hzs.common.core.utils.StringUtils; import com.hzs.common.domain.system.config.BdBonusItems; import com.hzs.common.domain.system.config.ext.BdBonusItemsExt; import com.hzs.common.security.utils.SecurityUtils; -import com.hzs.system.base.ITransactionServiceApi; import com.hzs.system.config.mapper.BdBonusItemsMapper; import com.hzs.system.config.service.IBdBonusItemsService; -import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; /** - *

* 奖项配置 服务实现类 - *

- * - * @author zhangjing - * @since 2022-11-09 */ @Service public class BdBonusItemsServiceImpl extends ServiceImpl implements IBdBonusItemsService { - @DubboReference - private ITransactionServiceApi iTransactionServiceApi; - + @Autowired private RedisService redisService; - @Autowired - public void setRedisService(RedisService redisService) { - this.redisService = redisService; - } - - /** - * @description: 生成奖项配置 - * @author: zhang jing - * @date: 2022/11/9 19:38 - * @param: [bonusItems] - * @return: boolean - **/ @Override public boolean generate(BdBonusItems bonusItems) { Integer pkCountry = SecurityUtils.getPkCountry(); for (EBonusItems value : EBonusItems.values()) { bonusItems.setBonusName(value.getLabel()); bonusItems.setBonusValue(value.getValue()); - //字段翻译保存到数据库 - R pkTransaction = iTransactionServiceApi.createTransaction(pkCountry, ETransactionKey.BD_BONUS_ITEMS, - value.getLabel(), EYesNo.YES, EYesNo.NO); - bonusItems.setPkTransaction(pkTransaction.getData()); bonusItems.setPkCountry(pkCountry); bonusItems.setPkCreator(SecurityUtils.getUserId()); bonusItems.setCreationTime(new Date()); - QueryWrapper queryWrapper=new QueryWrapper(); - queryWrapper.eq("BONUS_VALUE",value.getValue()); - queryWrapper.eq("PK_COUNTRY",pkCountry); - BdBonusItems items= baseMapper.selectOne(queryWrapper); - if(StringUtils.isNull(items)){ + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(BdBonusItems::getBonusValue, value.getValue()); + queryWrapper.eq(BdBonusItems::getPkCountry, pkCountry); + BdBonusItems items = baseMapper.selectOne(queryWrapper); + if (StringUtils.isNull(items)) { baseMapper.insert(bonusItems); redisService.deleteObject(CacheConstants.BD_BONUS_ITEMS + SecurityUtils.getPkCountry()); } @@ -78,21 +49,14 @@ public class BdBonusItemsServiceImpl extends ServiceImpl - **/ @Override public List queryBonusItems(Integer pkCountry) { List bonusItemsExtList = redisService.getCacheList(CacheConstants.BD_BONUS_ITEMS + pkCountry); List bonusItemsExtsNew = new ArrayList<>(); if (CollectionUtil.isEmpty(bonusItemsExtList)) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("PK_COUNTRY", pkCountry); - queryWrapper.orderByAsc("BONUS_VALUE"); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(BdBonusItems::getPkCountry, pkCountry); + queryWrapper.orderByAsc(BdBonusItems::getBonusValue); List btList = baseMapper.selectList(queryWrapper); if (CollectionUtil.isNotEmpty(btList)) { btList.forEach(item -> bonusItemsExtsNew.add(BeanUtil.copyProperties(item, BdBonusItemsExt.class))); @@ -107,9 +71,9 @@ public class BdBonusItemsServiceImpl extends ServiceImpl queryCalBonusItems(Integer pkCountry) { List bonusItemsExtList = new ArrayList<>(); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("PK_COUNTRY", pkCountry); - queryWrapper.orderByAsc("BONUS_VALUE"); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(BdBonusItems::getPkCountry, pkCountry); + queryWrapper.orderByAsc(BdBonusItems::getBonusValue); List bdBonusItems = baseMapper.selectList(queryWrapper); bdBonusItems.forEach(item -> bonusItemsExtList.add(BeanUtil.copyProperties(item, BdBonusItemsExt.class))); return bonusItemsExtList; @@ -117,8 +81,8 @@ public class BdBonusItemsServiceImpl extends ServiceImpl queryBonusItemsByValue(List bonusValueList) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in("BONUS_VALUE", bonusValueList); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(BdBonusItems::getBonusValue, bonusValueList); return baseMapper.selectList(queryWrapper); } @@ -140,16 +104,17 @@ public class BdBonusItemsServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("PK_COUNTRY", pkCountry); - queryWrapper.eq("BONUS_VALUE", bonusValue); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(BdBonusItems::getPkCountry, pkCountry); + queryWrapper.eq(BdBonusItems::getBonusValue, bonusValue); return baseMapper.selectOne(queryWrapper); } private BdBonusItems queryBdBonusItems(Integer pkCountry, Integer pkBonusItems) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("PK_COUNTRY", pkCountry); - queryWrapper.eq(SystemFieldConstants.PK_ID, pkBonusItems); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(BdBonusItems::getPkCountry, pkCountry); + queryWrapper.eq(BdBonusItems::getPkId, pkBonusItems); return baseMapper.selectOne(queryWrapper); } + } diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsController.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsController.java index b4ba050e..9c1357b8 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsController.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsController.java @@ -1145,7 +1145,7 @@ public class EnumsController extends BaseController { public AjaxResult bonusItems() { List enumEntityList = new ArrayList<>(); for (EBonusItems value : EBonusItems.values()) { - enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.BONUS_ITEMS)); + enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel())); } return AjaxResult.success(enumEntityList); } @@ -1161,7 +1161,7 @@ public class EnumsController extends BaseController { List enumEntityList = new ArrayList<>(); for (BdBonusItemsExt bonusItemsExt : list) { - enumEntityList.add(new EnumEntity(bonusItemsExt.getPkTransaction(), bonusItemsExt.getBonusName(), EnumsPrefixConstants.BONUS_ITEMS)); + enumEntityList.add(new EnumEntity(bonusItemsExt.getPkTransaction(), bonusItemsExt.getBonusName())); } return AjaxResult.success(enumEntityList); diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java index e2bb80d0..9dfde167 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java @@ -267,11 +267,6 @@ public class EnumsPrefixConstants { */ public static final String AWARDS_LEVEL = "ENU_AWARDS_LEVEL"; - /** - * 奖项配置 - */ - public static final String BONUS_ITEMS = "ENU_BONUS_ITEMS_"; - /** * 语言 */ diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/MagicNumberConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/MagicNumberConstants.java index fa514526..9ae17a6a 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/MagicNumberConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/MagicNumberConstants.java @@ -29,14 +29,9 @@ public class MagicNumberConstants { public static final Integer ADDEND = 1; /** - * 更新条数 + * 批量处理数据条数 */ - public static final Integer BATCH_UPDATE_NUM = 300; - - /** - * 数据库批量更新(删除) - */ - public static final Integer DELETE_DATA_BATCH_UPDATE_NUM = 100; + public static final Integer BATCH_UPDATE_NUM = 200; /** * 系统管理员主键 @@ -97,4 +92,21 @@ public class MagicNumberConstants { */ public static final BigDecimal big10000 = new BigDecimal("10000"); + /** + * 见点收益开始血缘代 + */ + public static final Integer POINT_ALGEBRA_START = 1; + /** + * 见点收益结束血缘代 + */ + public static final Integer POINT_ALGEBRA_END = 20; + /** + * 见点收益(1-10代) + */ + public static final BigDecimal BONUS_POINT_10 = new BigDecimal("0.1"); + /** + * 见点收益(11-20代) + */ + public static final BigDecimal BONUS_POINT_20 = new BigDecimal("0.05"); + } diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/BonusMsgConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/BonusMsgConstants.java index 0107f1c8..70a63d9b 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/BonusMsgConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/BonusMsgConstants.java @@ -100,25 +100,17 @@ public class BonusMsgConstants { public static String ORI_RANGE = "订单编号%s,%s为%s贡献了平级收益,计算业绩%f,等级名称%s。"; - public static String LE_SHARE_RANGE = "订单编号%s,%s为%s贡献了复购极差收益,收益%f。"; - /** * 复购券收益 -- 订单编号%s,%s为%s贡献了复购券收益,计算业绩%f,计算比例%f,复购券收益%f。 */ // public static String REPURCHASE_COUPON_RANGE = "MSG_BONUS_019"; public static String REPURCHASE_COUPON_RANGE = "订单编号%s,%s为%s贡献了复购券收益,计算业绩%f,计算比例%f,复购券收益%f。"; - /** - * 云代首购 -- 订单编号%s,%s为%s贡献了云代首购业绩,计算业绩%f,云代首购比例%f。 - */ -// public static String CLOUD_AGENT_FIRST_REPURCHASE = "MSG_BONUS_020"; - public static String CLOUD_AGENT_FIRST_REPURCHASE = "订单编号%s,%s为%s贡献了云代首购业绩,计算业绩%f,云代首购比例%f。"; /** - * 云代复购 -- 订单编号%s,%s为%s贡献了云代复购业绩,计算业绩%f,云代复购比例%f。 + * 复购见点收益备注 */ -// public static String CLOUD_AGENT_REPURCHASE = "MSG_BONUS_021"; - public static String CLOUD_AGENT_REPURCHASE = "订单编号%s,%s为%s贡献了云代复购业绩,计算业绩%f,云代复购比例%f。"; + public static String REPURCHASE_POINT = "当前是第%d代,共#代,订单编号%s,%s为%s贡献了见点收益,计算业绩%f,计算比例%f"; /** * 奖金重算 -- 只能重算7天内的奖金! diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAccount.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAccount.java index 38d65847..4ad44431 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAccount.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAccount.java @@ -6,8 +6,6 @@ import lombok.Getter; /** * 货币种类 - * - * @author: hzs */ @AllArgsConstructor @Getter diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAssessmentType.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAssessmentType.java index 94f4dae7..ba7c90cd 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAssessmentType.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAssessmentType.java @@ -11,7 +11,7 @@ import lombok.Getter; public enum EAssessmentType { /** - * 0=复购考核(见点考核) + * 0=复购考核(见点收益考核) */ REPURCHASE_ASSESS(0, "复购考核", 0), 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 95fd673a..b826cb1b 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 @@ -1,6 +1,5 @@ package com.hzs.common.core.enums; -import com.hzs.common.core.constant.EnumsPrefixConstants; import lombok.AllArgsConstructor; import lombok.Getter; @@ -14,7 +13,7 @@ public enum EBonusItems { /** * 嗨粉直推 禁用 */ - HI_PINK(1, "嗨粉直推", 1, EnumsPrefixConstants.BONUS_ITEMS + 1), + HI_PINK(1, "嗨粉直推", 1), /** * 启动卡直推 @@ -24,90 +23,100 @@ public enum EBonusItems { /** * 直推收益 */ - DIRECT_INCOME(3, "直推收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 3), + DIRECT_INCOME(3, "直推收益", 0), /** * 拓展收益 */ - EXPANSION_INCOME(4, "拓展收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 4), + EXPANSION_INCOME(4, "拓展收益", 0), /** * 辅导收益 */ - COACHING_INCOME(5, "辅导收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 5), + COACHING_INCOME(5, "辅导收益", 0), /** * 分红收益 */ - DIVIDEND_INCOME(6, "分红收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 6), + DIVIDEND_INCOME(6, "分红收益", 0), /** * 服务补贴 */ - SERVICE_SUBSIDIES(7, "服务补贴", 0, EnumsPrefixConstants.BONUS_ITEMS + 7), + SERVICE_SUBSIDIES(7, "服务补贴", 0), /** * 复购极差收益 */ - REPURCHASE_RANGE_INCOME(8, "复购极差收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 8), + REPURCHASE_RANGE_INCOME(8, "复购极差收益", 0), /** * 消费拓展收益 */ - CONSUMPTION_EXPANSION_INCOME(9, "消费拓展收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 9), + CONSUMPTION_EXPANSION_INCOME(9, "消费拓展收益", 0), /** * 商城重销 */ - RESALE_IN_THE_MALL(10, "商城重销", 0, EnumsPrefixConstants.BONUS_ITEMS + 10), + RESALE_IN_THE_MALL(10, "商城重销", 0), /** * 平台服务费 */ - PLATFORM_SERVICE_FEE(11, "平台服务费", 0, EnumsPrefixConstants.BONUS_ITEMS + 11), + PLATFORM_SERVICE_FEE(11, "平台服务费", 0), /** * 复购券 */ - REPURCHASE_COUPONS(12, "复购券", 0, EnumsPrefixConstants.BONUS_ITEMS + 12), + REPURCHASE_COUPONS(12, "复购券", 0), /** * 复购券均分收益 */ - REPURCHASE_COUPONS_SHARE(13, "复购券均分", 0, EnumsPrefixConstants.BONUS_ITEMS + 13), + REPURCHASE_COUPONS_SHARE(13, "复购券均分", 0), /** * 云代直推收益 修改为幸运收益 */ - CLOUD_AGENT_DIRECT_PUSH(14, "幸运收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 14), + CLOUD_AGENT_DIRECT_PUSH(14, "幸运收益", 1), /** * 云代首购收益 修改为极差收益 */ - CLOUD_AGENT_FIRST_PURCHASE(15, "极差收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 15), + CLOUD_AGENT_FIRST_PURCHASE(15, "极差收益", 1), /** * 云代复购收益 修改为平级收益 */ - CLOUD_AGENT_REPURCHASE(16, "平级收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 16), + CLOUD_AGENT_REPURCHASE(16, "平级收益", 1), /** * 全球分红 */ -// GLOBAL_DIVIDEND(17, "全球分红", 0, EnumsPrefixConstants.BONUS_ITEMS + 17), +// GLOBAL_DIVIDEND(17, "全球分红", 0), /** * 环球积分 */ -// GLOBAL_POINTS(18, "环球积分", 0, EnumsPrefixConstants.BONUS_ITEMS + 18), +// GLOBAL_POINTS(18, "环球积分", 0), /** * 车奖积分 */ -// CAR_BONUS_POINTS(19, "车奖积分", 0, EnumsPrefixConstants.BONUS_ITEMS + 19), +// CAR_BONUS_POINTS(19, "车奖积分", 0), /** * 海粉收益 禁用 */ -// HAI_DOU_INCOME(22, "海粉收益", 1, EnumsPrefixConstants.BONUS_ITEMS + 22), +// HAI_DOU_INCOME(22, "海粉收益", 1), /** * 店铺收益 */ - STORE_INCOME(23, "店铺收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 23), + STORE_INCOME(23, "店铺收益", 1), /** * 复购直推收益 修改为互助收益 */ - HELP_EACH_INCOME(24, "互助收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 24), + HELP_EACH_INCOME(24, "互助收益", 1), /** * 复购辅导收益 */ - REPURCHASE_COACHING_INCOME(25, "复购辅导收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 25), + REPURCHASE_COACHING_INCOME(25, "复购辅导收益", 0), + + /** + * 见点收益 + */ + REPURCHASE_POINT_INCOME(25, "见点收益", 0), + + /** + * 区域收益 + */ + REPURCHASE_AREA_INCOME(25, "区域收益", 0), ; @@ -132,8 +141,5 @@ public enum EBonusItems { * 是否启用(0=是,1=否) -- 来源EYesNo */ private final int enable; - /** - * 国际化翻译key值 - */ - private final String key; + } diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ECalType.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ECalType.java index 2a7a043a..c41a516c 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ECalType.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ECalType.java @@ -6,12 +6,6 @@ import lombok.Getter; /** * 计算类型 - * - * @author: sui q - * @time: 2022/8/25 15:09 - * @description: - * @classname: ECalType - * @package_name: com.hzs.common.core.enums */ @AllArgsConstructor @Getter diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ETransactionKey.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ETransactionKey.java index 19f7000a..7111cab7 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ETransactionKey.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ETransactionKey.java @@ -6,8 +6,6 @@ import lombok.Getter; /** * 翻译key规则前缀枚举类 - * - * @author hzs */ @AllArgsConstructor @Getter @@ -68,11 +66,6 @@ public enum ETransactionKey { * 店铺等级类 */ STORE_LEVEL(EnumsPrefixConstants.KEY_STORE_LEVEL, "店铺等级类"), - /** - * 奖项类 - */ - BD_BONUS_ITEMS(EnumsPrefixConstants.BONUS_ITEMS, "奖项类"), - /** * 银行类 diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/bonus/BdBonusDeduct.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/bonus/BdBonusDeduct.java index a8ba5fd2..0d42dc4d 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/bonus/BdBonusDeduct.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/bonus/BdBonusDeduct.java @@ -13,9 +13,6 @@ import lombok.experimental.Accessors; /** * 奖金扣项配置 - * - * @author hzs - * @since 2022-11-04 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/base/CuMember.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/base/CuMember.java index c83ff3ab..0f12a0e0 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/base/CuMember.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/base/CuMember.java @@ -273,7 +273,7 @@ public class CuMember extends BaseEntity { private Integer isBusLicense; /** - * 是否认证创客空间(0=是,1=否) + * 见点收益免考(0=是,1=否) */ @TableField("IS_MAKER_SPACE") private Integer isMakerSpace; 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 8466186c..eab3531d 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 @@ -182,7 +182,7 @@ public class CuMemberBonus extends BaseEntity { private BigDecimal repurCouponSubtotal; /** - * 环球积分 修改为乐学直推奖金 + * 见点收益 */ @TableField("GLOBAL_POINTS") private BigDecimal globalPoints; diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/ext/CuMemberSettleExt.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/ext/CuMemberSettleExt.java index 27cfa184..db5b6518 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/ext/CuMemberSettleExt.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/ext/CuMemberSettleExt.java @@ -431,4 +431,9 @@ public class CuMemberSettleExt extends CuMemberTree { */ private BigDecimal bRepBalance; + /** + * 见点收益免考(0=是,1=否) + */ + private Integer isMakerSpace; + } diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdBonusItems.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdBonusItems.java index 8ced6e1b..e0687895 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdBonusItems.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdBonusItems.java @@ -7,19 +7,13 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.hzs.common.core.annotation.Excel; import com.hzs.common.core.annotation.Transaction; import com.hzs.common.core.constant.EnumsPrefixConstants; -import com.hzs.common.core.enums.ESettlePeriod; import com.hzs.common.core.web.domain.BaseEntity; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** - *

* 奖项配置 - *

- * - * @author zhangjing - * @since 2022-11-09 */ @Data @EqualsAndHashCode(callSuper = true) @@ -36,7 +30,7 @@ public class BdBonusItems extends BaseEntity { /** * 奖金名称 */ - @Excel(name = "奖金名称",sort=1) + @Excel(name = "奖金名称", sort = 1) @TableField("BONUS_NAME") private String bonusName; @@ -68,7 +62,7 @@ public class BdBonusItems extends BaseEntity { /** * 公布时间 */ - @Excel(name = "公布时间",sort=3) + @Excel(name = "公布时间", sort = 3) @TableField("PUBLISH_TIME") private String publishTime;