## 赠品积分结算处理;
This commit is contained in:
		
							parent
							
								
									0e09e347fc
								
							
						
					
					
						commit
						43405bd2b2
					
				|  | @ -31,6 +31,11 @@ public class BonusConfigDTO implements Serializable { | ||||||
|      */ |      */ | ||||||
|     private Map<String, BonusDirectDTO> bonusDirectDtoMap; |     private Map<String, BonusDirectDTO> bonusDirectDtoMap; | ||||||
| 
 | 
 | ||||||
|  |     /** | ||||||
|  |      * 等级列表 | ||||||
|  |      */ | ||||||
|  |     private List<BdGrade> gradeList; | ||||||
|  | 
 | ||||||
|     /** |     /** | ||||||
|      * 奖衔列表 |      * 奖衔列表 | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|  | @ -121,6 +121,17 @@ public abstract class BonusSettleHandle { | ||||||
|         cuMemberBonusRange.setRemark(remark); |         cuMemberBonusRange.setRemark(remark); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     /** | ||||||
|  |      * 获得 赠送积分的备注 | ||||||
|  |      */ | ||||||
|  |     protected void giftPointRemark(SaOrderExt saOrderExt, CuMemberBonusDetail cuMemberBonusDetail, | ||||||
|  |                                    CuMemberRetailRangeExt targetMemberRangeExt) { | ||||||
|  |         String remark = String.format(BonusMsgConstants.GIFT_POINT, saOrderExt.getOrderCode(), | ||||||
|  |                 targetMemberRangeExt.getMemberCode() + targetMemberRangeExt.getMemberName(), | ||||||
|  |                 cuMemberBonusDetail.getRealIncome()); | ||||||
|  |         cuMemberBonusDetail.setRemark(remark); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     public CuMemberBonus getCuMemberBonus(Integer period, Map<Long, CuMemberBonus> cuMemberBonusMap, |     public CuMemberBonus getCuMemberBonus(Integer period, Map<Long, CuMemberBonus> cuMemberBonusMap, | ||||||
|                                           Long pkMember, Integer incomeStatus, Integer pkCountry, Integer pkRate) { |                                           Long pkMember, Integer incomeStatus, Integer pkCountry, Integer pkRate) { | ||||||
|         if (cuMemberBonusMap.containsKey(pkMember)) { |         if (cuMemberBonusMap.containsKey(pkMember)) { | ||||||
|  |  | ||||||
|  | @ -11,6 +11,7 @@ import com.hzs.bonus.bonus.service.ICuMemberBonusStageService; | ||||||
| import com.hzs.bonus.bonus.vo.BonusRecordDetailVO; | import com.hzs.bonus.bonus.vo.BonusRecordDetailVO; | ||||||
| import com.hzs.bonus.constant.BonusConstants; | import com.hzs.bonus.constant.BonusConstants; | ||||||
| import com.hzs.bonus.detail.service.ICuMemberAwardsService; | import com.hzs.bonus.detail.service.ICuMemberAwardsService; | ||||||
|  | import com.hzs.bonus.detail.service.ICuMemberGradeService; | ||||||
| import com.hzs.bonus.order.service.IBonusOrderService; | import com.hzs.bonus.order.service.IBonusOrderService; | ||||||
| import com.hzs.common.core.constant.MagicNumberConstants; | import com.hzs.common.core.constant.MagicNumberConstants; | ||||||
| import com.hzs.common.core.constant.RetailConstants; | import com.hzs.common.core.constant.RetailConstants; | ||||||
|  | @ -26,6 +27,7 @@ import com.hzs.common.domain.member.detail.*; | ||||||
| import com.hzs.common.domain.sale.ext.SaOrderExt; | import com.hzs.common.domain.sale.ext.SaOrderExt; | ||||||
| import com.hzs.common.domain.sale.order.SaOrder; | import com.hzs.common.domain.sale.order.SaOrder; | ||||||
| import com.hzs.common.domain.system.config.BdAwards; | import com.hzs.common.domain.system.config.BdAwards; | ||||||
|  | import com.hzs.common.domain.system.config.BdGrade; | ||||||
| import com.hzs.system.config.dto.BonusConfigDTO; | import com.hzs.system.config.dto.BonusConfigDTO; | ||||||
| import lombok.extern.slf4j.Slf4j; | import lombok.extern.slf4j.Slf4j; | ||||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||||
|  | @ -53,6 +55,8 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|     @Autowired |     @Autowired | ||||||
|     private ICuMemberAwardsService iCuMemberAwardsService; |     private ICuMemberAwardsService iCuMemberAwardsService; | ||||||
|     @Autowired |     @Autowired | ||||||
|  |     private ICuMemberGradeService iCuMemberGradeService; | ||||||
|  |     @Autowired | ||||||
|     private ICuMemberService iCuMemberService; |     private ICuMemberService iCuMemberService; | ||||||
|     @Autowired |     @Autowired | ||||||
|     private IBonusOrderService iBonusOrderService; |     private IBonusOrderService iBonusOrderService; | ||||||
|  | @ -303,11 +307,24 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|         iCuMemberRetailRangeService.mergeMemberRetailRangeByYesterday(rangeTableName, yesterdayRangeTableName, isSameMonth); |         iCuMemberRetailRangeService.mergeMemberRetailRangeByYesterday(rangeTableName, yesterdayRangeTableName, isSameMonth); | ||||||
|         // 初始化结算明细数据(昨天数据更新到今天数据) |         // 初始化结算明细数据(昨天数据更新到今天数据) | ||||||
|         iCuMemberRetailRangeService.mergeMemberRetailRangeDetailByYesterday(rangeDetailTableName, yesterdayRangeDetailTableName, true); |         iCuMemberRetailRangeService.mergeMemberRetailRangeDetailByYesterday(rangeDetailTableName, yesterdayRangeDetailTableName, true); | ||||||
|  |         // 更新会员手动升级 | ||||||
|  |         iCuMemberGradeService.updateCuMemberManualGrade(rangeTableName, period); | ||||||
| 
 | 
 | ||||||
|         // 升阶段点位列表 |         // 升阶段点位列表 | ||||||
|         List<CuMemberRetailDetail> stageList = new ArrayList<>(); |         List<CuMemberRetailDetail> stageList = new ArrayList<>(); | ||||||
| 
 | 
 | ||||||
|         if (orderList.size() > 0) { |         if (orderList.size() > 0) { | ||||||
|  |             // 会员购买升级记录 | ||||||
|  |             Map<Long, CuMemberLevel> memberLevelMap = new HashMap<>(); | ||||||
|  |             List<CuMemberLevel> memberLevelList = iCuMemberGradeService.queryCuMemberLevel(settleStartDate, settleEndDate); | ||||||
|  |             memberLevelList.forEach(cuMemberLevel -> memberLevelMap.put(cuMemberLevel.getPkOrder(), cuMemberLevel)); | ||||||
|  |             // 等级map(key:等级ID,value:等级对象) | ||||||
|  |             Map<Integer, BdGrade> gradeIdMap = new HashMap<>(); | ||||||
|  |             List<BdGrade> gradeList = bonusConfigDTO.getGradeList(); | ||||||
|  |             for (BdGrade bdGrade : gradeList) { | ||||||
|  |                 gradeIdMap.put(bdGrade.getPkId(), bdGrade); | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|             // 奖衔 |             // 奖衔 | ||||||
|             Map<Integer, BdAwards> awardsMap = new HashMap<>(); |             Map<Integer, BdAwards> awardsMap = new HashMap<>(); | ||||||
|             List<BdAwards> awardsList = bonusConfigDTO.getAwardsList(); |             List<BdAwards> awardsList = bonusConfigDTO.getAwardsList(); | ||||||
|  | @ -319,6 +336,8 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|             List<CuMemberBonusRange> cuMemberBonusRangeList = new ArrayList<>(); |             List<CuMemberBonusRange> cuMemberBonusRangeList = new ArrayList<>(); | ||||||
|             // 阶段收益 |             // 阶段收益 | ||||||
|             List<CuMemberBonusStage> cuMemberBonusStageList = new ArrayList<>(); |             List<CuMemberBonusStage> cuMemberBonusStageList = new ArrayList<>(); | ||||||
|  |             // 赠品积分 | ||||||
|  |             List<CuMemberBonusDetail> cuMemberBonusDetailList = new ArrayList<>(); | ||||||
| 
 | 
 | ||||||
|             // 更新血缘上个人、团队累计业绩,用于处理奖衔 |             // 更新血缘上个人、团队累计业绩,用于处理奖衔 | ||||||
|             Map<Long, MemberAchieveParam> memberAchieveHashMap = new HashMap<>(); |             Map<Long, MemberAchieveParam> memberAchieveHashMap = new HashMap<>(); | ||||||
|  | @ -380,13 +399,31 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|                     stageList.addAll(this.calculateStageIncome(cuMemberBonusStageList, cuMemberBonusMap, bonusConfigDTO, period, |                     stageList.addAll(this.calculateStageIncome(cuMemberBonusStageList, cuMemberBonusMap, bonusConfigDTO, period, | ||||||
|                             memberRangeExtMap, sourceMember, saOrderExt, settleStartDate, rangeTableName, rangeDetailTableName)); |                             memberRangeExtMap, sourceMember, saOrderExt, settleStartDate, rangeTableName, rangeDetailTableName)); | ||||||
| 
 | 
 | ||||||
|  |                     // 领导级差收益、平级收益 -- 来源PV | ||||||
|  |                     this.calculateRetailRangeBonus(cuMemberBonusRangeList, memberRangeExtMap, cuMemberBonusMap, bonusConfigDTO, period, | ||||||
|  |                             awardsMap, saOrderExt, sourceMember); | ||||||
|  | 
 | ||||||
|                     // 2025.10.27需求调整,去掉直推收益 |                     // 2025.10.27需求调整,去掉直推收益 | ||||||
| //                    // 直推收益 -- 来源订单金额,直推拿业绩的10% | //                    // 直推收益 -- 来源订单金额,直推拿业绩的10% | ||||||
| //                    this.calculateDirectIncome(cuMemberBonusPushList, memberRangeExtMap, sourceMember, saOrderExt, | //                    this.calculateDirectIncome(cuMemberBonusPushList, memberRangeExtMap, sourceMember, saOrderExt, | ||||||
| //                            bonusConfigDTO, period, cuMemberBonusMap); | //                            bonusConfigDTO, period, cuMemberBonusMap); | ||||||
|                     // 领导级差收益、平级收益 -- 来源PV | 
 | ||||||
|                     this.calculateRetailRangeBonus(cuMemberBonusRangeList, memberRangeExtMap, cuMemberBonusMap, bonusConfigDTO, period, |                     // 2025.10.27需求调整,订单满指定PV对应给指定赠品积分 | ||||||
|                             awardsMap, saOrderExt, sourceMember); |                     this.calculateGiftPoint(memberRangeExtMap, saOrderExt, cuMemberBonusMap, cuMemberBonusDetailList, bonusConfigDTO, period); | ||||||
|  | 
 | ||||||
|  |                     // 订单存在升级记录 | ||||||
|  |                     if (memberLevelMap.containsKey(saOrderExt.getPkId())) { | ||||||
|  |                         CuMemberLevel cuMemberLevel = memberLevelMap.get(saOrderExt.getPkId()); | ||||||
|  |                         if (gradeIdMap.containsKey(cuMemberLevel.getNewLevel())) { | ||||||
|  |                             BdGrade bdGrade = gradeIdMap.get(cuMemberLevel.getNewLevel()); | ||||||
|  |                             if (bdGrade.getGradeValue() > sourceMember.getGradeValue()) { | ||||||
|  |                                 sourceMember.setPkGrade(bdGrade.getPkId()); | ||||||
|  |                                 sourceMember.setGradeValue(bdGrade.getGradeValue()); | ||||||
|  |                                 sourceMember.setGradeName(bdGrade.getGradeName()); | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                     } | ||||||
|  | 
 | ||||||
|                 } else if (EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType()) { |                 } else if (EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType()) { | ||||||
|                     // 商城专区 |                     // 商城专区 | ||||||
|                     sourceMember.setRepConsumeNewPv(sourceMember.getRepConsumeNewPv().add(orderAchieve)); |                     sourceMember.setRepConsumeNewPv(sourceMember.getRepConsumeNewPv().add(orderAchieve)); | ||||||
|  | @ -445,6 +482,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|             if (cuMemberBonusStageList.size() > 0) { |             if (cuMemberBonusStageList.size() > 0) { | ||||||
|                 bonusRecordDetailVO.setCuMemberBonusStageList(cuMemberBonusStageList); |                 bonusRecordDetailVO.setCuMemberBonusStageList(cuMemberBonusStageList); | ||||||
|             } |             } | ||||||
|  |             if (cuMemberBonusDetailList.size() > 0) { | ||||||
|  |                 bonusRecordDetailVO.setCuMemberBonusDetailList(cuMemberBonusDetailList); | ||||||
|  |             } | ||||||
|             // 更新日结数据 |             // 更新日结数据 | ||||||
|             iCuMemberRetailRangeService.updateCuMemberRetailRange(rangeTableName, memberRangeExtMap); |             iCuMemberRetailRangeService.updateCuMemberRetailRange(rangeTableName, memberRangeExtMap); | ||||||
|             // 更新日结明细数据 |             // 更新日结明细数据 | ||||||
|  | @ -607,6 +647,28 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|         return cuMemberAwards; |         return cuMemberAwards; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     private CuMemberBonusDetail getCuMemberBonusDetail(SaOrder saOrderExt, CuMemberRetailRangeExt targetMemberRangeExt, | ||||||
|  |                                                        CuMemberBonus cuMemberBonus, Integer pkBonusItems) { | ||||||
|  |         CuMemberBonusDetail cuMemberBonusDetail = CuMemberBonusDetail.builder() | ||||||
|  |                 .pkBonus(cuMemberBonus.getPkId()) | ||||||
|  |                 .pkOrder(saOrderExt.getPkId()) | ||||||
|  |                 .pkBonusItems(pkBonusItems) | ||||||
|  |                 .incomeStatus(targetMemberRangeExt.getIncomeStatus()) | ||||||
|  |                 .calType(ECalType.VALUE.getValue()) | ||||||
|  |                 .calAchieve(saOrderExt.getOrderAchieve()) | ||||||
|  |                 .calValue(BigDecimal.ZERO) | ||||||
|  |                 .pretaxIncome(BigDecimal.ZERO) | ||||||
|  |                 .incomeTax(BigDecimal.ZERO) | ||||||
|  |                 .realIncome(BigDecimal.ZERO) | ||||||
|  |                 .incomeRatio(BigDecimal.ZERO) | ||||||
|  |                 .incomeDialRatio(BigDecimal.ZERO) | ||||||
|  |                 .orderDialRatio(BigDecimal.ZERO) | ||||||
|  |                 .build(); | ||||||
|  |         cuMemberBonusDetail.setPkCountry(targetMemberRangeExt.getPkSettleCountry()); | ||||||
|  |         cuMemberBonusDetail.setPkCreator(MagicNumberConstants.PK_ADMIN); | ||||||
|  |         return cuMemberBonusDetail; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     /** |     /** | ||||||
|      * 计算直推收益 -- 精品专区 |      * 计算直推收益 -- 精品专区 | ||||||
|      */ |      */ | ||||||
|  | @ -753,13 +815,13 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|         if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() |         if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() | ||||||
|                 || EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) { |                 || EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) { | ||||||
|             // 精品专区按订单金额计算 -- 2025.10.13精品专区改为按业绩处理 |             // 精品专区按订单金额计算 -- 2025.10.13精品专区改为按业绩处理 | ||||||
|             BigDecimal orderAmount = saOrderExt.getOrderAchieve(); |             BigDecimal orderAchieve = saOrderExt.getOrderAchieve(); | ||||||
|             // 订单金额除50取整,为新増点位数量 |             // 订单金额除50取整,为新増点位数量 | ||||||
|             newPointInt = orderAmount.divide(RetailConstants.POINT_VAL, 0, RoundingMode.DOWN).intValue(); |             newPointInt = orderAchieve.divide(RetailConstants.POINT_VAL, 0, RoundingMode.DOWN).intValue(); | ||||||
|             if (orderAmount.compareTo(BonusConstants.GIFT_TWO_AMOUNT) >= 0 && sourceMember.getGiftPoint() < 2) { |             if (orderAchieve.compareTo(BonusConstants.GIFT_TWO_AMOUNT) >= 0 && sourceMember.getGiftPoint() < 2) { | ||||||
|                 // 首次订单金额大于等于2万,每个点位完成三阶段赠送2个点位 |                 // 首次订单金额大于等于2万,每个点位完成三阶段赠送2个点位 | ||||||
|                 sourceMember.setGiftPoint(2); |                 sourceMember.setGiftPoint(2); | ||||||
|             } else if (orderAmount.compareTo(BonusConstants.GIFT_ONE_AMOUNT) >= 0 && sourceMember.getGiftPoint() < 1) { |             } else if (orderAchieve.compareTo(BonusConstants.GIFT_ONE_AMOUNT) >= 0 && sourceMember.getGiftPoint() < 1) { | ||||||
|                 // 首次订单金额大于等于1万,每个点位完成三阶段赠送1个点位 |                 // 首次订单金额大于等于1万,每个点位完成三阶段赠送1个点位 | ||||||
|                 sourceMember.setGiftPoint(1); |                 sourceMember.setGiftPoint(1); | ||||||
|             } |             } | ||||||
|  | @ -1359,5 +1421,63 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     /** | ||||||
|  |      * 计算赠品积分 | ||||||
|  |      */ | ||||||
|  |     private void calculateGiftPoint(Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, SaOrderExt saOrderExt, | ||||||
|  |                                     Map<Long, CuMemberBonus> cuMemberBonusMap, List<CuMemberBonusDetail> cuMemberBonusDetailList, | ||||||
|  |                                     BonusConfigDTO bonusConfigDTO, Integer period) { | ||||||
|  |         // 订单业绩 | ||||||
|  |         BigDecimal orderAchieve = saOrderExt.getOrderAchieve(); | ||||||
|  |         // 一次性消费拿赠品积分 | ||||||
|  |         CuMemberRetailRangeExt sourceMember = memberRangeExtMap.get(saOrderExt.getPkMember()); | ||||||
|  |         // 推荐会员消费拿赠品积分 | ||||||
|  |         CuMemberRetailRangeExt targetMember = memberRangeExtMap.get(saOrderExt.getPkReference()); | ||||||
|  | 
 | ||||||
|  |         // 赠送积分 | ||||||
|  |         BigDecimal giftPoint = BigDecimal.ZERO; | ||||||
|  |         // 推荐赠送积分 | ||||||
|  |         BigDecimal targetGiftPoint = BigDecimal.ZERO; | ||||||
|  | 
 | ||||||
|  |         if (orderAchieve.compareTo(BonusConstants.GIFT_TWO_AMOUNT) >= 0) { | ||||||
|  |             // 订单业绩大于等于2万 | ||||||
|  |             giftPoint = BonusConstants.GIFT_TWO_POINT; | ||||||
|  |             targetGiftPoint = BonusConstants.TARGET_GIFT_TWO_POINT; | ||||||
|  |         } else if (orderAchieve.compareTo(BonusConstants.GIFT_ONE_AMOUNT) >= 0) { | ||||||
|  |             // 订单业绩大于等于1万 | ||||||
|  |             giftPoint = BonusConstants.GIFT_ONE_POINT; | ||||||
|  |             targetGiftPoint = BonusConstants.TARGET_GIFT_ONE_POINT; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         if (giftPoint.compareTo(BigDecimal.ZERO) > 0 && null != sourceMember) { | ||||||
|  |             CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, sourceMember.getPkMember(), | ||||||
|  |                     sourceMember.getIncomeStatus(), sourceMember.getPkSettleCountry(), sourceMember.getPkRate() == null ? saOrderExt.getPkRate() : sourceMember.getPkRate()); | ||||||
|  |             int pkBonusItems = getPkBonusItems(bonusConfigDTO, sourceMember.getPkSettleCountry(), EBonusItems.RANGE_INCOME.getValue()); | ||||||
|  |             CuMemberBonusDetail cuMemberBonusDetail = getCuMemberBonusDetail(saOrderExt, sourceMember, cuMemberBonus, pkBonusItems); | ||||||
|  |             cuMemberBonusDetail.setPretaxIncome(giftPoint); | ||||||
|  |             setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusDetail, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate()); | ||||||
|  |             giftPointRemark(saOrderExt, cuMemberBonusDetail, sourceMember); | ||||||
|  |             if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusDetail.getIncomeStatus()) { | ||||||
|  |                 cuMemberBonus.setBackPoints(ComputeUtil.computeAdd(cuMemberBonus.getBackPoints(), giftPoint)); | ||||||
|  |             } | ||||||
|  |             cuMemberBonusDetailList.add(cuMemberBonusDetail); | ||||||
|  |         } | ||||||
|  |         if (targetGiftPoint.compareTo(BigDecimal.ZERO) > 0 && null != targetMember && targetMember.getGradeValue() >= EGrade.HAI_FAN.getValue()) { | ||||||
|  |             // 银卡 或 金卡会员推荐才有奖励 | ||||||
|  |             CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, targetMember.getPkMember(), | ||||||
|  |                     targetMember.getIncomeStatus(), targetMember.getPkSettleCountry(), targetMember.getPkRate() == null ? saOrderExt.getPkRate() : targetMember.getPkRate()); | ||||||
|  |             int pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMember.getPkSettleCountry(), EBonusItems.RANGE_INCOME.getValue()); | ||||||
|  |             CuMemberBonusDetail cuMemberBonusDetail = getCuMemberBonusDetail(saOrderExt, targetMember, cuMemberBonus, pkBonusItems); | ||||||
|  |             cuMemberBonusDetail.setPretaxIncome(giftPoint); | ||||||
|  |             setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusDetail, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate()); | ||||||
|  |             giftPointRemark(saOrderExt, cuMemberBonusDetail, targetMember); | ||||||
|  |             if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusDetail.getIncomeStatus()) { | ||||||
|  |                 cuMemberBonus.setBackPoints(ComputeUtil.computeAdd(cuMemberBonus.getBackPoints(), giftPoint)); | ||||||
|  |             } | ||||||
|  |             cuMemberBonusDetailList.add(cuMemberBonusDetail); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     } | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -221,6 +221,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { | ||||||
|         iCuMemberBonusPushService.deleteCuMemberBonusPush(period); |         iCuMemberBonusPushService.deleteCuMemberBonusPush(period); | ||||||
|         iCuMemberBonusStageService.deleteCuMemberBonusStage(period); |         iCuMemberBonusStageService.deleteCuMemberBonusStage(period); | ||||||
|         iCuMemberBonusRangeService.deleteCuMemberBonusRange(period); |         iCuMemberBonusRangeService.deleteCuMemberBonusRange(period); | ||||||
|  |         iCuMemberBonusDetailService.deleteCuMemberBonusDetail(period); | ||||||
|         iCuMemberBonusService.deleteCuMemberBonus(period); |         iCuMemberBonusService.deleteCuMemberBonus(period); | ||||||
|         if (cuMemberBonusMap.size() == 0) { |         if (cuMemberBonusMap.size() == 0) { | ||||||
|             return; |             return; | ||||||
|  | @ -230,6 +231,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { | ||||||
|         List<CuMemberBonusPush> cuMemberBonusPushList = bonusRecordDetailVO.getCuMemberBonusPushList(); |         List<CuMemberBonusPush> cuMemberBonusPushList = bonusRecordDetailVO.getCuMemberBonusPushList(); | ||||||
|         List<CuMemberBonusRange> cuMemberBonusRangeList = bonusRecordDetailVO.getCuMemberBonusRangeList(); |         List<CuMemberBonusRange> cuMemberBonusRangeList = bonusRecordDetailVO.getCuMemberBonusRangeList(); | ||||||
|         List<CuMemberBonusStage> cuMemberBonusStageList = bonusRecordDetailVO.getCuMemberBonusStageList(); |         List<CuMemberBonusStage> cuMemberBonusStageList = bonusRecordDetailVO.getCuMemberBonusStageList(); | ||||||
|  |         List<CuMemberBonusDetail> cuMemberBonusDetailList = bonusRecordDetailVO.getCuMemberBonusDetailList(); | ||||||
|         if (cuMemberBonusPushList != null && cuMemberBonusPushList.size() > 0) { |         if (cuMemberBonusPushList != null && cuMemberBonusPushList.size() > 0) { | ||||||
|             cuMemberBonusPushList.forEach(cuMemberBonusPush -> |             cuMemberBonusPushList.forEach(cuMemberBonusPush -> | ||||||
|                     cuMemberBonusPush.setPkBonus(cuMemberBonusMap.get(cuMemberBonusPush.getPkBonus()).getPkId())); |                     cuMemberBonusPush.setPkBonus(cuMemberBonusMap.get(cuMemberBonusPush.getPkBonus()).getPkId())); | ||||||
|  | @ -242,12 +244,17 @@ public class BonusSettleServiceImpl implements IBonusSettleService { | ||||||
|             cuMemberBonusStageList.forEach(cuMemberBonusStage -> |             cuMemberBonusStageList.forEach(cuMemberBonusStage -> | ||||||
|                     cuMemberBonusStage.setPkBonus(cuMemberBonusMap.get(cuMemberBonusStage.getPkBonus()).getPkId())); |                     cuMemberBonusStage.setPkBonus(cuMemberBonusMap.get(cuMemberBonusStage.getPkBonus()).getPkId())); | ||||||
|         } |         } | ||||||
|  |         if (cuMemberBonusDetailList != null && cuMemberBonusDetailList.size() > 0) { | ||||||
|  |             cuMemberBonusDetailList.forEach(cuMemberBonusDetail -> | ||||||
|  |                     cuMemberBonusDetail.setPkBonus(cuMemberBonusMap.get(cuMemberBonusDetail.getPkBonus()).getPkId())); | ||||||
|  |         } | ||||||
|         // 插入奖金主表 |         // 插入奖金主表 | ||||||
|         iCuMemberBonusService.batchInsertCuMemberBonus(cuMemberBonusList); |         iCuMemberBonusService.batchInsertCuMemberBonus(cuMemberBonusList); | ||||||
|         Set<Long> memberIdSet = iCuMemberBonusService.queryMemberBonusByPeriod(period); |         Set<Long> memberIdSet = iCuMemberBonusService.queryMemberBonusByPeriod(period); | ||||||
|         iCuMemberBonusPushService.batchInsertCuMemberBonusPush(cuMemberBonusPushList, memberIdSet); |         iCuMemberBonusPushService.batchInsertCuMemberBonusPush(cuMemberBonusPushList, memberIdSet); | ||||||
|         iCuMemberBonusRangeService.batchInsertCuMemberBonusRange(cuMemberBonusRangeList, memberIdSet); |         iCuMemberBonusRangeService.batchInsertCuMemberBonusRange(cuMemberBonusRangeList, memberIdSet); | ||||||
|         iCuMemberBonusStageService.batchInsertCuMemberBonusStage(cuMemberBonusStageList, memberIdSet); |         iCuMemberBonusStageService.batchInsertCuMemberBonusStage(cuMemberBonusStageList, memberIdSet); | ||||||
|  |         iCuMemberBonusDetailService.batchInsertCuMemberBonusDetail(cuMemberBonusDetailList, memberIdSet); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     private List<CuMemberBonus> setCuMemberBonusSeq(String settleDate, Map<Long, CuMemberBonus> cuMemberBonusMap) { |     private List<CuMemberBonus> setCuMemberBonusSeq(String settleDate, Map<Long, CuMemberBonus> cuMemberBonusMap) { | ||||||
|  |  | ||||||
|  | @ -40,6 +40,15 @@ public class BonusConstants { | ||||||
|      */ |      */ | ||||||
|     public static final BigDecimal GIFT_ONE_POINT = new BigDecimal("2000"); |     public static final BigDecimal GIFT_ONE_POINT = new BigDecimal("2000"); | ||||||
| 
 | 
 | ||||||
|  |     /** | ||||||
|  |      * 推荐2万业绩会员赠送积分 | ||||||
|  |      */ | ||||||
|  |     public static final BigDecimal TARGET_GIFT_TWO_POINT = new BigDecimal("2000"); | ||||||
|  |     /** | ||||||
|  |      * 推荐1万业绩会员赠送积分 | ||||||
|  |      */ | ||||||
|  |     public static final BigDecimal TARGET_GIFT_ONE_POINT = new BigDecimal("1000"); | ||||||
|  | 
 | ||||||
|     /** |     /** | ||||||
|      * 一阶段奖金 -- 满14,发35 |      * 一阶段奖金 -- 满14,发35 | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|  | @ -0,0 +1,28 @@ | ||||||
|  | package com.hzs.bonus.detail.mapper; | ||||||
|  | 
 | ||||||
|  | import com.baomidou.mybatisplus.core.mapper.BaseMapper; | ||||||
|  | import com.hzs.common.domain.member.detail.CuMemberGrade; | ||||||
|  | import com.hzs.common.domain.member.detail.CuMemberLevel; | ||||||
|  | import org.apache.ibatis.annotations.Param; | ||||||
|  | 
 | ||||||
|  | import java.util.Date; | ||||||
|  | import java.util.List; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * 会员信息-等级升级记录 Mapper 接口 | ||||||
|  |  */ | ||||||
|  | public interface CuMemberGradeMapper extends BaseMapper<CuMemberGrade> { | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * 更新会员手动升级 | ||||||
|  |      */ | ||||||
|  |     void updateCuMemberManualGrade(@Param("rangeTableName") String rangeTableName, @Param("period") Integer period); | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * 查询会员升级记录 | ||||||
|  |      */ | ||||||
|  |     List<CuMemberLevel> queryCuMemberLevel(@Param("startDate") Date startDate, | ||||||
|  |                                            @Param("endDate") Date endDate, | ||||||
|  |                                            @Param("upType") Integer upType); | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | @ -0,0 +1,25 @@ | ||||||
|  | package com.hzs.bonus.detail.service; | ||||||
|  | 
 | ||||||
|  | import com.baomidou.mybatisplus.extension.service.IService; | ||||||
|  | import com.hzs.common.domain.member.detail.CuMemberGrade; | ||||||
|  | import com.hzs.common.domain.member.detail.CuMemberLevel; | ||||||
|  | 
 | ||||||
|  | import java.util.Date; | ||||||
|  | import java.util.List; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * 会员信息-等级升级记录 服务类 | ||||||
|  |  */ | ||||||
|  | public interface ICuMemberGradeService extends IService<CuMemberGrade> { | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * 更新会员手动升级 | ||||||
|  |      */ | ||||||
|  |     void updateCuMemberManualGrade(String rangeTableName, Integer period); | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * 回退极差奖衔,每日重新结算,先把等级回退到前一天 | ||||||
|  |      */ | ||||||
|  |     List<CuMemberLevel> queryCuMemberLevel(Date startDate, Date endDate); | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | @ -0,0 +1,32 @@ | ||||||
|  | package com.hzs.bonus.detail.service.impl; | ||||||
|  | 
 | ||||||
|  | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | ||||||
|  | import com.hzs.bonus.detail.mapper.CuMemberGradeMapper; | ||||||
|  | import com.hzs.bonus.detail.service.ICuMemberGradeService; | ||||||
|  | import com.hzs.common.core.enums.EUpgradeType; | ||||||
|  | import com.hzs.common.domain.member.detail.CuMemberGrade; | ||||||
|  | import com.hzs.common.domain.member.detail.CuMemberLevel; | ||||||
|  | import org.springframework.stereotype.Service; | ||||||
|  | 
 | ||||||
|  | import java.util.Date; | ||||||
|  | import java.util.List; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * 会员信息-等级升级记录 服务实现类 | ||||||
|  |  */ | ||||||
|  | @Service | ||||||
|  | public class CuMemberGradeServiceImpl extends ServiceImpl<CuMemberGradeMapper, CuMemberGrade> implements ICuMemberGradeService { | ||||||
|  | 
 | ||||||
|  |     @Override | ||||||
|  |     public void updateCuMemberManualGrade(String rangeTableName, Integer period) { | ||||||
|  |         // 根据手动升级记录,更新日结表 | ||||||
|  |         baseMapper.updateCuMemberManualGrade(rangeTableName, period); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Override | ||||||
|  |     public List<CuMemberLevel> queryCuMemberLevel(Date startDate, Date endDate) { | ||||||
|  |         // 购买升级记录列表 | ||||||
|  |         return baseMapper.queryCuMemberLevel(startDate, endDate, EUpgradeType.BUY_UPGRADE.getValue()); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | @ -58,6 +58,7 @@ | ||||||
|         <result column="gift_point" property="giftPoint"/> |         <result column="gift_point" property="giftPoint"/> | ||||||
|         <result column="gift_pay_time" property="giftPayTime"/> |         <result column="gift_pay_time" property="giftPayTime"/> | ||||||
| 
 | 
 | ||||||
|  |         <result column="GRADE_VALUE" property="gradeValue"/> | ||||||
|         <result column="AWARDS_VALUE" property="awardsValue"/> |         <result column="AWARDS_VALUE" property="awardsValue"/> | ||||||
|         <result column="AWARDS_NAME" property="awardsName"/> |         <result column="AWARDS_NAME" property="awardsName"/> | ||||||
|         <result column="RANGE_RATIO" property="rangeRatio"/> |         <result column="RANGE_RATIO" property="rangeRatio"/> | ||||||
|  | @ -141,252 +142,252 @@ | ||||||
|     <update id="mergeMemberRetailRangeDetailByYesterday"> |     <update id="mergeMemberRetailRangeDetailByYesterday"> | ||||||
|         insert into ${detailTableName} |         insert into ${detailTableName} | ||||||
|         select t.pk_member, |         select t.pk_member, | ||||||
|                t.child_node, |         t.child_node, | ||||||
|                cm.pk_parent, |         cm.pk_parent, | ||||||
|                t.stage, |         t.stage, | ||||||
|                t.stage_status, |         t.stage_status, | ||||||
|                t.stage_date, |         t.stage_date, | ||||||
|                t.point_member_11, |         t.point_member_11, | ||||||
|                t.point_11, |         t.point_11, | ||||||
|                t.point_member_12, |         t.point_member_12, | ||||||
|                t.point_12, |         t.point_12, | ||||||
|                t.point_member_21, |         t.point_member_21, | ||||||
|                t.point_21, |         t.point_21, | ||||||
|                t.point_member_22, |         t.point_member_22, | ||||||
|                t.point_22, |         t.point_22, | ||||||
|                t.point_member_23, |         t.point_member_23, | ||||||
|                t.point_23, |         t.point_23, | ||||||
|                t.point_member_24, |         t.point_member_24, | ||||||
|                t.point_24, |         t.point_24, | ||||||
|                t.point_member_31, |         t.point_member_31, | ||||||
|                t.point_31, |         t.point_31, | ||||||
|                t.point_member_32, |         t.point_member_32, | ||||||
|                t.point_32, |         t.point_32, | ||||||
|                t.point_member_33, |         t.point_member_33, | ||||||
|                t.point_33, |         t.point_33, | ||||||
|                t.point_member_34, |         t.point_member_34, | ||||||
|                t.point_34, |         t.point_34, | ||||||
|                t.point_member_35, |         t.point_member_35, | ||||||
|                t.point_35, |         t.point_35, | ||||||
|                t.point_member_36, |         t.point_member_36, | ||||||
|                t.point_36, |         t.point_36, | ||||||
|                t.point_member_37, |         t.point_member_37, | ||||||
|                t.point_37, |         t.point_37, | ||||||
|                t.point_member_38, |         t.point_member_38, | ||||||
|                t.point_38, |         t.point_38, | ||||||
|                t.point_type, |         t.point_type, | ||||||
|                t.point_gift, |         t.point_gift, | ||||||
|                t.creation_time, |         t.creation_time, | ||||||
|                t.point_member_first, |         t.point_member_first, | ||||||
|                t.point_first, |         t.point_first, | ||||||
|                t.point_member_second, |         t.point_member_second, | ||||||
|                t.point_second, |         t.point_second, | ||||||
|                t.point_member_third, |         t.point_member_third, | ||||||
|                t.point_third, |         t.point_third, | ||||||
|                t.third_bonus_1, |         t.third_bonus_1, | ||||||
|                t.third_bonus_2, |         t.third_bonus_2, | ||||||
|                t.third_bonus_3, |         t.third_bonus_3, | ||||||
|                t.stage_sort |         t.stage_sort | ||||||
|         from ${yesterdayDetailTableName} t |         from ${yesterdayDetailTableName} t | ||||||
|                  left join cu_member cm |         left join cu_member cm | ||||||
|                            on cm.pk_id = t.pk_member |         on cm.pk_id = t.pk_member | ||||||
| <!-- |         <!-- | ||||||
|         merge into ${detailTableName} a |                 merge into ${detailTableName} a | ||||||
|             using ( |                     using ( | ||||||
|                 select x.pk_member, |                         select x.pk_member, | ||||||
|                        x.child_node, |                                x.child_node, | ||||||
|                        cm.pk_parent, |                                cm.pk_parent, | ||||||
|                        x.stage, |                                x.stage, | ||||||
|                        x.stage_status, |                                x.stage_status, | ||||||
|                        x.stage_date, |                                x.stage_date, | ||||||
|                        x.point_11, |                                x.point_11, | ||||||
|                        x.point_12, |                                x.point_12, | ||||||
|                        x.point_21, |                                x.point_21, | ||||||
|                        x.point_22, |                                x.point_22, | ||||||
|                        x.point_23, |                                x.point_23, | ||||||
|                        x.point_24, |                                x.point_24, | ||||||
|                        x.point_31, |                                x.point_31, | ||||||
|                        x.point_32, |                                x.point_32, | ||||||
|                        x.point_33, |                                x.point_33, | ||||||
|                        x.point_34, |                                x.point_34, | ||||||
|                        x.point_35, |                                x.point_35, | ||||||
|                        x.point_36, |                                x.point_36, | ||||||
|                        x.point_37, |                                x.point_37, | ||||||
|                        x.point_38, |                                x.point_38, | ||||||
|                        x.point_member_11, |                                x.point_member_11, | ||||||
|                        x.point_member_12, |                                x.point_member_12, | ||||||
|                        x.point_member_21, |                                x.point_member_21, | ||||||
|                        x.point_member_22, |                                x.point_member_22, | ||||||
|                        x.point_member_23, |                                x.point_member_23, | ||||||
|                        x.point_member_24, |                                x.point_member_24, | ||||||
|                        x.point_member_31, |                                x.point_member_31, | ||||||
|                        x.point_member_32, |                                x.point_member_32, | ||||||
|                        x.point_member_33, |                                x.point_member_33, | ||||||
|                        x.point_member_34, |                                x.point_member_34, | ||||||
|                        x.point_member_35, |                                x.point_member_35, | ||||||
|                        x.point_member_36, |                                x.point_member_36, | ||||||
|                        x.point_member_37, |                                x.point_member_37, | ||||||
|                        x.point_member_38, |                                x.point_member_38, | ||||||
|                        x.point_type, |                                x.point_type, | ||||||
|                        x.point_gift, |                                x.point_gift, | ||||||
|                        x.creation_time, |                                x.creation_time, | ||||||
|                        x.point_first, |                                x.point_first, | ||||||
|                        x.point_member_first, |                                x.point_member_first, | ||||||
|                        x.point_second, |                                x.point_second, | ||||||
|                        x.point_member_second, |                                x.point_member_second, | ||||||
|                        x.point_third, |                                x.point_third, | ||||||
|                        x.point_member_third, |                                x.point_member_third, | ||||||
|                        x.third_bonus_1, |                                x.third_bonus_1, | ||||||
|                        x.third_bonus_2, |                                x.third_bonus_2, | ||||||
|                        x.third_bonus_3, |                                x.third_bonus_3, | ||||||
|                        x.stage_sort |                                x.stage_sort | ||||||
|                 from ${yesterdayDetailTableName} x |                         from ${yesterdayDetailTableName} x | ||||||
|                          left join cu_member cm |                                  left join cu_member cm | ||||||
|                                    on cm.pk_id = x.pk_member |                                            on cm.pk_id = x.pk_member | ||||||
|             ) b |                     ) b | ||||||
|             on (a.pk_member = b.pk_member and a.child_node = b.child_node and a.stage = b.stage) |                     on (a.pk_member = b.pk_member and a.child_node = b.child_node and a.stage = b.stage) | ||||||
|             when not matched then |                     when not matched then | ||||||
|                 insert (pk_member, |                         insert (pk_member, | ||||||
|                         child_node, |                                 child_node, | ||||||
|                         pk_parent, |                                 pk_parent, | ||||||
|                         stage, |                                 stage, | ||||||
|                         stage_status, |                                 stage_status, | ||||||
|                         stage_date, |                                 stage_date, | ||||||
|                         point_11, |                                 point_11, | ||||||
|                         point_12, |                                 point_12, | ||||||
|                         point_21, |                                 point_21, | ||||||
|                         point_22, |                                 point_22, | ||||||
|                         point_23, |                                 point_23, | ||||||
|                         point_24, |                                 point_24, | ||||||
|                         point_31, |                                 point_31, | ||||||
|                         point_32, |                                 point_32, | ||||||
|                         point_33, |                                 point_33, | ||||||
|                         point_34, |                                 point_34, | ||||||
|                         point_35, |                                 point_35, | ||||||
|                         point_36, |                                 point_36, | ||||||
|                         point_37, |                                 point_37, | ||||||
|                         point_38, |                                 point_38, | ||||||
|                         point_member_11, |                                 point_member_11, | ||||||
|                         point_member_12, |                                 point_member_12, | ||||||
|                         point_member_21, |                                 point_member_21, | ||||||
|                         point_member_22, |                                 point_member_22, | ||||||
|                         point_member_23, |                                 point_member_23, | ||||||
|                         point_member_24, |                                 point_member_24, | ||||||
|                         point_member_31, |                                 point_member_31, | ||||||
|                         point_member_32, |                                 point_member_32, | ||||||
|                         point_member_33, |                                 point_member_33, | ||||||
|                         point_member_34, |                                 point_member_34, | ||||||
|                         point_member_35, |                                 point_member_35, | ||||||
|                         point_member_36, |                                 point_member_36, | ||||||
|                         point_member_37, |                                 point_member_37, | ||||||
|                         point_member_38, |                                 point_member_38, | ||||||
|                         point_type, |                                 point_type, | ||||||
|                         point_gift, |                                 point_gift, | ||||||
|                         creation_time, |                                 creation_time, | ||||||
|                         point_first, |                                 point_first, | ||||||
|                         point_member_first, |                                 point_member_first, | ||||||
|                         point_second, |                                 point_second, | ||||||
|                         point_member_second, |                                 point_member_second, | ||||||
|                         point_third, |                                 point_third, | ||||||
|                         point_member_third, |                                 point_member_third, | ||||||
|                         third_bonus_1, |                                 third_bonus_1, | ||||||
|                         third_bonus_2, |                                 third_bonus_2, | ||||||
|                         third_bonus_3, |                                 third_bonus_3, | ||||||
|                         stage_sort) |                                 stage_sort) | ||||||
|                     values (b.pk_member, |                             values (b.pk_member, | ||||||
|                             b.child_node, |                                     b.child_node, | ||||||
|                             b.pk_parent, |                                     b.pk_parent, | ||||||
|                             b.stage, |                                     b.stage, | ||||||
|                             b.stage_status, |                                     b.stage_status, | ||||||
|                             b.stage_date, |                                     b.stage_date, | ||||||
|                             b.point_11, |                                     b.point_11, | ||||||
|                             b.point_12, |                                     b.point_12, | ||||||
|                             b.point_21, |                                     b.point_21, | ||||||
|                             b.point_22, |                                     b.point_22, | ||||||
|                             b.point_23, |                                     b.point_23, | ||||||
|                             b.point_24, |                                     b.point_24, | ||||||
|                             b.point_31, |                                     b.point_31, | ||||||
|                             b.point_32, |                                     b.point_32, | ||||||
|                             b.point_33, |                                     b.point_33, | ||||||
|                             b.point_34, |                                     b.point_34, | ||||||
|                             b.point_35, |                                     b.point_35, | ||||||
|                             b.point_36, |                                     b.point_36, | ||||||
|                             b.point_37, |                                     b.point_37, | ||||||
|                             b.point_38, |                                     b.point_38, | ||||||
|                             b.point_member_11, |                                     b.point_member_11, | ||||||
|                             b.point_member_12, |                                     b.point_member_12, | ||||||
|                             b.point_member_21, |                                     b.point_member_21, | ||||||
|                             b.point_member_22, |                                     b.point_member_22, | ||||||
|                             b.point_member_23, |                                     b.point_member_23, | ||||||
|                             b.point_member_24, |                                     b.point_member_24, | ||||||
|                             b.point_member_31, |                                     b.point_member_31, | ||||||
|                             b.point_member_32, |                                     b.point_member_32, | ||||||
|                             b.point_member_33, |                                     b.point_member_33, | ||||||
|                             b.point_member_34, |                                     b.point_member_34, | ||||||
|                             b.point_member_35, |                                     b.point_member_35, | ||||||
|                             b.point_member_36, |                                     b.point_member_36, | ||||||
|                             b.point_member_37, |                                     b.point_member_37, | ||||||
|                             b.point_member_38, |                                     b.point_member_38, | ||||||
|                             b.point_type, |                                     b.point_type, | ||||||
|                             b.point_gift, |                                     b.point_gift, | ||||||
|                             b.creation_time, |                                     b.creation_time, | ||||||
|                             b.point_first, |                                     b.point_first, | ||||||
|                             b.point_member_first, |                                     b.point_member_first, | ||||||
|                             b.point_second, |                                     b.point_second, | ||||||
|                             b.point_member_second, |                                     b.point_member_second, | ||||||
|                             b.point_third, |                                     b.point_third, | ||||||
|                             b.point_member_third, |                                     b.point_member_third, | ||||||
|                             b.third_bonus_1, |                                     b.third_bonus_1, | ||||||
|                             b.third_bonus_2, |                                     b.third_bonus_2, | ||||||
|                             b.third_bonus_3, |                                     b.third_bonus_3, | ||||||
|                             b.stage_sort) |                                     b.stage_sort) | ||||||
|             when matched then |                     when matched then | ||||||
|                 update set |                         update set | ||||||
|                     a.pk_parent = b.pk_parent, |                             a.pk_parent = b.pk_parent, | ||||||
|                     a.stage_status = b.stage_status, |                             a.stage_status = b.stage_status, | ||||||
|                     a.stage_date = b.stage_date, |                             a.stage_date = b.stage_date, | ||||||
|                     a.point_11 = b.point_11, |                             a.point_11 = b.point_11, | ||||||
|                     a.point_12 = b.point_12, |                             a.point_12 = b.point_12, | ||||||
|                     a.point_21 = b.point_21, |                             a.point_21 = b.point_21, | ||||||
|                     a.point_22 = b.point_22, |                             a.point_22 = b.point_22, | ||||||
|                     a.point_23 = b.point_23, |                             a.point_23 = b.point_23, | ||||||
|                     a.point_24 = b.point_24, |                             a.point_24 = b.point_24, | ||||||
|                     a.point_31 = b.point_31, |                             a.point_31 = b.point_31, | ||||||
|                     a.point_32 = b.point_32, |                             a.point_32 = b.point_32, | ||||||
|                     a.point_33 = b.point_33, |                             a.point_33 = b.point_33, | ||||||
|                     a.point_34 = b.point_34, |                             a.point_34 = b.point_34, | ||||||
|                     a.point_35 = b.point_35, |                             a.point_35 = b.point_35, | ||||||
|                     a.point_36 = b.point_36, |                             a.point_36 = b.point_36, | ||||||
|                     a.point_37 = b.point_37, |                             a.point_37 = b.point_37, | ||||||
|                     a.point_38 = b.point_38, |                             a.point_38 = b.point_38, | ||||||
|                     a.point_member_11 = b.point_member_11, |                             a.point_member_11 = b.point_member_11, | ||||||
|                     a.point_member_12 = b.point_member_12, |                             a.point_member_12 = b.point_member_12, | ||||||
|                     a.point_member_21 = b.point_member_21, |                             a.point_member_21 = b.point_member_21, | ||||||
|                     a.point_member_22 = b.point_member_22, |                             a.point_member_22 = b.point_member_22, | ||||||
|                     a.point_member_23 = b.point_member_23, |                             a.point_member_23 = b.point_member_23, | ||||||
|                     a.point_member_24 = b.point_member_24, |                             a.point_member_24 = b.point_member_24, | ||||||
|                     a.point_member_31 = b.point_member_31, |                             a.point_member_31 = b.point_member_31, | ||||||
|                     a.point_member_32 = b.point_member_32, |                             a.point_member_32 = b.point_member_32, | ||||||
|                     a.point_member_33 = b.point_member_33, |                             a.point_member_33 = b.point_member_33, | ||||||
|                     a.point_member_34 = b.point_member_34, |                             a.point_member_34 = b.point_member_34, | ||||||
|                     a.point_member_35 = b.point_member_35, |                             a.point_member_35 = b.point_member_35, | ||||||
|                     a.point_member_36 = b.point_member_36, |                             a.point_member_36 = b.point_member_36, | ||||||
|                     a.point_member_37 = b.point_member_37, |                             a.point_member_37 = b.point_member_37, | ||||||
|                     a.point_member_38 = b.point_member_38, |                             a.point_member_38 = b.point_member_38, | ||||||
|                     a.point_type = b.point_type, |                             a.point_type = b.point_type, | ||||||
|                     a.point_gift = b.point_gift, |                             a.point_gift = b.point_gift, | ||||||
|                     a.creation_time = b.creation_time, |                             a.creation_time = b.creation_time, | ||||||
|                     a.point_first = b.point_first, |                             a.point_first = b.point_first, | ||||||
|                     a.point_member_first = b.point_member_first, |                             a.point_member_first = b.point_member_first, | ||||||
|                     a.point_second = b.point_second, |                             a.point_second = b.point_second, | ||||||
|                     a.point_member_second = b.point_member_second, |                             a.point_member_second = b.point_member_second, | ||||||
|                     a.point_third = b.point_third, |                             a.point_third = b.point_third, | ||||||
|                     a.point_member_third = b.point_member_third, |                             a.point_member_third = b.point_member_third, | ||||||
|                     a.third_bonus_1 = b.third_bonus_1, |                             a.third_bonus_1 = b.third_bonus_1, | ||||||
|                     a.third_bonus_2 = b.third_bonus_2, |                             a.third_bonus_2 = b.third_bonus_2, | ||||||
|                     a.third_bonus_3 = b.third_bonus_3, |                             a.third_bonus_3 = b.third_bonus_3, | ||||||
|                     a.stage_sort = b.stage_sort |                             a.stage_sort = b.stage_sort | ||||||
|  --> |          --> | ||||||
|     </update> |     </update> | ||||||
| 
 | 
 | ||||||
|     <!-- 更新会员日结数据 --> |     <!-- 更新会员日结数据 --> | ||||||
|  | @ -394,7 +395,7 @@ | ||||||
|         merge into ${rangeTableName} a |         merge into ${rangeTableName} a | ||||||
|         using ( |         using ( | ||||||
|         <foreach collection="cuMemberRangeExtList" item="item" open=" " close=" " separator="union"> |         <foreach collection="cuMemberRangeExtList" item="item" open=" " close=" " separator="union"> | ||||||
|             select #{item.pkMember} pk_member, #{item.pkAwards} pk_awards, #{item.pkShareAwards} pk_share_awards, |             select #{item.pkMember} pk_member, #{item.pkGrade} pk_grade, #{item.pkAwards} pk_awards, #{item.pkShareAwards} pk_share_awards, | ||||||
|             #{item.newConsumePv} new_consume_pv, #{item.consumePv} consume_pv, #{item.monthConsumePv} month_consume_pv, |             #{item.newConsumePv} new_consume_pv, #{item.consumePv} consume_pv, #{item.monthConsumePv} month_consume_pv, | ||||||
|             #{item.newConsumeAmount} new_consume_amount, #{item.consumeAmount} consume_amount, #{item.monthConsumeAmount} month_consume_amount, |             #{item.newConsumeAmount} new_consume_amount, #{item.consumeAmount} consume_amount, #{item.monthConsumeAmount} month_consume_amount, | ||||||
|             #{item.teamNewPv} team_new_pv, #{item.teamConsumePv} team_consume_pv, #{item.teamMonthPv} team_month_pv, |             #{item.teamNewPv} team_new_pv, #{item.teamConsumePv} team_consume_pv, #{item.teamMonthPv} team_month_pv, | ||||||
|  | @ -412,7 +413,7 @@ | ||||||
|         ) b |         ) b | ||||||
|         on (a.pk_member = b.pk_member) |         on (a.pk_member = b.pk_member) | ||||||
|         when matched then |         when matched then | ||||||
|         update set a.pk_awards = b.pk_awards, a.pk_share_awards = b.pk_share_awards, |         update set a.pk_grade = b.pk_grade, a.pk_awards = b.pk_awards, a.pk_share_awards = b.pk_share_awards, | ||||||
|         a.new_consume_pv = b.new_consume_pv, a.consume_pv = b.consume_pv, a.month_consume_pv = b.month_consume_pv, |         a.new_consume_pv = b.new_consume_pv, a.consume_pv = b.consume_pv, a.month_consume_pv = b.month_consume_pv, | ||||||
|         a.new_consume_amount = b.new_consume_amount, a.consume_amount = b.consume_amount, a.month_consume_amount = b.month_consume_amount, |         a.new_consume_amount = b.new_consume_amount, a.consume_amount = b.consume_amount, a.month_consume_amount = b.month_consume_amount, | ||||||
|         a.team_new_pv = b.team_new_pv, a.team_consume_pv = b.team_consume_pv, a.team_month_pv = b.team_month_pv, |         a.team_new_pv = b.team_new_pv, a.team_consume_pv = b.team_consume_pv, a.team_month_pv = b.team_month_pv, | ||||||
|  | @ -751,7 +752,8 @@ | ||||||
|             gift_point, |             gift_point, | ||||||
|             gift_pay_time, |             gift_pay_time, | ||||||
|             bw.awards_value, |             bw.awards_value, | ||||||
|             bw.awards_name |             bw.awards_name, | ||||||
|  |             bg.grade_value | ||||||
|             from ( |             from ( | ||||||
|             select * from ${tableName} |             select * from ${tableName} | ||||||
|             start with pk_member = #{item} |             start with pk_member = #{item} | ||||||
|  | @ -759,6 +761,8 @@ | ||||||
|             ) a |             ) a | ||||||
|             inner join bd_awards bw |             inner join bd_awards bw | ||||||
|             on bw.pk_id = a.pk_awards |             on bw.pk_id = a.pk_awards | ||||||
|  |             inner join bd_grade bg | ||||||
|  |             on bg.pk_id = a.pk_grade | ||||||
|             left join bd_vertex bv |             left join bd_vertex bv | ||||||
|             on bv.pk_id = a.pk_vertex |             on bv.pk_id = a.pk_vertex | ||||||
|         </foreach> |         </foreach> | ||||||
|  | @ -1082,7 +1086,8 @@ | ||||||
|         connect by cmr.pk_member = prior cmr.pk_parent |         connect by cmr.pk_member = prior cmr.pk_parent | ||||||
|         group by cmr.pk_parent |         group by cmr.pk_parent | ||||||
|         having count (distinct cmr.pk_member) >= #{placeDeptNum}) |         having count (distinct cmr.pk_member) >= #{placeDeptNum}) | ||||||
|            and #{awardsValue} > ba.awards_value |            and #{awardsValue} | ||||||
|  |              > ba.awards_value | ||||||
|            and cmr.team_consume_pv >= #{totalCheck} |            and cmr.team_consume_pv >= #{totalCheck} | ||||||
|     </select> |     </select> | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -133,7 +133,7 @@ | ||||||
|         insert ( |         insert ( | ||||||
|         pk_id, pk_member, period, pk_rate, direct_income, global_points, |         pk_id, pk_member, period, pk_rate, direct_income, global_points, | ||||||
|         expand_income,expand_no_capping, |         expand_income,expand_no_capping, | ||||||
|         expand_capping,coach_income,share_income,service_income,back_points,service_spend, |         expand_capping,coach_income,share_income,service_income,back_points, service_spend, | ||||||
|         pur_real_subtotal,repur_push_income,repur_range_income,repur_expand_income,repur_real_subtotal, |         pur_real_subtotal,repur_push_income,repur_range_income,repur_expand_income,repur_real_subtotal, | ||||||
|         repur_coupon,repur_coupon_share,repur_coupon_subtotal, |         repur_coupon,repur_coupon_share,repur_coupon_subtotal, | ||||||
|         store_income, real_income_total, |         store_income, real_income_total, | ||||||
|  | @ -147,7 +147,7 @@ | ||||||
|         values ( |         values ( | ||||||
|         b.pk_id, b.pk_member, b.period, b.pk_rate, b.direct_income, b.global_points, |         b.pk_id, b.pk_member, b.period, b.pk_rate, b.direct_income, b.global_points, | ||||||
|         b.expand_income,b.expand_no_capping, |         b.expand_income,b.expand_no_capping, | ||||||
|         b.expand_capping,b.coach_income,b.share_income,b.service_income,b.back_points,b.service_spend, |         b.expand_capping,b.coach_income,b.share_income,b.service_income,b.back_points, b.service_spend, | ||||||
|         b.pur_real_subtotal,b.repur_push_income,b.repur_range_income,b.repur_expand_income,b.repur_real_subtotal, |         b.pur_real_subtotal,b.repur_push_income,b.repur_range_income,b.repur_expand_income,b.repur_real_subtotal, | ||||||
|         b.repur_coupon,b.repur_coupon_share,b.repur_coupon_subtotal, |         b.repur_coupon,b.repur_coupon_share,b.repur_coupon_subtotal, | ||||||
|         b.store_income, b.real_income_total, |         b.store_income, b.real_income_total, | ||||||
|  |  | ||||||
|  | @ -0,0 +1,38 @@ | ||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | ||||||
|  | <mapper namespace="com.hzs.bonus.detail.mapper.CuMemberGradeMapper"> | ||||||
|  | 
 | ||||||
|  |     <!-- 更新会员手动升级 --> | ||||||
|  |     <update id="updateCuMemberManualGrade"> | ||||||
|  |         merge into ${rangeTableName} a | ||||||
|  |             using ( | ||||||
|  |                 select a.pk_member, max(a.new_level) pk_grade | ||||||
|  |                 from cu_member_grade a | ||||||
|  |                          inner join( | ||||||
|  |                     select pk_member, max(nvl(modified_time, creation_time)) creation_time | ||||||
|  |                     from cu_member_grade | ||||||
|  |                     where period = #{period} | ||||||
|  |                       and del_flag = 0 | ||||||
|  |                       and up_type = 2 | ||||||
|  |                     group by pk_member) b | ||||||
|  |                                    on a.pk_member = b.pk_member and nvl(a.modified_time, a.creation_time) = b.creation_time | ||||||
|  |                 group by a.pk_member | ||||||
|  |             ) b | ||||||
|  |             on (a.pk_member = b.pk_member) | ||||||
|  |             when matched then | ||||||
|  |                 update set | ||||||
|  |                     a.pk_grade = b.pk_grade | ||||||
|  |     </update> | ||||||
|  | 
 | ||||||
|  |     <!-- 查询会员升级记录 --> | ||||||
|  |     <select id="queryCuMemberLevel" resultType="com.hzs.common.domain.member.detail.CuMemberLevel"> | ||||||
|  |         select * | ||||||
|  |         from cu_member_level | ||||||
|  |         where del_flag = 0 | ||||||
|  |           and up_type = #{upType} | ||||||
|  |           and upgrade_time >= #{startDate,jdbcType=DATE} | ||||||
|  |           and upgrade_time < #{endDate,jdbcType=DATE} | ||||||
|  |         order by upgrade_time | ||||||
|  |     </select> | ||||||
|  | 
 | ||||||
|  | </mapper> | ||||||
|  | @ -46,7 +46,6 @@ import com.hzs.sale.product.service.IBdProductService; | ||||||
| import com.hzs.sale.pub.dto.OrderDeductionDTO; | import com.hzs.sale.pub.dto.OrderDeductionDTO; | ||||||
| import com.hzs.system.base.IAreaServiceApi; | import com.hzs.system.base.IAreaServiceApi; | ||||||
| import com.hzs.system.base.ICurrencyServiceApi; | import com.hzs.system.base.ICurrencyServiceApi; | ||||||
| import com.hzs.system.base.ISystemConfigServiceApi; |  | ||||||
| import com.hzs.system.base.dto.CurrencyDTO; | import com.hzs.system.base.dto.CurrencyDTO; | ||||||
| import com.hzs.system.config.IAccountServiceApi; | import com.hzs.system.config.IAccountServiceApi; | ||||||
| import com.hzs.system.config.IServiceChargeServiceApi; | import com.hzs.system.config.IServiceChargeServiceApi; | ||||||
|  | @ -1260,7 +1259,8 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService { | ||||||
|         } |         } | ||||||
|         // 校验订单是否存在进行中的签呈 |         // 校验订单是否存在进行中的签呈 | ||||||
|         if (iSaOrderChargeLogService.checkOrderApprovalExist( |         if (iSaOrderChargeLogService.checkOrderApprovalExist( | ||||||
|                 Arrays.asList(EApprovalBusiness.ORDER_CHANGE_ADDRESS.getValue(), EApprovalBusiness.ORDER_CHANGE_PRODUCT.getValue(), |                 Arrays.asList(EApprovalBusiness.ORDER_CHANGE_ADDRESS.getValue(), | ||||||
|  |                         EApprovalBusiness.ORDER_CHANGE_PRODUCT.getValue(), | ||||||
|                         EApprovalBusiness.ORDER_RETURN.getValue(), approveBusiness, |                         EApprovalBusiness.ORDER_RETURN.getValue(), approveBusiness, | ||||||
|                         EApprovalBusiness.ORDER_CANCEL_PRODUCT.getValue() |                         EApprovalBusiness.ORDER_CANCEL_PRODUCT.getValue() | ||||||
|                 ), |                 ), | ||||||
|  | @ -1364,13 +1364,13 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService { | ||||||
|             } |             } | ||||||
|         } else if (orderCancelParam.getCancelType().equals(ECancelOrderType.OTHER_CANCEL_ORDER.getValue())) { |         } else if (orderCancelParam.getCancelType().equals(ECancelOrderType.OTHER_CANCEL_ORDER.getValue())) { | ||||||
|             // 其他撤单 |             // 其他撤单 | ||||||
|             if (EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType()) { |             if (EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) { | ||||||
|                 // 2025.03.05 复购可以升级,需要必须从最后一单开始撤单 |                 // 自购买精品专区订单,必须按顺序撤单 | ||||||
|                 List<SaOrder> saOrderList = iSaOrderService.querySaleOrderByPkMember(cuMember.getPkSettleCountry(), cuMember.getPkId(), |                 List<SaOrder> saOrderList = iSaOrderService.querySaleOrderByPkMember(cuMember.getPkSettleCountry(), cuMember.getPkId(), | ||||||
|                         Arrays.asList(EOrderType.RETAIL_REGISTER.getValue(), EOrderType.RETAIL_REPURCHASE.getValue()), |                         Arrays.asList(EOrderType.RETAIL_REGISTER.getValue(), EOrderType.RETAIL_UPGRADE.getValue()), | ||||||
|                         null); |                         null); | ||||||
|                 if (!saOrderList.get(0).getOrderCode().equals(saOrderExt.getOrderCode())) { |                 if (!saOrderList.get(0).getOrderCode().equals(saOrderExt.getOrderCode())) { | ||||||
|                     validateCancelOrderVO.setMsg("撤销复购订单,只能从最新的订单开始撤销,最新的订单编号:" + saOrderList.get(0).getOrderCode()); |                     validateCancelOrderVO.setMsg("撤销复购专区订单,只能从最新的订单开始撤销,最新的订单编号:" + saOrderList.get(0).getOrderCode()); | ||||||
|                     return validateCancelOrderVO; |                     return validateCancelOrderVO; | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|  | @ -2291,7 +2291,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService { | ||||||
|             return myOrderVO; |             return myOrderVO; | ||||||
|         } |         } | ||||||
|         if (myOrderVO.getOrderType() == EOrderType.RETAIL_REGISTER.getValue() || |         if (myOrderVO.getOrderType() == EOrderType.RETAIL_REGISTER.getValue() || | ||||||
|                 myOrderVO.getOrderType() == EOrderType.RETAIL_REPURCHASE.getValue()) { |                 myOrderVO.getOrderType() == EOrderType.RETAIL_UPGRADE.getValue()) { | ||||||
|             String lastOrderCode = iSaOrderService.lastOrderList(userId, myOrderVO.getPkCountry()); |             String lastOrderCode = iSaOrderService.lastOrderList(userId, myOrderVO.getPkCountry()); | ||||||
|             if (StringUtils.isEmpty(lastOrderCode) || !lastOrderCode.equals(myOrderVO.getOrderCode())) { |             if (StringUtils.isEmpty(lastOrderCode) || !lastOrderCode.equals(myOrderVO.getOrderCode())) { | ||||||
|                 myOrderVO.setMsg(TransactionUtils.getContent(SaOrderMsgConstants.CHECK_MEMBER_LAST_ORDER)); |                 myOrderVO.setMsg(TransactionUtils.getContent(SaOrderMsgConstants.CHECK_MEMBER_LAST_ORDER)); | ||||||
|  |  | ||||||
|  | @ -27,31 +27,33 @@ import java.util.*; | ||||||
| public class BonusItemsServiceProvider implements IBonusItemsServiceApi { | public class BonusItemsServiceProvider implements IBonusItemsServiceApi { | ||||||
| 
 | 
 | ||||||
|     @Autowired |     @Autowired | ||||||
|     private IBdBonusItemsService bonusItemsService; |     private IBdBonusItemsService iBdBonusItemsService; | ||||||
|     @Autowired |     @Autowired | ||||||
|     private IBdBonusDirectService bdBonusDirectService; |     private IBdBonusDirectService iBdBonusDirectService; | ||||||
|     @Autowired |     @Autowired | ||||||
|     private IBdAwardsService iBdAwardsService; |     private IBdAwardsService iBdAwardsService; | ||||||
|     @Autowired |     @Autowired | ||||||
|     private IBdBonusDeductService bdBonusDeductService; |     private IBdGradeService iBdGradeService; | ||||||
|     @Autowired |     @Autowired | ||||||
|     private IBdCurrencyService bdCurrencyService; |     private IBdBonusDeductService iBdBonusDeductService; | ||||||
|     @Autowired |     @Autowired | ||||||
|     private IBdCountryService bdCountryService; |     private IBdCurrencyService iBdCurrencyService; | ||||||
|  |     @Autowired | ||||||
|  |     private IBdCountryService iBdCountryService; | ||||||
| 
 | 
 | ||||||
|     @Override |     @Override | ||||||
|     public R<List<BdBonusItemsExt>> queryBonusItems(Integer pkCountry) { |     public R<List<BdBonusItemsExt>> queryBonusItems(Integer pkCountry) { | ||||||
|         return R.ok(bonusItemsService.queryBonusItems(pkCountry)); |         return R.ok(iBdBonusItemsService.queryBonusItems(pkCountry)); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     @Override |     @Override | ||||||
|     public R<List<BdBonusItems>> queryExistsBonusItems(List<Integer> bonusValueList) { |     public R<List<BdBonusItems>> queryExistsBonusItems(List<Integer> bonusValueList) { | ||||||
|         return R.ok(bonusItemsService.queryBonusItemsByValue(bonusValueList)); |         return R.ok(iBdBonusItemsService.queryBonusItemsByValue(bonusValueList)); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     @Override |     @Override | ||||||
|     public R<BdBonusItems> queryBonusItems(Integer pkCountry, Integer pkBonusItems) { |     public R<BdBonusItems> queryBonusItems(Integer pkCountry, Integer pkBonusItems) { | ||||||
|         return R.ok(bonusItemsService.queryBonusItems(pkCountry, pkBonusItems)); |         return R.ok(iBdBonusItemsService.queryBonusItems(pkCountry, pkBonusItems)); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     @Override |     @Override | ||||||
|  | @ -60,7 +62,7 @@ public class BonusItemsServiceProvider implements IBonusItemsServiceApi { | ||||||
|         // 汇率 |         // 汇率 | ||||||
|         bonusConfigDTO.setCurrencyDtoMap(getCurrencyDtoMap()); |         bonusConfigDTO.setCurrencyDtoMap(getCurrencyDtoMap()); | ||||||
|         // 收益类型 |         // 收益类型 | ||||||
|         List<BdCountry> allCountryList = bdCountryService.getAllCountry(); |         List<BdCountry> allCountryList = iBdCountryService.getAllCountry(); | ||||||
|         Set<Integer> countrySet = new HashSet<>(); |         Set<Integer> countrySet = new HashSet<>(); | ||||||
|         allCountryList.forEach(bdCountry -> |         allCountryList.forEach(bdCountry -> | ||||||
|                 countrySet.add(bdCountry.getPkId())); |                 countrySet.add(bdCountry.getPkId())); | ||||||
|  | @ -72,11 +74,13 @@ public class BonusItemsServiceProvider implements IBonusItemsServiceApi { | ||||||
|         bonusConfigDTO.setBonusDeductsMap(getBonusDeductConfig()); |         bonusConfigDTO.setBonusDeductsMap(getBonusDeductConfig()); | ||||||
|         // 奖衔列表 |         // 奖衔列表 | ||||||
|         bonusConfigDTO.setAwardsList(iBdAwardsService.queryAwards()); |         bonusConfigDTO.setAwardsList(iBdAwardsService.queryAwards()); | ||||||
|  |         // 等级列表 | ||||||
|  |         bonusConfigDTO.setGradeList(iBdGradeService.queryBdGrade()); | ||||||
|         return R.ok(bonusConfigDTO); |         return R.ok(bonusConfigDTO); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     private Map<String, BdCurrencyDTO> getCurrencyDtoMap() { |     private Map<String, BdCurrencyDTO> getCurrencyDtoMap() { | ||||||
|         List<BdCurrency> bdCurrencyList = bdCurrencyService.queryAllBdCurrency(); |         List<BdCurrency> bdCurrencyList = iBdCurrencyService.queryAllBdCurrency(); | ||||||
|         Map<String, BdCurrencyDTO> currencyDtoMap = new HashMap<>(ComputeUtil.mapInitCapacity(bdCurrencyList.size())); |         Map<String, BdCurrencyDTO> currencyDtoMap = new HashMap<>(ComputeUtil.mapInitCapacity(bdCurrencyList.size())); | ||||||
|         bdCurrencyList.forEach(bdCurrency -> |         bdCurrencyList.forEach(bdCurrency -> | ||||||
|                 currencyDtoMap.put(bdCurrency.getPkCountry().toString() + bdCurrency.getPkId(), |                 currencyDtoMap.put(bdCurrency.getPkCountry().toString() + bdCurrency.getPkId(), | ||||||
|  | @ -87,7 +91,7 @@ public class BonusItemsServiceProvider implements IBonusItemsServiceApi { | ||||||
|     private Map<String, BdBonusItemsExt> getBdBonusItemsExtMap(Set<Integer> countrySet) { |     private Map<String, BdBonusItemsExt> getBdBonusItemsExtMap(Set<Integer> countrySet) { | ||||||
|         Map<String, BdBonusItemsExt> bonusItemsMap = new HashMap<>(ComputeUtil.mapInitCapacity(countrySet.size() * 8)); |         Map<String, BdBonusItemsExt> bonusItemsMap = new HashMap<>(ComputeUtil.mapInitCapacity(countrySet.size() * 8)); | ||||||
|         countrySet.forEach(pkCountry -> { |         countrySet.forEach(pkCountry -> { | ||||||
|             List<BdBonusItemsExt> bdBonusItemsExtList = bonusItemsService.queryCalBonusItems(pkCountry); |             List<BdBonusItemsExt> bdBonusItemsExtList = iBdBonusItemsService.queryCalBonusItems(pkCountry); | ||||||
|             for (BdBonusItemsExt bdBonusItemsExt : bdBonusItemsExtList) { |             for (BdBonusItemsExt bdBonusItemsExt : bdBonusItemsExtList) { | ||||||
|                 bonusItemsMap.put(pkCountry.toString() + bdBonusItemsExt.getBonusValue().toString(), bdBonusItemsExt); |                 bonusItemsMap.put(pkCountry.toString() + bdBonusItemsExt.getBonusValue().toString(), bdBonusItemsExt); | ||||||
|             } |             } | ||||||
|  | @ -99,7 +103,7 @@ public class BonusItemsServiceProvider implements IBonusItemsServiceApi { | ||||||
|      * 获得奖金 推荐什么等级 直推奖励配置 |      * 获得奖金 推荐什么等级 直推奖励配置 | ||||||
|      */ |      */ | ||||||
|     private Map<String, BonusDirectDTO> getBonusDirectConfig() { |     private Map<String, BonusDirectDTO> getBonusDirectConfig() { | ||||||
|         List<BdBonusDirect> bdBonusDirectList = bdBonusDirectService.queryBonusDirect(); |         List<BdBonusDirect> bdBonusDirectList = iBdBonusDirectService.queryBonusDirect(); | ||||||
|         Map<String, BonusDirectDTO> directDtoHashMap = new HashMap<>(ComputeUtil.mapInitCapacity(bdBonusDirectList.size())); |         Map<String, BonusDirectDTO> directDtoHashMap = new HashMap<>(ComputeUtil.mapInitCapacity(bdBonusDirectList.size())); | ||||||
|         bdBonusDirectList.forEach(bdBonusDirect -> { |         bdBonusDirectList.forEach(bdBonusDirect -> { | ||||||
|             BonusDirectDTO bonusDirectDTO = BeanUtil.copyProperties(bdBonusDirect, BonusDirectDTO.class); |             BonusDirectDTO bonusDirectDTO = BeanUtil.copyProperties(bdBonusDirect, BonusDirectDTO.class); | ||||||
|  | @ -112,7 +116,7 @@ public class BonusItemsServiceProvider implements IBonusItemsServiceApi { | ||||||
|      * 获取每个国家奖金项对应的扣项 |      * 获取每个国家奖金项对应的扣项 | ||||||
|      */ |      */ | ||||||
|     private Map<Integer, BdBonusDeduct> getBonusDeductConfig() { |     private Map<Integer, BdBonusDeduct> getBonusDeductConfig() { | ||||||
|         List<BdBonusDeduct> bdBonusDeductList = bdBonusDeductService.queryBonusDeduct(); |         List<BdBonusDeduct> bdBonusDeductList = iBdBonusDeductService.queryBonusDeduct(); | ||||||
|         Map<Integer, BdBonusDeduct> bdBonusDeductMap = new HashMap<>(ComputeUtil.mapInitCapacity(bdBonusDeductList.size())); |         Map<Integer, BdBonusDeduct> bdBonusDeductMap = new HashMap<>(ComputeUtil.mapInitCapacity(bdBonusDeductList.size())); | ||||||
|         bdBonusDeductList.forEach(bdBonusDeduct -> |         bdBonusDeductList.forEach(bdBonusDeduct -> | ||||||
|                 bdBonusDeductMap.put(bdBonusDeduct.getPkBonusItems(), bdBonusDeduct)); |                 bdBonusDeductMap.put(bdBonusDeduct.getPkBonusItems(), bdBonusDeduct)); | ||||||
|  |  | ||||||
|  | @ -2,7 +2,6 @@ package com.hzs.system.config.service.impl; | ||||||
| 
 | 
 | ||||||
| import cn.hutool.core.collection.CollectionUtil; | import cn.hutool.core.collection.CollectionUtil; | ||||||
| import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||||||
| import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |  | ||||||
| import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; | ||||||
| import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | ||||||
| import com.hzs.common.core.constant.CacheConstants; | import com.hzs.common.core.constant.CacheConstants; | ||||||
|  | @ -173,9 +172,8 @@ public class BdGradeServiceImpl extends ServiceImpl<BdGradeMapper, BdGrade> impl | ||||||
| 
 | 
 | ||||||
|     @Override |     @Override | ||||||
|     public List<BdGrade> queryBdGrade() { |     public List<BdGrade> queryBdGrade() { | ||||||
|         QueryWrapper<BdGrade> queryWrapper = new QueryWrapper<>(); |         LambdaQueryWrapper<BdGrade> queryWrapper = new LambdaQueryWrapper<>(); | ||||||
|         queryWrapper.select("PK_ID,GRADE_VALUE,FIRST_CALCULATE,FIRST_ASSESS,EXPAND_CAPPING,EXPAND_RATIO,REPURCHASE_CALCULATE,REPURCHASE_ASSESS,REPURCHASE_CAPPING,REPURCHASE_RATIO,PK_COUNTRY"); |         queryWrapper.orderByAsc(BdGrade::getGradeValue); | ||||||
|         queryWrapper.eq("SYSTEM_TYPE", 0); |  | ||||||
|         return baseMapper.selectList(queryWrapper); |         return baseMapper.selectList(queryWrapper); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,13 +1,10 @@ | ||||||
| package com.hzs.common.core.enums; | package com.hzs.common.core.enums; | ||||||
| 
 | 
 | ||||||
| import com.hzs.common.core.constant.EnumsPrefixConstants; |  | ||||||
| import lombok.AllArgsConstructor; | import lombok.AllArgsConstructor; | ||||||
| import lombok.Getter; | import lombok.Getter; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * 撤销订单类型 |  * 撤销订单类型 | ||||||
|  * |  | ||||||
|  * @author: hzs |  | ||||||
|  */ |  */ | ||||||
| @AllArgsConstructor | @AllArgsConstructor | ||||||
| @Getter | @Getter | ||||||
|  |  | ||||||
|  | @ -92,7 +92,7 @@ public class CuMemberBonus extends BaseEntity { | ||||||
|     private BigDecimal serviceIncome; |     private BigDecimal serviceIncome; | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * 商城重消 |      * 赠品积分-众康 | ||||||
|      */ |      */ | ||||||
|     @TableField("BACK_POINTS") |     @TableField("BACK_POINTS") | ||||||
|     private BigDecimal backPoints; |     private BigDecimal backPoints; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue