diff --git a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberTreeMapper.java b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberTreeMapper.java index 45a5423c..1f0aee7f 100644 --- a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberTreeMapper.java +++ b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberTreeMapper.java @@ -265,7 +265,7 @@ public interface CuMemberTreeMapper extends BaseMapper { List queryExemptCuMemberSettle(String tableName); /** - * 查询出符合下一等级足够业绩的会员 + * 查询出符合下一奖衔足够业绩的会员 * * @param settleTableName 结算表 * @return: List diff --git a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberTreeService.java b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberTreeService.java index 01a8f151..1c87f1dd 100644 --- a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberTreeService.java +++ b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberTreeService.java @@ -173,7 +173,7 @@ public interface ICuMemberTreeService extends IService { List queryExemptCuMemberSettle(String tableName); /** - * 查询出符合下一等级足够业绩的会员 + * 查询出符合下一奖衔足够业绩的会员 * * @param settleTableName 结算表 * @return: List diff --git a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleHandle.java b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleHandle.java index 16cc5ca3..05b5b9c5 100644 --- a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleHandle.java +++ b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleHandle.java @@ -1,6 +1,7 @@ package com.hzs.bonus.bonus.service.impl; import cn.hutool.core.collection.CollectionUtil; +import com.hzs.bonus.achieve.param.MemberAchieveParam; import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService; import com.hzs.bonus.achieve.service.ICuMemberTreeService; import com.hzs.bonus.detail.service.ICuMemberAssessService; @@ -1072,6 +1073,49 @@ public abstract class BonusSettleHandle { } } + /** + * @param orderExtList 订单列表 + * @Description: 根据订单分类,分为首购、复购、真实,获取新增业绩 + * @return: void + * @Author: sui q + * @Date: 2022/11/2 11:24 + */ + public void assortSaOrder(Map cuMemberAchieveHashMap, List orderExtList, BonusConfigDTO bonusConfigDTO, Boolean isFirst) { + // 注册+升级 首购 + // 除(注册+升级)其他 复购 + // 首购+复购 = 真实 + for (SaOrderExt saOrderExt : orderExtList) { + MemberAchieveParam cuMemberAchieve; + if (cuMemberAchieveHashMap.containsKey(saOrderExt.getPkMember())) { + cuMemberAchieve = cuMemberAchieveHashMap.get(saOrderExt.getPkMember()); + // 所有的都算真实业绩 + } else { + cuMemberAchieve = MemberAchieveParam.builder() + .pkRate(saOrderExt.getPkRate()) + .pkMember(saOrderExt.getPkMember()) + .newAmount(BigDecimal.ZERO) + .newPv(BigDecimal.ZERO) + .repNewAmount(BigDecimal.ZERO) + .repNewPv(BigDecimal.ZERO) + .newRealAmount(BigDecimal.ZERO) + .newRealPv(BigDecimal.ZERO) + .build(); + cuMemberAchieveHashMap.put(saOrderExt.getPkMember(), cuMemberAchieve); + } + if (isFirst) { + // 首购处理 + cuMemberAchieve.setNewAmount(ComputeUtil.computeAdd(cuMemberAchieve.getNewAmount(), saOrderExt.getOrderAmount())); + cuMemberAchieve.setNewPv(ComputeUtil.computeAdd(cuMemberAchieve.getNewPv(), saOrderExt.getOrderAchieve())); + } else { + // 非首购处理 + cuMemberAchieve.setRepNewAmount(ComputeUtil.computeAdd(cuMemberAchieve.getRepNewAmount(), saOrderExt.getOrderAmount())); + cuMemberAchieve.setRepNewPv(ComputeUtil.computeAdd(cuMemberAchieve.getRepNewPv(), saOrderExt.getOrderAchieve())); + } + cuMemberAchieve.setNewRealAmount(ComputeUtil.computeAdd(cuMemberAchieve.getNewRealAmount(), saOrderExt.getOrderAmount())); + cuMemberAchieve.setNewRealPv(ComputeUtil.computeAdd(cuMemberAchieve.getNewRealPv(), saOrderExt.getOrderAchieve())); + } + } + /** * 处理汇率 * diff --git a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java index 71f6ed9c..2e12b56b 100644 --- a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java +++ b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.json.JSONUtil; import com.hzs.activity.pick.IAcPickServiceApi; +import com.hzs.bonus.achieve.param.MemberAchieveParam; import com.hzs.bonus.achieve.service.ICuMemberAchieveService; import com.hzs.bonus.achieve.service.ICuMemberRangeService; import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService; @@ -416,10 +417,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService { //********************************* 更新当天最新的业绩*************************/ // 获取所有国家的奖金项 key = 国家 + 奖金项的值 BonusConfigDTO bonusConfigDTO = bonusItemsServiceApi.queryBonusConfigDTO().getData(); -// Map cuMemberAchieveHashMap = new HashMap<>(); -// bonusSettlePurchaseHandle.assortSaOrder(cuMemberAchieveHashMap, firPurchaseOrderList, bonusConfigDTO, Boolean.TRUE); -// bonusSettlePurchaseHandle.assortSaOrder(cuMemberAchieveHashMap, repurchaseOrderList, bonusConfigDTO, Boolean.FALSE); -// cuMemberTreeService.updateCuMemberSettle(cuMemberAchieveHashMap, currentSettleTableName); //*********************************计算奖衔 更新奖衔*********************************/ // 开始计算奖衔 计算奖衔 更新奖衔(根据最新业绩查询变动且业绩满足下一等级,根据等级判断是否满足考核,安置考核或血缘考核) @@ -427,10 +424,15 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // 获取到奖衔配置 // a)更新会员表 // b)更新结算网体表 (月表、日表) + + Map cuMemberAchieveHashMap = new HashMap<>(); + bonusSettlePurchaseHandle.assortSaOrder(cuMemberAchieveHashMap, firPurchaseOrderList, bonusConfigDTO, Boolean.TRUE); + bonusSettlePurchaseHandle.assortSaOrder(cuMemberAchieveHashMap, repurchaseOrderList, bonusConfigDTO, Boolean.FALSE); + cuMemberTreeService.updateCuMemberSettle(cuMemberAchieveHashMap, currentSettleTableName); // c)增加奖衔记录表 -// cuMemberAwardsService.calculateCuMemberAwards(settleDate, awardsMap, currentSettleTableName); + cuMemberAwardsService.calculateCuMemberAwards(settleDate, awardsMap, currentSettleTableName); // 计算完奖衔回退业绩,最终根据新增进行回写 -// cuMemberTreeService.updateCuMemberBackSettle(cuMemberAchieveHashMap, currentSettleTableName); + cuMemberTreeService.updateCuMemberBackSettle(cuMemberAchieveHashMap, currentSettleTableName); //********************************重新考核*********************************/ // TODO new 乐学没有分红、复购考核,这个位置需要去掉 @@ -452,19 +454,20 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // 计算复购券 calculateRepurchaseCoupons(DateUtils.parseDate(settleDate), firPurchaseOrderList, period, bonusConfigDTO, cuMemberBonusMap, recordDetailVO, cuMemberSettleExtMap); + // 计算乐享订单奖金,按照订单进行日结 // 增加判断是否相同月,相同月的话昨天的考核结果更新到今天 Boolean isSameMonth = DateUtils.getMonth(settleDate).equals(DateUtils.getMonth(yesterday)); // 乐享奖金 bonusSettleRangeHandle.calculateLeEnjoyBonusBySaOrder(cuMemberBonusMap, bonusConfigDTO, recordDetailVO, period, yesterdayPeriod, isSameMonth); - // 计算新零售团队奖金 +// // 计算新零售团队奖金 // bonusSettleRangeHandle.calculateRetailBonusBySaOrder(settleDate, cuMemberBonusMap, bonusConfigDTO, recordDetailVO, // period, yesterdayPeriod, retailOrderList, isSameMonth); - // 验证是否月奖,验证是否是结算月底那一天,月底那一天计算云代,判断是否为月底 + // 验证是否月奖,验证是否是结算月底那一天,月底那一天计算云代,判断是否为月底 //*********************************计算云代奖金、 复购券均分收益************************/ - // TODO new 云代、复购券均分、分红,暂时不处理 +// // TODO new 云代、复购券均分、分红,暂时不处理 // if (settleDate.endsWith("10")) { // // 计算云代奖金、复购券均分 // calculateCloudAgentOrder(settleDate, bonusConfigDTO, period, recordDetailVO, cuMemberBonusMap); @@ -473,17 +476,18 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // calculateShareBonus(settleDate, bonusConfigDTO, period, recordDetailVO, cuMemberBonusMap, cuAwardsControlMap); // } -// // 计算店铺奖金 -// if(settleDate.endsWith("10")){ -// calculateStoreOrder(settleDate, bonusConfigDTO, period, recordDetailVO, cuMemberBonusMap); -// } -// // 计算实际分红奖金 -// if (settleDate.endsWith("10")) { -// calculateShareBonus(settleDate, bonusConfigDTO, period, recordDetailVO, cuMemberBonusMap); -// } - // 计算全球积分、车奖积分 - // 环球积分和车奖积分的规则。有荣衔,复购考核通过的10代不压缩,以推荐+拓展+领导+分红为合计基数,获取对应比例,比例根据参数配置 +// // 计算店铺奖金 +// if (settleDate.endsWith("10")) { +// calculateStoreOrder(settleDate, bonusConfigDTO, period, recordDetailVO, cuMemberBonusMap); +// } +// // 计算实际分红奖金 +// if (settleDate.endsWith("10")) { +// calculateShareBonus(settleDate, bonusConfigDTO, period, recordDetailVO, cuMemberBonusMap); +// } +// // 计算全球积分、车奖积分 +// // 环球积分和车奖积分的规则。有荣衔,复购考核通过的10代不压缩,以推荐+拓展+领导+分红为合计基数,获取对应比例,比例根据参数配置 // calculateGlobalCarBonus(cuMemberSettleExtMap, currentSettleTableName, settleDate, bonusConfigDTO, period, recordDetailVO, cuMemberBonusMap); + // 保存当日计算的奖金 insertCuMemberBonus(settleDate, period, cuMemberBonusMap, recordDetailVO); // 处理血缘业绩,统计伞下直推 @@ -493,6 +497,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // 处理网体,更新网体新增 轮次最小值 cuMemberSettleExtMap cuMemberTreeService.updateCuMemberSettle(currentSettleTableName, cuMemberSettleExtMap); } + // 每日进行甩网业绩,按照条件,降结算好的业绩甩到想应的会员那边 List retMemberAchieveExtList = execNetAchieve(period, settleDate, currentSettleTableName); // 处理甩网数据 @@ -509,21 +514,25 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // 当月第一天 Integer currentMonthFirstPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(DateUtils.currentMonthFirstDateStr(DateUtils.parseStringToDate(settleDate))).getPkId(); cuMemberAwardsService.calculateCuMemberAwardsEveryMonth(currentMonthFirstPeriod, yesterdayPeriod, period, settleDate, beforeMonthTableName, awardsMap); + // 计算完当日奖金后,根据业绩计算下月奖衔 String afterDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, currentDate); if (afterDate.endsWith("01")) { + // TODO new 不是月奖衔,每月初不更新(月级差奖衔需要去掉) // String rangeTableName = TableNameConstants.CU_MEMBER_RANGE + period; // // 月第一天日期 // String monthFirstDate = DateUtils.currentMonthFirstDateStr(DateUtils.parseStringToDate(settleDate)); // // 月第一天期数 // Integer startPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(monthFirstDate).getPkId(); - // TODO new 不是月奖衔,每月初不更新 // // 更新奖衔,根据新结算的奖衔 // cuMemberTreeService.updateCuMemberAwardsBySettle(currentSettleTableName, rangeTableName, startPeriod, period); + + // TODO new 现在没有月考核,是不是可以去掉? // 结算每月月末那一天,都是先删除,在新增,重新考核 cuMemberTreeService.initCuMemberAssessData(settleDate); // 更新奖衔考核结果 cuMemberAwardsService.updateCuMemberAwardsExamine(currentDate, period); + // 生成月表(cu_member_month) String monthTableName = TableNameConstants.CU_MEMBER_MONTH + DateUtils.getMonth(afterDate); Integer number = cuMemberTreeService.queryExistOracleTable(monthTableName); diff --git a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberAwardsMapper.java b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberAwardsMapper.java index a0f72e35..273ac4a6 100644 --- a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberAwardsMapper.java +++ b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberAwardsMapper.java @@ -9,9 +9,7 @@ import java.math.BigDecimal; import java.util.List; /** - *

* 会员信息-奖衔升级记录 Mapper 接口 - *

* * @author hzs * @since 2022-08-31 @@ -29,39 +27,43 @@ public interface CuMemberAwardsMapper extends BaseMapper { /** * 批量更新会员奖衔记录,此方法用于奖金结算,批量更新为删除状态,留存奖衔降级记录 + * * @param cuMemberAwardsList 更新的人 - * @param period 期间 - * @return: Integer - * @Author: sui q - * @Date: 2022/11/5 16:04 - */ + * @param period 期间 + * @return: Integer + * @Author: sui q + * @Date: 2022/11/5 16:04 + */ Integer updateBatchCuMemberAwards(@Param("cuMemberAwardsList") List cuMemberAwardsList, @Param("period") Integer period); /** * 查询会员最后一条奖衔升级记录 + * * @param cuMemberAwardsList 奖衔升级记录 - * @return: List - * @Author: sui q - * @Date: 2022/11/5 15:28 - */ + * @return: List + * @Author: sui q + * @Date: 2022/11/5 15:28 + */ List queryLastCuMemberAwards(@Param("cuMemberAwardsList") List cuMemberAwardsList); /** * 删除自动升级的奖衔升级记录 + * * @param period 期间 - * @return: Integer - * @Author: sui q - * @Date: 2023/2/23 11:15 - */ - Integer deleteCuMemberAwards(@Param("period")Integer period); + * @return: Integer + * @Author: sui q + * @Date: 2023/2/23 11:15 + */ + Integer deleteCuMemberAwards(@Param("period") Integer period); /** * 批量插入奖衔记录 + * * @param cuMemberAwardsList 需要插入的奖衔列表 - * @return: Integer - * @Author: sui q - * @Date: 2022/11/5 16:55 - */ + * @return: Integer + * @Author: sui q + * @Date: 2022/11/5 16:55 + */ Integer saveBatchCuMemberAwards(@Param("cuMemberAwardsList") List cuMemberAwardsList); void deleteCuMemberSettleAwards(@Param("period") Integer period); @@ -107,5 +109,5 @@ public interface CuMemberAwardsMapper extends BaseMapper { * @param: null null **/ void updateCuMemberAwardsExamine(@Param("assessTableName") String assessTableName, @Param("awardPeriod") Integer awardPeriod, - @Param("assessPeriod") Integer assessPeriod); + @Param("assessPeriod") Integer assessPeriod); } diff --git a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberAwardsService.java b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberAwardsService.java index 668fa318..f6ffb03f 100644 --- a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberAwardsService.java +++ b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberAwardsService.java @@ -3,16 +3,13 @@ package com.hzs.bonus.detail.service; import com.baomidou.mybatisplus.extension.service.IService; import com.hzs.common.domain.member.detail.CuMemberAwards; import com.hzs.common.domain.system.config.BdAwards; -import org.apache.ibatis.annotations.Param; import java.util.Date; import java.util.List; import java.util.Map; /** - *

* 会员信息-奖衔升级记录 服务类 - *

* * @author hzs * @since 2022-08-31 @@ -21,18 +18,20 @@ public interface ICuMemberAwardsService extends IService { /** * 重新计算会员的奖衔,根据累计结束后的业绩 - * @param settleDate 结算日 + * + * @param settleDate 结算日 * @param countryAwardsMap 国家奖衔配置 - * @param settleTableName 结算表 - * @return: void - * @Author: sui q - * @Date: 2022/11/4 17:35 - */ + * @param settleTableName 结算表 + * @return: void + * @Author: sui q + * @Date: 2022/11/4 17:35 + */ void calculateCuMemberAwards(String settleDate, Map countryAwardsMap, String settleTableName); /** * 回退极差奖衔,每日重新结算,先把奖衔回退到前一天 - * @param period 结算期间 + * + * @param period 结算期间 * @param rangeTableName 结算表 * @return: void * @Author: sui q @@ -42,6 +41,7 @@ public interface ICuMemberAwardsService extends IService { /** * 批量插入奖衔记录 + * * @param cuMemberAwardsList 需要插入的奖衔列表 * @return: Integer * @Author: sui q @@ -51,13 +51,14 @@ public interface ICuMemberAwardsService extends IService { /** * 删除奖衔升级记录 - * @param pkOrder 订单 - * @param pkApprove 审核人 + * + * @param pkOrder 订单 + * @param pkApprove 审核人 * @param currentDateTime 当前时间 - * @return: void - * @Author: sui q - * @Date: 2023/3/30 9:21 - */ + * @return: void + * @Author: sui q + * @Date: 2023/3/30 9:21 + */ void deleteCuMemberAwards(Long pkOrder, Long pkApprove, Date currentDateTime); /* diff --git a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAwardsServiceImpl.java b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAwardsServiceImpl.java index 1020ef21..2c9a8835 100644 --- a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAwardsServiceImpl.java +++ b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAwardsServiceImpl.java @@ -1,7 +1,8 @@ package com.hzs.bonus.detail.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService; import com.hzs.bonus.achieve.service.ICuMemberTreeService; @@ -24,9 +25,7 @@ import java.time.temporal.ChronoUnit; import java.util.*; /** - *

* 会员信息-奖衔升级记录 服务实现类 - *

* * @author hzs * @since 2022-08-31 @@ -34,43 +33,33 @@ import java.util.*; @Service public class CuMemberAwardsServiceImpl extends ServiceImpl implements ICuMemberAwardsService { + @Autowired private ICuMemberTreeService cuMemberTreeService; - + @Autowired private ICuMemberService cuMemberService; - + @Autowired private ICuMemberSettlePeriodService cuMemberSettlePeriodService; - @Autowired - public void setCuMemberSettlePeriodService(ICuMemberSettlePeriodService cuMemberSettlePeriodService) { - this.cuMemberSettlePeriodService = cuMemberSettlePeriodService; - } - - @Autowired - public void setCuMemberService(ICuMemberService cuMemberService) { - this.cuMemberService = cuMemberService; - } - - @Autowired - public void setCuMemberTreeService(ICuMemberTreeService cuMemberTreeService) { - this.cuMemberTreeService = cuMemberTreeService; - } - @Override @Transactional(rollbackFor = Exception.class) public void calculateCuMemberAwards(String setDate, Map countryAwardsMap, String settleTableName) { // 查询结算日当天奖衔发生过变动的会员,本期 Date settleDate = DateUtils.parseStringToDate(setDate); Integer period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(setDate).getPkId(); - //删除当天奖衔升级记录,自动升级的 - // 更新奖衔,回退奖衔 + + // 某一期的会员奖衔 List cuMemberAwards = queryCuMemberAwardsByPeriod(period); + // 回退会员奖衔(日结表) cuMemberTreeService.updateBackCuMemberSettleAward(settleTableName, period); + // 更新会员奖衔根据临时表(会员表) cuMemberService.updateBackCuMemberAward(cuMemberAwards, period); // 回退业绩表奖衔 baseMapper.deleteCuMemberAwards(period); + while (true) { + // 查询出符合下一奖衔足够业绩的会员 List cuMemberSettleExtList = cuMemberTreeService.queryCuMemberSettleEnoughAwardAchieve(settleTableName); - if(!calculateAwards(countryAwardsMap, settleTableName, settleDate, period, cuMemberSettleExtList)){ + if (!calculateAwards(countryAwardsMap, settleTableName, settleDate, period, cuMemberSettleExtList)) { break; } } @@ -98,7 +87,9 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl cuMemberAwardsList = new ArrayList<>(); List enoughAwardsMemberList = new ArrayList<>(); if (cuMemberSettleExtList.size() > 0) { + // 安置考核会员 List placeAwardsMemberList = new ArrayList<>(); + // 血缘考核会员 List bloodAwardsMemberList = new ArrayList<>(); // 用于记录原来的奖衔 Map originalCuMemberSettleMap = new HashMap<>(ComputeUtil.mapInitCapacity(cuMemberSettleExtList.size())); @@ -106,10 +97,13 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl memberAwardsList = updateAwardsRecord(enoughAwardsMemberList, originalCuMemberSettleMap, period); - if(memberAwardsList != null && memberAwardsList.size() >0){ + if (memberAwardsList != null && memberAwardsList.size() > 0) { cuMemberAwardsList.addAll(memberAwardsList); } // 需要验证安置的 @@ -132,10 +126,10 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl awardsList = updateAwardsRecord(updateAwardsMemberList, originalCuMemberSettleMap, period); - if(updateAwardsMemberList.size() >0) { + if (updateAwardsMemberList.size() > 0) { enoughAwardsMemberList.addAll(updateAwardsMemberList); } - if(awardsList != null && awardsList.size() >0){ + if (awardsList != null && awardsList.size() > 0) { cuMemberAwardsList.addAll(awardsList); } } @@ -152,10 +146,10 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl awardsList = updateAwardsRecord(updateAwardsMemberList, originalCuMemberSettleMap, period); - if(updateAwardsMemberList.size() >0) { + if (updateAwardsMemberList.size() > 0) { enoughAwardsMemberList.addAll(updateAwardsMemberList); } - if(awardsList != null && awardsList.size() >0){ + if (awardsList != null && awardsList.size() > 0) { cuMemberAwardsList.addAll(awardsList); } } @@ -164,12 +158,13 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl updateWrapper = new UpdateWrapper<>(); - updateWrapper.set(SystemFieldConstants.DEL_FLAG, EYesNo.NO.getIntValue()); - updateWrapper.set(SystemFieldConstants.PK_MODIFIED, pkApprove); - updateWrapper.set(SystemFieldConstants.MODIFIED_TIME, currentDateTime); - updateWrapper.eq(SaOrderFieldConstants.PK_ORDER, pkOrder); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.set(CuMemberAwards::getDelFlag, EYesNo.NO.getIntValue()); + updateWrapper.set(CuMemberAwards::getPkModified, pkApprove); + updateWrapper.set(CuMemberAwards::getModifiedTime, currentDateTime); + updateWrapper.eq(CuMemberAwards::getPkOrder, pkOrder); update(updateWrapper); } @@ -203,10 +198,10 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl bdAwardsList = new ArrayList<>(); for (String key : awardsMap.keySet()) { BdAwards bdAwards = awardsMap.get(key); - if(bdAwards.getPkCountry().equals(CountryConstants.CHINA_COUNTRY) && ComputeUtil.compareValue(bdAwards.getCommunityCheck()) && ComputeUtil.compareGreaterThan(minAchieve, bdAwards.getCommunityCheck())){ + if (bdAwards.getPkCountry().equals(CountryConstants.CHINA_COUNTRY) && ComputeUtil.compareValue(bdAwards.getCommunityCheck()) && ComputeUtil.compareGreaterThan(minAchieve, bdAwards.getCommunityCheck())) { minAchieve = bdAwards.getCommunityCheck(); } - if(ComputeUtil.compareValue(bdAwards.getCommunityCheck()) && bdAwards.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) { + if (ComputeUtil.compareValue(bdAwards.getCommunityCheck()) && bdAwards.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) { bdAwardsList.add(bdAwards); } } @@ -246,8 +241,8 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl updateAwardsRecord(List enoughAwardsMemberList, Map originalCuMemberSettleMap, - Integer period) { + private List updateAwardsRecord(List enoughAwardsMemberList, Map originalCuMemberSettleMap, + Integer period) { if (enoughAwardsMemberList.size() == 0) { return null; } @@ -255,7 +250,6 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl upgradeCuMemberAwards(List enoughAwardsMemberList, Map originalCuMemberSettleMap, - Integer period) { + Integer period) { List cuMemberAwardsList = new ArrayList<>(); if (enoughAwardsMemberList.size() > 0) { // 记录要入库的,为了验证是否首次晋升 @@ -347,9 +341,9 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl queryCuMemberAwardsByPeriod(Integer period) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq(MemberFieldConstants.PERIOD, period); - queryWrapper.eq(MemberFieldConstants.UP_TYPE, EUpgradeType.AUTO_UPGRADE.getValue()); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(CuMemberAwards::getPeriod, period); + queryWrapper.eq(CuMemberAwards::getUpType, EUpgradeType.AUTO_UPGRADE.getValue()); return baseMapper.selectList(queryWrapper); } diff --git a/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/achieve/CuMemberAchieveMapper.xml b/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/achieve/CuMemberAchieveMapper.xml index fa4b59b0..a5b76f62 100644 --- a/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/achieve/CuMemberAchieveMapper.xml +++ b/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/achieve/CuMemberAchieveMapper.xml @@ -170,18 +170,18 @@ from ( select pk_place_parent pk_member,#{achieve.pkRate} pk_rate, - (case when place_dept =1 then #{achieve.newAmount} else 0 end) a_new_amount, - (case when place_dept =1 then #{achieve.newPv} else 0 end) a_new_pv, - (case when place_dept =1 then #{achieve.repNewAmount} else 0 end) rep_a_new_amount, - (case when place_dept =1 then #{achieve.repNewPv} else 0 end) rep_a_new_pv, - (case when place_dept =1 then #{achieve.newRealAmount} else 0 end) a_new_real_amount, - (case when place_dept =1 then #{achieve.newRealPv} else 0 end) a_new_real_pv, - (case when place_dept =2 then #{achieve.newAmount} else 0 end) b_new_amount, - (case when place_dept =2 then #{achieve.newPv} else 0 end) b_new_pv, - (case when place_dept =2 then #{achieve.repNewAmount} else 0 end) rep_b_new_amount, - (case when place_dept =2 then #{achieve.repNewPv} else 0 end) rep_b_new_pv, - (case when place_dept =2 then #{achieve.newRealAmount} else 0 end) b_new_real_amount, - (case when place_dept =2 then #{achieve.newRealPv} else 0 end) b_new_real_pv + (case when place_dept = 1 then #{achieve.newAmount} else 0 end) a_new_amount, + (case when place_dept = 1 then #{achieve.newPv} else 0 end) a_new_pv, + (case when place_dept = 1 then #{achieve.repNewAmount} else 0 end) rep_a_new_amount, + (case when place_dept = 1 then #{achieve.repNewPv} else 0 end) rep_a_new_pv, + (case when place_dept = 1 then #{achieve.newRealAmount} else 0 end) a_new_real_amount, + (case when place_dept = 1 then #{achieve.newRealPv} else 0 end) a_new_real_pv, + (case when place_dept = 2 then #{achieve.newAmount} else 0 end) b_new_amount, + (case when place_dept = 2 then #{achieve.newPv} else 0 end) b_new_pv, + (case when place_dept = 2 then #{achieve.repNewAmount} else 0 end) rep_b_new_amount, + (case when place_dept = 2 then #{achieve.repNewPv} else 0 end) rep_b_new_pv, + (case when place_dept = 2 then #{achieve.newRealAmount} else 0 end) b_new_real_amount, + (case when place_dept = 2 then #{achieve.newRealPv} else 0 end) b_new_real_pv from( select pk_place_parent,place_dept from( select * from ${tableName} @@ -224,18 +224,18 @@ from ( select pk_place_parent pk_member,#{achieve.pkRate} pk_rate, - (case when place_dept =1 then #{achieve.newAmount} else 0 end) a_new_amount, - (case when place_dept =1 then #{achieve.newPv} else 0 end) a_new_pv, - (case when place_dept =1 then #{achieve.repNewAmount} else 0 end) rep_a_new_amount, - (case when place_dept =1 then #{achieve.repNewPv} else 0 end) rep_a_new_pv, - (case when place_dept =1 then #{achieve.newRealAmount} else 0 end) a_new_real_amount, - (case when place_dept =1 then #{achieve.newRealPv} else 0 end) a_new_real_pv, - (case when place_dept =2 then #{achieve.newAmount} else 0 end) b_new_amount, - (case when place_dept =2 then #{achieve.newPv} else 0 end) b_new_pv, - (case when place_dept =2 then #{achieve.repNewAmount} else 0 end) rep_b_new_amount, - (case when place_dept =2 then #{achieve.repNewPv} else 0 end) rep_b_new_pv, - (case when place_dept =2 then #{achieve.newRealAmount} else 0 end) b_new_real_amount, - (case when place_dept =2 then #{achieve.newRealPv} else 0 end) b_new_real_pv + (case when place_dept = 1 then #{achieve.newAmount} else 0 end) a_new_amount, + (case when place_dept = 1 then #{achieve.newPv} else 0 end) a_new_pv, + (case when place_dept = 1 then #{achieve.repNewAmount} else 0 end) rep_a_new_amount, + (case when place_dept = 1 then #{achieve.repNewPv} else 0 end) rep_a_new_pv, + (case when place_dept = 1 then #{achieve.newRealAmount} else 0 end) a_new_real_amount, + (case when place_dept = 1 then #{achieve.newRealPv} else 0 end) a_new_real_pv, + (case when place_dept = 2 then #{achieve.newAmount} else 0 end) b_new_amount, + (case when place_dept = 2 then #{achieve.newPv} else 0 end) b_new_pv, + (case when place_dept = 2 then #{achieve.repNewAmount} else 0 end) rep_b_new_amount, + (case when place_dept = 2 then #{achieve.repNewPv} else 0 end) rep_b_new_pv, + (case when place_dept = 2 then #{achieve.newRealAmount} else 0 end) b_new_real_amount, + (case when place_dept = 2 then #{achieve.newRealPv} else 0 end) b_new_real_pv from( select pk_place_parent,place_dept from( select * from ${tableName} diff --git a/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/achieve/CuMemberTreeMapper.xml b/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/achieve/CuMemberTreeMapper.xml index b8b91b2d..4d1cc33f 100644 --- a/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/achieve/CuMemberTreeMapper.xml +++ b/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/achieve/CuMemberTreeMapper.xml @@ -1179,6 +1179,7 @@ connect by t.pk_member = prior t.pk_place_parent) tmp on ct.pk_member = tmp.pk_member +