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 25f6d7b4..0e0f1ac8 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 @@ -368,9 +368,6 @@ public interface CuMemberTreeMapper extends BaseMapper { * * @param settleTableName 结算表 * @param pkMemberList 有量奖的会员列表 - * @return: Map> - * @Author: sui q - * @Date: 2022/11/15 13:43 */ List batchQueryCuMemberSettleParent(@Param("settleTableName") String settleTableName, @Param("pkMemberList") List pkMemberList); @@ -804,4 +801,18 @@ public interface CuMemberTreeMapper extends BaseMapper { */ List listUpgradeAwards(@Param("settleTableName") String settleTableName, @Param("awardsValue") Integer awardsValue); + /** + * 有奖衔的会员,本月左右区新増,上月最后一期左右区结余 + * + * @param settleTableName 当天结算表 + * @param settleTableNameMonthLast 上月最后一天结算表 + * @param cuMemberMonth 当月月业绩表 + * @param pkMemberList 查询奖衔会员 + * @return + */ + List listMemberMonthAssess(@Param("settleTableName") String settleTableName, + @Param("settleTableNameMonthLast") String settleTableNameMonthLast, + @Param("cuMemberMonth") String cuMemberMonth, + @Param("pkMemberList") List pkMemberList); + } 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 fd005925..9a7abe57 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 @@ -291,12 +291,20 @@ public interface ICuMemberTreeService extends IService { * * @param settleTableName 结算表 * @param expandMemberSet 有量奖的会员 - * @return: Map 主键,通过推荐人向上找父级 - * @Author: sui q - * @Date: 2022/11/15 13:43 */ List batchQueryCuMemberSettleParent(String settleTableName, Set expandMemberSet); + /** + * 有奖衔的会员,本月左右区新増,上月最后一期左右区结余 + * + * @param settleTableName 当天结算表 + * @param settleTableNameMonthLast 上月最后一天结算表 + * @param cuMemberMonth 当月月业绩表 + * @param pkMemberList 查询奖衔会员 + * @return + */ + List listMemberMonthAssess(String settleTableName, String settleTableNameMonthLast, String cuMemberMonth, List pkMemberList); + /** * 批量根据量奖信息查询会员结算表中的父级血缘数据 * diff --git a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberTreeServiceImpl.java b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberTreeServiceImpl.java index b8d37488..b66c8de3 100644 --- a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberTreeServiceImpl.java +++ b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberTreeServiceImpl.java @@ -1,5 +1,6 @@ package com.hzs.bonus.achieve.service.impl; +import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hzs.bonus.achieve.service.ICuMemberAchieveService; import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService; @@ -401,6 +402,19 @@ public class CuMemberTreeServiceImpl extends ServiceImpl batchQuerySpecialCuMemberSettleParent(String settleTableName, Set expandMemberSet) { + List cuMemberSettleExtList = new ArrayList<>(); + if (expandMemberSet == null || expandMemberSet.size() == 0) { + return cuMemberSettleExtList; + } + List memberPkList = Arrays.asList(expandMemberSet.toArray(new Long[]{})); + List> listList = cuMemberBonusSettle.handleCutList(memberPkList, MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM); + listList.forEach(list -> + cuMemberSettleExtList.addAll(baseMapper.batchQuerySpecialCuMemberSettleParent(settleTableName, list))); + return cuMemberSettleExtList; + } + @Override public List batchQueryCuMemberSettleParent(String settleTableName, Set expandMemberSet) { List cuMemberSettleExtList = new ArrayList<>(); @@ -415,15 +429,14 @@ public class CuMemberTreeServiceImpl extends ServiceImpl batchQuerySpecialCuMemberSettleParent(String settleTableName, Set expandMemberSet) { + public List listMemberMonthAssess(String settleTableName, String settleTableNameMonthLast, String cuMemberMonth, List pkMemberList) { List cuMemberSettleExtList = new ArrayList<>(); - if (expandMemberSet == null || expandMemberSet.size() == 0) { + if (CollectionUtil.isEmpty(pkMemberList)) { return cuMemberSettleExtList; } - List memberPkList = Arrays.asList(expandMemberSet.toArray(new Long[]{})); - List> listList = cuMemberBonusSettle.handleCutList(memberPkList, MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM); + List> listList = cuMemberBonusSettle.handleCutList(pkMemberList, MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM); listList.forEach(list -> - cuMemberSettleExtList.addAll(baseMapper.batchQuerySpecialCuMemberSettleParent(settleTableName, list))); + cuMemberSettleExtList.addAll(baseMapper.listMemberMonthAssess(settleTableName, settleTableNameMonthLast, cuMemberMonth, list))); return cuMemberSettleExtList; } diff --git a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleFirstPurchaseHandle.java b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleFirstPurchaseHandle.java index 871febbf..7db93405 100644 --- a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleFirstPurchaseHandle.java +++ b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleFirstPurchaseHandle.java @@ -660,30 +660,65 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle { } /** - * @Description: 计算领导奖 - * @return: List - * @Author: sui q - * @Date: 2023/2/8 17:16 + * 计算辅导收益(领导奖) + * + * @param settleTableName 结算表 + * @param settleDateStr 结算日期 + * @param period 期间 + * @param bonusConfigDTO 参数 + * @param firPurchaseOrderList 订单列表 + * @param cuMemberBonusExpandList 量奖明细 + * @param cuMemberBonusMap 所有计算出来的奖金汇总 */ - List calculateCoachBonusOne(Map cuMemberSettleExtMap, String settleTableName, String settleDateStr, BonusConfigDTO bonusConfigDTO, List cuMemberBonusExpandList, Integer period, Map cuMemberBonusMap, - Map saOrderExtMap, Map cuAwardsControlMap, Map riskControlMap) { + List calculateCoachBonus(Map cuMemberSettleExtMap, String settleTableName, String settleDateStr, BonusConfigDTO bonusConfigDTO, + List firPurchaseOrderList, List cuMemberBonusExpandList, Integer period, Map cuMemberBonusMap, + Map cuAwardsControlMap, Map riskControlMap, List awardsList) { + Map saOrderExtMap = new HashMap<>(ComputeUtil.mapInitCapacity(firPurchaseOrderList.size())); + firPurchaseOrderList.forEach(saOrderExt -> + saOrderExtMap.put(saOrderExt.getPkId(), saOrderExt)); + return calculateCoachBonusOne(cuMemberSettleExtMap, settleTableName, settleDateStr, bonusConfigDTO, cuMemberBonusExpandList, period, + cuMemberBonusMap, saOrderExtMap, cuAwardsControlMap, riskControlMap, awardsList); + } + + /** + * 计算领导奖 + */ + List calculateCoachBonusOne(Map cuMemberSettleExtMap, String settleTableName, String settleDateStr, BonusConfigDTO bonusConfigDTO, + List cuMemberBonusExpandList, Integer period, Map cuMemberBonusMap, + Map saOrderExtMap, Map cuAwardsControlMap, Map riskControlMap, + List awardsList) { + // 领导奖数据列表 List cuMemberBonusCoachList = new ArrayList<>(); + if (cuMemberBonusExpandList.size() > 0) { + // 如果存在拓展收益则开始处理领导奖 + // 产生拓展收益的所有会员ID Set expandMemberSet = getMemberExpandBonus(cuMemberBonusMap, cuMemberBonusExpandList); + + // 查询会员产生拓展收益血缘上会员 List cuMemberSettleExtList = iCuMemberTreeService.batchQueryCuMemberSettleParent(settleTableName, expandMemberSet); // 初始化父类网体的值 getMemberSettle(cuMemberSettleExtMap, cuMemberSettleExtList); - List queryMemberList = getQueryMemberSettleExtList(cuMemberSettleExtMap, cuMemberSettleExtList); - // 获取复购考核结果 - Map cuMemberAssessMap = getLongCuMemberAssessMap(settleDateStr, queryMemberList); - // 开始计算辅导奖,往上找10代血缘,判断血缘的奖衔是否>= 5的倍数 + +// List queryMemberList = getQueryMemberSettleExtList(cuMemberSettleExtMap, cuMemberSettleExtList); +// // 获取复购考核结果 +// Map cuMemberAssessMap = getLongCuMemberAssessMap(settleDateStr, queryMemberList); + Map cuMemberAssessMap = new HashMap<>(); + + // TODO new 新逻辑没有复购考核,根据上月结余判断大小区,然后判断本月小区新増业绩来判断拿几代 + // 奖衔会员能拿几代领导奖(key:会员ID,value:拿几代) + Map cuMemberBonusNumMap = getCoachAwardsMemberMap(settleTableName, settleDateStr, cuMemberSettleExtList); + Map bonusIdSettleMap = getMemberExpandBonus(cuMemberSettleExtMap); + // 开始计算辅导奖,往上找10代血缘,判断血缘的奖衔是否 >= 5的倍数 for (CuMemberBonusExpand cuMemberBonusExpand : cuMemberBonusExpandList) { - // 国内没有领导奖 - if (cuMemberBonusExpand.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) { - continue; - } - List coachBonusList = calculateBonusCoach(cuMemberSettleExtMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExtMap, cuMemberAssessMap, bonusIdSettleMap, cuMemberBonusExpand, cuAwardsControlMap, riskControlMap); +// // 国内没有领导奖 +// if (cuMemberBonusExpand.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) { +// continue; +// } + List coachBonusList = calculateBonusCoach(cuMemberSettleExtMap, bonusConfigDTO, period, cuMemberBonusMap, + saOrderExtMap, cuMemberAssessMap, bonusIdSettleMap, cuMemberBonusExpand, cuAwardsControlMap, + riskControlMap, cuMemberBonusNumMap, awardsList); if (coachBonusList.size() > 0) { cuMemberBonusCoachList.addAll(coachBonusList); } @@ -693,56 +728,91 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle { } /** - * @Description: 计算领导奖 - * @return: List - * @Author: sui q - * @Date: 2023/2/8 17:16 + * 计算领导奖(每条拓展收益计算领导奖) */ - private List calculateBonusCoach(Map cuMemberSettleExtMap, BonusConfigDTO bonusConfigDTO, Integer period, Map cuMemberBonusMap, Map saOrderExtMap, Map cuMemberAssessMap, Map bonusIdSettleMap, - CuMemberBonusExpand cuMemberBonusExpand, Map cuAwardsControlMap, Map riskControlMap) { + private List calculateBonusCoach(Map cuMemberSettleExtMap, BonusConfigDTO bonusConfigDTO, Integer period, + Map cuMemberBonusMap, Map saOrderExtMap, Map cuMemberAssessMap, + Map bonusIdSettleMap, CuMemberBonusExpand cuMemberBonusExpand, Map cuAwardsControlMap, + Map riskControlMap, Map cuMemberBonusNumMap, List awardsList) { + // 目前这个会员只用来处理备注会员信息使用 CuMemberSettleExt sourceMemberSettleExt = bonusIdSettleMap.get(cuMemberBonusExpand.getPkBonus()); - Long pkMember = cuMemberSettleExtMap.get(cuMemberBonusExpand.getPkBonus()).getPkParent(); - // 获得量奖的人往上找10代血缘 // 用于回写血缘总共多少代 List backMemberBonusCoachList = new ArrayList<>(); + + Long pkMember = cuMemberSettleExtMap.get(cuMemberBonusExpand.getPkBonus()).getPkParent(); + + // 领导奖拿一共拿了多少代 int coachGeneration = 0; - for (int i = MagicNumberConstants.BLOOD_GENERATION_START; i <= MagicNumberConstants.BLOOD_GENERATION_END; i++) { + // 获得量奖的人往上找10代血缘(非紧缩) -- 旧逻辑 +// for (int i = MagicNumberConstants.BLOOD_GENERATION_START; i <= MagicNumberConstants.BLOOD_GENERATION_END; i++) { + + // TODO new 新逻辑中使用紧缩制,向上发10次,奖衔满足考核的判断拿几代,要么发完10次,要么找到顶为止 + int i = MagicNumberConstants.BLOOD_GENERATION_START; + // 领导奖从第1代开始计算,最多发10次 + while (i <= MagicNumberConstants.BLOOD_GENERATION_END) { + // 当前需要拿奖金的会员 CuMemberSettleExt targetMemberSettleExt = cuMemberSettleExtMap.get(pkMember); - if (targetMemberSettleExt == null) { + if (null == targetMemberSettleExt) { break; } pkMember = targetMemberSettleExt.getPkParent(); - if (ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory() || - EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus()) { + if (ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory() + || EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus()) { + // 会员状态不正常 或者 停算收益 直接跳过 continue; } if (validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.COACHING_INCOME.getValue())) { + // 校验当前国家是否有该奖项 continue; } SaOrderExt saOrderExt = saOrderExtMap.get(cuMemberBonusExpand.getPkOrder()); - if (!validateSecondOrderExistBonus(saOrderExt, EBonusItems.COACHING_INCOME.getValue())) { + if (null == saOrderExt || !validateSecondOrderExistBonus(saOrderExt, EBonusItems.COACHING_INCOME.getValue())) { + // 订单为空 或者 判断二次发货是否有辅导收益 continue; } - CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, saOrderExt, targetMemberSettleExt); + + CuMemberSettleExt coachAwardsMember = cuMemberBonusNumMap.get(targetMemberSettleExt.getPkMember()); + if (null == coachAwardsMember) { + // 判断领导奖参数,如果不存在,直接跳过 + continue; + } + + // 获取奖衔对应的领导奖配置 BdAwards awardsCouch = getBdAwards(bonusConfigDTO, targetMemberSettleExt, cuAwardsControlMap); + + // 获取奖衔能拿多少代领导奖的奖衔值 + Integer awardsValue = this.getCoachAwardsMemberNum(awardsList, coachAwardsMember, awardsCouch); + // 判断是否有奖金 - if (awardsCouch.getAwardsValue() >= MagicNumberConstants.BLOOD_GENERATION_SERIES * i) { + if (awardsValue >= MagicNumberConstants.BLOOD_GENERATION_SERIES * i) { + // TODO new 第一代必须是奖衔值大于等于5的,第二代必须是奖衔值大于等于10的... BdAwards coachAward = bonusConfigDTO.getAwardsValueMap().get(targetMemberSettleExt.getPkSettleCountry().toString() + ERangeType.AWARDS.getValue() + MagicNumberConstants.BLOOD_GENERATION_SERIES * i); + // 辅导奖比例 BigDecimal awardCalRadio = BigDecimal.ZERO; - if (coachAward != null) { + if (null != coachAward) { awardCalRadio = coachAward.getCoachRatio(); } - // 判断会员状态 + // 生成辅导收益明细 CuMemberBonusCoach cuMemberBonusCoach = getCuMemberBonusCoach(bonusConfigDTO, cuMemberBonusExpand, i, targetMemberSettleExt, awardCalRadio); - // 正常状态的辅导奖需要判断复购考核,复购考核不通过的状态变为烧伤 - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusCoach.getIncomeStatus() && - EYesNo.NO.getIntValue() == targetMemberSettleExt.getPurchaseStatus()) { - // 需要复购考核的 - CuMemberAssess cuMemberAssess = cuMemberAssessMap.get(targetMemberSettleExt.getPkMember()); - if (cuMemberAssess == null) { - cuMemberBonusCoach.setIncomeStatus(EBonusIncomeStatus.FIRE_BURN.getValue()); - } + // TODO new 如果拓展收益是延缓发放,那么辅导收益也需要延缓发放 + if (EBonusIncomeStatus.DELAY_GRANT.getValue() == cuMemberBonusExpand.getIncomeStatus()) { + cuMemberBonusCoach.setIncomeStatus(EBonusIncomeStatus.DELAY_GRANT.getValue()); } + + // TODO new 不走复购考核,改为根据本月新増小区业绩 +// // 正常状态的辅导奖需要判断复购考核,复购考核不通过的状态变为烧伤 +// if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusCoach.getIncomeStatus() +// && EYesNo.NO.getIntValue() == targetMemberSettleExt.getPurchaseStatus()) { +// // 需要复购考核的 +// CuMemberAssess cuMemberAssess = cuMemberAssessMap.get(targetMemberSettleExt.getPkMember()); +// if (cuMemberAssess == null) { +// cuMemberBonusCoach.setIncomeStatus(EBonusIncomeStatus.FIRE_BURN.getValue()); +// } +// } + + // 获取会员奖金数据 + CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, saOrderExt, targetMemberSettleExt); + // K值设置 if (riskControlMap.containsKey(cuMemberBonus.getPkMember())) { Integer generation = riskControlMap.get(cuMemberBonus.getPkMember()).getCoachGeneration(); @@ -750,23 +820,27 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle { cuMemberBonusCoach.setIncomeStatus(EBonusIncomeStatus.RISK_CONTROL.getValue()); } } - // 判断考核状态,是否考核通过 + // 收益占比 BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusCoach, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate()); coachRemark(saOrderExt, cuMemberBonusCoach, sourceMemberSettleExt, targetMemberSettleExt); + if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusCoach.getIncomeStatus()) { cuMemberBonus.setCoachIncome(ComputeUtil.computeAdd(cuMemberBonus.getCoachIncome(), cuMemberBonusCoach.getPretaxIncome())); setFirstPurchaseTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusCoach); } backMemberBonusCoachList.add(cuMemberBonusCoach); + + // 这一代领导奖计算完,计算代数加1 + i++; } - coachGeneration = i; } + coachGeneration = --i; return handleCoachRemark(backMemberBonusCoachList, coachGeneration); } /** - * 判断是否是服务中心,服务中心算主任 + * 判断是否是服务中心,服务中心算主任 -- 目前领导奖单独使用 * * @param bonusConfigDTO 奖金参数设置 * @param targetMemberSettleExt 父级 @@ -824,12 +898,10 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle { } /** + * 处理拓展表备注 + * * @param backMemberBonusCoachList 临时记录辅导奖列表 * @param i 第几代 - * @Description: 处理拓展表备注 - * @return: void - * @Author: sui q - * @Date: 2022/11/17 18:02 */ private List handleCoachRemark(List backMemberBonusCoachList, int i) { List cuMemberBonusCoachList = new ArrayList<>(); @@ -1185,14 +1257,14 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle { } // 正常状态的辅导奖需要判断复购考核,复购考核不通过的状态变为烧伤 - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusExpand.getIncomeStatus() - && EYesNo.NO.getIntValue() == targetMemberSettleExt.getPurchaseStatus()) { - // 需要复购考核的 - CuMemberAssess cuMemberAssess = cuMemberAssessMap.get(targetMemberSettleExt.getPkMember()); - if (cuMemberAssess == null) { - cuMemberBonusExpand.setIncomeStatus(EBonusIncomeStatus.FIRE_BURN.getValue()); - } - } +// if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusExpand.getIncomeStatus() +// && EYesNo.NO.getIntValue() == targetMemberSettleExt.getPurchaseStatus()) { +// // 需要复购考核的 +// CuMemberAssess cuMemberAssess = cuMemberAssessMap.get(targetMemberSettleExt.getPkMember()); +// if (cuMemberAssess == null) { +// cuMemberBonusExpand.setIncomeStatus(EBonusIncomeStatus.FIRE_BURN.getValue()); +// } +// } if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusExpand.getIncomeStatus() || EBonusIncomeStatus.RISK_CONTROL.getValue() == cuMemberBonusExpand.getIncomeStatus()) { @@ -1455,5 +1527,86 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle { } } + /** + * 获取奖衔会员各能拿多少代 + * + * @param settleTableName 结算表 + * @param settleDateStr 结算日期 + * @param cuMemberSettleExtList + */ + private Map getCoachAwardsMemberMap(String settleTableName, String settleDateStr, List cuMemberSettleExtList) { + // 奖衔会员能拿几代领导奖(key:会员ID,value:奖衔值) + Map cuMemberBonusNumMap = new HashMap<>(); + + // 拓展收益血缘上会员ID + List pkAwardsMemberList = cuMemberSettleExtList.stream().map(CuMemberSettleExt::getPkMember).distinct().collect(Collectors.toList()); + + Date settleDate = DateUtils.parseStringToDate(settleDateStr); + // 之前月份的最后一期 + Integer monthLastPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(DateUtils.beforeMonthLastDateStr(settleDate)).getPkId(); + String settleTableNameMonthLast = TableNameConstants.CU_MEMBER_SETTLE + monthLastPeriod; + + // 当前月表 + String cuMemberMonth = TableNameConstants.CU_MEMBER_MONTH + DateUtils.getMonth(settleDateStr); + + // TODO new 有奖衔的会员,本月左右区新増,上月最后一期左右区结余(需要确保上月最后一期日结表存在,结算月表存在) + List awardsMemberSettleList = iCuMemberTreeService.listMemberMonthAssess(settleTableName, settleTableNameMonthLast, cuMemberMonth, pkAwardsMemberList); + + if (CollectionUtil.isNotEmpty(awardsMemberSettleList)) { + for (CuMemberSettleExt tmpCuMemberSettleExt : awardsMemberSettleList) { + cuMemberBonusNumMap.put(tmpCuMemberSettleExt.getPkMember(), tmpCuMemberSettleExt); + } + } + return cuMemberBonusNumMap; + } + + /** + * 获取领导奖实际的奖衔值 + * + * @param awardsList 奖衔列表 + * @param coachAwardsMember 会员奖衔数据(上月结余、本月新増等) + * @param bdAwards 当前奖衔(处理过真实奖衔控制) + * @return + */ + private Integer getCoachAwardsMemberNum(List awardsList, CuMemberSettleExt coachAwardsMember, BdAwards bdAwards) { + // 奖衔值倒序排序 + List tmpAwardsList = awardsList.stream().sorted(Comparator.comparingInt(BdAwards::getAwardsValue).reversed()).collect(Collectors.toList()); + + // TODO new 2025年9月之前不需要校验,直接按奖衔拿 + + // 小区业绩 + BigDecimal smallPV; + // 上月左右区结余 + if (coachAwardsMember.getABalance().compareTo(coachAwardsMember.getBBalance()) > 0) { + // 左区大,右区小区 + smallPV = coachAwardsMember.getBSumPv(); + } else if (coachAwardsMember.getABalance().compareTo(coachAwardsMember.getBBalance()) < 0) { + // 右区大,左区小区 + smallPV = coachAwardsMember.getASumPv(); + } else { + // 左右区相同 + if (coachAwardsMember.getASumPv().compareTo(coachAwardsMember.getBSumPv()) <= 0) { + // 左区 小于等于 右区,左区等于小区 + smallPV = coachAwardsMember.getASumPv(); + } else { + // 右区小区 + smallPV = coachAwardsMember.getBSumPv(); + } + } + // 业绩判断奖衔值,默认为Q0 + Integer pvAwardsValue = EAwards.MEMBER.getValue(); + // 月新増业绩判断应该拿几代 + for (BdAwards tmpBdAwards : tmpAwardsList) { + if (tmpBdAwards.getSmallAssess().compareTo(smallPV) <= 0) { + pvAwardsValue = tmpBdAwards.getAwardsValue(); + break; + } + } + // 业绩判断奖衔值不能大于当前奖衔的奖衔值 + if (pvAwardsValue.compareTo(bdAwards.getAwardsValue()) > 0) { + return bdAwards.getAwardsValue(); + } + return pvAwardsValue; + } } 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 ee0f6b5b..4048659c 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 @@ -74,12 +74,10 @@ public abstract class BonusSettleHandle { } /** + * 获取奖衔对应的辅导奖配置 + * * @param bonusConfigDTO 奖金参数汇总 * @param memberSettleExt 会员 - * @Description: 获取奖衔对应的辅导奖配置 - * @return: BdAwards - * @Author: sui q - * @Date: 2022/11/17 10:13 */ protected BdAwards getAwardsCouch(BonusConfigDTO bonusConfigDTO, CuMemberSettleExt memberSettleExt, Map cuAwardsControlMap) { Integer pkAwards = getPkRealAwards(memberSettleExt.getPkMember(), memberSettleExt.getPkAwards(), cuAwardsControlMap); @@ -178,15 +176,17 @@ public abstract class BonusSettleHandle { * @param cuMemberBonusExpandList 量奖明细 */ protected Set getMemberExpandBonus(Map cuMemberBonusMap, List cuMemberBonusExpandList) { + // 这一步感觉有点多余。。在奖金入库之前,奖金汇总map的key和奖金汇总ID都是用会员ID做临时处理的 Map pkMemberSettleMap = new HashMap<>(ComputeUtil.mapInitCapacity(cuMemberBonusMap.size())); cuMemberBonusMap.forEach((key, cuMemberBonus) -> { // 判断 cuMemberSettleExtMap中这个人是否是免考,免考的不查询考核是否通过,过滤数据 pkMemberSettleMap.put(cuMemberBonus.getPkId(), cuMemberBonus); }); + Set expandMemberSet = new HashSet<>(); cuMemberBonusExpandList.forEach(cuMemberBonusExpand -> { - // 只查询有量奖的人的考核记录, 国内没有领导奖 - if (!cuMemberBonusExpand.getPkCountry().equals(CountryConstants.CHINA_COUNTRY) && pkMemberSettleMap.containsKey(cuMemberBonusExpand.getPkBonus())) { + // 只查询有量奖的人的考核记录 + if (pkMemberSettleMap.containsKey(cuMemberBonusExpand.getPkBonus())) { expandMemberSet.add(pkMemberSettleMap.get(cuMemberBonusExpand.getPkBonus()).getPkMember()); } }); @@ -208,8 +208,8 @@ public abstract class BonusSettleHandle { /** * 记录需要修改的会员结算表数据, 安置的 * - * @param cuMemberSettleExtMap 会员结算 - * @param cuMemberSettleExt 查询出来的结算数据 + * @param cuMemberSettleExtMap 会员结算 + * @param cuMemberSettleExt 查询出来的结算数据 */ protected void getMemberSettle(Map cuMemberSettleExtMap, CuMemberSettleExt cuMemberSettleExt) { if (cuMemberSettleExtMap.containsKey(cuMemberSettleExt.getPkMember())) { @@ -247,8 +247,8 @@ public abstract class BonusSettleHandle { if (memberSettleExt.getPkVertex() == null) { memberSettleExt.setPkVertex(cuMemberSettleExt.getPkVertex()); } - if (memberSettleExt.getUnGrantIncome() == null) { - memberSettleExt.setUnGrantIncome(cuMemberSettleExt.getUnGrantIncome()); + if (memberSettleExt.getUnGrantIncome() == null || memberSettleExt.getUnGrantIncome().compareTo(BigDecimal.ZERO) == 0) { + memberSettleExt.setUnGrantIncome(null != cuMemberSettleExt.getUnGrantIncome() ? cuMemberSettleExt.getUnGrantIncome() : BigDecimal.ZERO); } } else { cuMemberSettleExt.setANewAmount(BigDecimal.ZERO); @@ -321,8 +321,8 @@ public abstract class BonusSettleHandle { if (memberSettleExt.getPkVertex() == null) { memberSettleExt.setPkVertex(cuMemberSettleExt.getPkVertex()); } - if (memberSettleExt.getUnGrantIncome() == null) { - memberSettleExt.setUnGrantIncome(cuMemberSettleExt.getUnGrantIncome()); + if (memberSettleExt.getUnGrantIncome() == null || memberSettleExt.getUnGrantIncome().compareTo(BigDecimal.ZERO) == 0) { + memberSettleExt.setUnGrantIncome(null != cuMemberSettleExt.getUnGrantIncome() ? cuMemberSettleExt.getUnGrantIncome() : BigDecimal.ZERO); } } else { cuMemberSettleExt.setANewAmount(BigDecimal.ZERO); @@ -777,12 +777,10 @@ public abstract class BonusSettleHandle { } /** + * 获取会员列表的考核结果 + * * @param settleDateStr 结算日期 * @param cuMemberSettleExtList 会员列表 - * @Description: 获取会员列表的考核结果 - * @return: Map - * @Author: sui q - * @Date: 2022/11/17 14:25 */ protected Map getLongCuMemberAssessMap(String settleDateStr, List cuMemberSettleExtList) { if (cuMemberSettleExtList.size() == 0) { @@ -804,8 +802,7 @@ public abstract class BonusSettleHandle { * @param cuMemberSettleExt 获取奖金的会员 * @return CuMemberBonus */ - protected CuMemberBonus getCuMemberBonus(Integer period, Map cuMemberBonusMap, SaOrder saOrder, - CuMemberSettleExt cuMemberSettleExt) { + protected CuMemberBonus getCuMemberBonus(Integer period, Map cuMemberBonusMap, SaOrder saOrder, CuMemberSettleExt cuMemberSettleExt) { Integer pkRate = saOrder.getPkRate(); if (pkRate == null || !Objects.equals(cuMemberSettleExt.getPkSettleCountry(), saOrder.getPkCountry())) { CurrencyDTO currencyDTO = iCurrencyServiceApi.getCurrency(cuMemberSettleExt.getPkSettleCountry()).getData(); diff --git a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java index 39449617..9f4f8317 100644 --- a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java +++ b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java @@ -1119,14 +1119,14 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle { repurchaseExpandRemark(saOrderExt, cuMemberBonusExpand, sourceMemberSettleExt, targetMemberSettleExt); // 正常状态的辅导奖需要判断复购考核,复购考核不通过的状态变为烧伤 - if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusExpand.getIncomeStatus() - && EYesNo.NO.getIntValue() == targetMemberSettleExt.getPurchaseStatus()) { - // 需要复购考核的 - CuMemberAssess cuMemberAssess = cuMemberAssessMap.get(targetMemberSettleExt.getPkMember()); - if (cuMemberAssess == null) { - cuMemberBonusExpand.setIncomeStatus(EBonusIncomeStatus.FIRE_BURN.getValue()); - } - } +// if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusExpand.getIncomeStatus() +// && EYesNo.NO.getIntValue() == targetMemberSettleExt.getPurchaseStatus()) { +// // 需要复购考核的 +// CuMemberAssess cuMemberAssess = cuMemberAssessMap.get(targetMemberSettleExt.getPkMember()); +// if (cuMemberAssess == null) { +// cuMemberBonusExpand.setIncomeStatus(EBonusIncomeStatus.FIRE_BURN.getValue()); +// } +// } if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusExpand.getIncomeStatus()) { cuMemberBonus.setRepurExpandIncome(ComputeUtil.computeSubtract(expandIncome, cuMemberBonus.getExpandIncome())); 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 914598b2..eed82063 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 @@ -23,6 +23,7 @@ import com.hzs.bonus.detail.service.ICuMemberLevelService; import com.hzs.bonus.risk.service.ICuMemberRiskControlService; import com.hzs.bonus.swing.service.ICuMemberSwingNetLogService; import com.hzs.common.core.constant.BonusFieldConstants; +import com.hzs.common.core.constant.CountryConstants; import com.hzs.common.core.constant.MagicNumberConstants; import com.hzs.common.core.constant.TableNameConstants; import com.hzs.common.core.enums.*; @@ -179,6 +180,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { BonusConfigDTO bonusConfigDTO = iBonusItemsServiceApi.queryBonusConfigDTO().getData(); Map cuMemberSettleExtMap = new HashMap<>(); Map cuAwardsControlMap = getCuAwardsControlMap(); + List awardsList = iAwardsServiceApi.queryAwards(saOrderExt.getPkCountry()).getData(); // 计算奖金 if (EOrderType.REGISTER_ORDER.getValue() == saOrderExt.getOrderType() || EOrderType.UPGRADE_ORDER.getValue() == saOrderExt.getOrderType() || @@ -234,7 +236,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // 计算领导奖 Map saOrderExtMap = new HashMap<>(1); saOrderExtMap.put(saOrderExt.getPkId(), saOrderExt); - List cuMemberBonusCoachList = bonusSettleFirstPurchaseHandle.calculateCoachBonusOne(cuMemberSettleExtMap, settleTableName, settleDate, bonusConfigDTO, cuMemberBonusExpandList, period, cuMemberBonusMap, saOrderExtMap, cuAwardsControlMap, riskControlMap); + List cuMemberBonusCoachList = bonusSettleFirstPurchaseHandle.calculateCoachBonusOne(cuMemberSettleExtMap, settleTableName, settleDate, bonusConfigDTO, cuMemberBonusExpandList, period, cuMemberBonusMap, saOrderExtMap, cuAwardsControlMap, riskControlMap, awardsList); // 计算报单服务费 CuMemberBonusDetail cuMemberBonusDetail = bonusSettleFirstPurchaseHandle.calculateServiceBonusOne(settleDate, cuMemberAssessMap, cuMemberSettleExtMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt); // 复购券 @@ -368,7 +370,9 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // 将结算日昨日业绩数据 迁移到 网体业绩历史记录结算表(cu_member_settle) iCuMemberTreeService.initCuMemberTreeTable(yesterdayTableName, currentSettleTableName); + // 国家奖衔map Map awardsMap = iAwardsServiceApi.getAwards().getData(); + // 等级map Map gradeMap = iGradeServiceApi.getGrade().getData(); // 查看是否有特殊业务,有特殊业务的处理,特殊业务,注水处理 @@ -655,6 +659,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { Map systemConfigMap = iSystemConfigServiceApi.getBonusSystemConfig().getData(); BonusRecordDetailVO recordDetailVO = new BonusRecordDetailVO(); Map awardsMap = iAwardsServiceApi.getAwards().getData(); + List awardsList = iAwardsServiceApi.queryAwards(CountryConstants.CHINA_COUNTRY).getData(); // 首购订单 List firPurchaseOrderList = new ArrayList<>(); saOrderExtList.forEach(saOrderExt -> @@ -673,7 +678,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { cuBonusExpandExtList.forEach(cuBonusExpandExt -> cuBonusExpandExtMap.put(cuBonusExpandExt.getPkMember(), cuBonusExpandExt)); if (firPurchaseOrderList.size() > 0) { calculateFirPurchaseOrder(riskControlMap, cuMemberSettleExtMap, currentSettleTableName, settleDate, systemConfigMap, bonusConfigDTO, - firPurchaseOrderList, period, yesterdayPeriod, weekMemberBonusMap, cuMemberBonusMap, recordDetailVO, awardsMap, cuAwardsControlMap, cuBonusExpandExtMap); + firPurchaseOrderList, period, yesterdayPeriod, weekMemberBonusMap, cuMemberBonusMap, recordDetailVO, awardsMap, awardsList, cuAwardsControlMap, cuBonusExpandExtMap); } List cuMemberBonusList = new ArrayList<>(); for (CuMemberBonus cuMemberBonus : cuMemberBonusMap.values()) { @@ -803,6 +808,8 @@ public class BonusSettleServiceImpl implements IBonusSettleService { Map weekMemberBonusMap = getWeekMemberBonusMap(settleDate, period); Map systemConfigMap = iSystemConfigServiceApi.getBonusSystemConfig().getData(); Map rangeDtoMap = iRangeServiceApi.queryRangeDto().getData(); + // 奖衔列表(奖衔值升序) + List awardsList = iAwardsServiceApi.queryAwards(CountryConstants.CHINA_COUNTRY).getData(); // 查询K值控制 List cuMemberRiskControlList = iCuMemberRiskControlService.queryCuMemberRiskControl(DateUtils.parseStringToDate(settleDate)); @@ -825,7 +832,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // 计算首购 if (firPurchaseOrderList.size() > 0) { calculateFirPurchaseOrder(riskControlMap, cuMemberSettleExtMap, currentSettleTableName, settleDate, systemConfigMap, bonusConfigDTO, - firPurchaseOrderList, period, yesterdayPeriod, weekMemberBonusMap, cuMemberBonusMap, recordDetailVO, awardsMap, cuAwardsControlMap, cuBonusExpandExtMap); + firPurchaseOrderList, period, yesterdayPeriod, weekMemberBonusMap, cuMemberBonusMap, recordDetailVO, awardsMap, awardsList, cuAwardsControlMap, cuBonusExpandExtMap); } // 计算商城业绩 if (mallOrderList.size() > 0) { @@ -1013,7 +1020,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService { private void calculateFirPurchaseOrder(Map riskControlMap, Map cuMemberSettleExtMap, String settleTableName, String settleDate, Map systemConfigMap, BonusConfigDTO bonusConfigDTO, List firPurchaseOrderList, Integer period, Integer yesterdayPeriod, Map weekMemberBonusMap, Map cuMemberBonusMap, BonusRecordDetailVO bonusRecordDetailVO, - Map awardsMap, Map cuAwardsControlMap, Map cuBonusExpandExtMap) { + Map awardsMap, List awardsList, Map cuAwardsControlMap, Map cuBonusExpandExtMap) { // 获得国家是三单循环还是四单循环 // 获得升级方式是纳入三单循环还是固定值 // 获取有订单国家的系统参数,获得三单循环还是四单循环 key 国家+系统参数key @@ -1038,9 +1045,10 @@ public class BonusSettleServiceImpl implements IBonusSettleService { //*********************************计算领导奖(辅导收益)************************/ // 判断是否有量奖,有量奖有辅导奖 -// List cuMemberBonusCoachList = bonusSettleFirstPurchaseHandle.calculateCoachBonus(cuMemberSettleExtMap, settleTableName, settleDate, bonusConfigDTO, firPurchaseOrderList, -// cuMemberBonusExpandList, period, cuMemberBonusMap, cuAwardsControlMap, riskControlMap); -// bonusRecordDetailVO.setCuMemberBonusCoachList(cuMemberBonusCoachList); + List cuMemberBonusCoachList = bonusSettleFirstPurchaseHandle.calculateCoachBonus(cuMemberSettleExtMap, settleTableName, settleDate, bonusConfigDTO, firPurchaseOrderList, + cuMemberBonusExpandList, period, cuMemberBonusMap, cuAwardsControlMap, riskControlMap, awardsList); + bonusRecordDetailVO.setCuMemberBonusCoachList(cuMemberBonusCoachList); + //*********************************计算服务奖************************/ List cuMemberBonusDetailList = bonusSettleFirstPurchaseHandle.calculateServiceBonus(cuMemberSettleExtMap, settleDate, settleTableName, bonusConfigDTO, firPurchaseOrderList, period, cuMemberBonusMap); bonusRecordDetailVO.setCuMemberBonusDetailList(cuMemberBonusDetailList); 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 23aaba46..3949411e 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 @@ -211,12 +211,13 @@ select - pk_member,pk_parent,member_code,member_name,a.pk_awards,account_status,a.register_authority,customer_type, - income_status,pk_settle_country,purchase_status,share_status,is_maker_space, - a_balance,b_balance,r_a_balance,r_b_balance,rep_a_balance,rep_b_balance,r_rep_a_balance,r_rep_b_balance, - register_amount,register_pv,upgrade_amount,upgrade_pv,repurchase_amount,pk_center_code, - repurchase_pv,hi_fun_amount,hi_fun_pv,mall_amount,mall_pv,category,pk_grade, - min_achieve,round,second,bg.grade_value,store_level,expire_status from ( + pk_member, pk_parent, member_code, member_name, a.pk_awards, account_status, a.register_authority, + customer_type, income_status, pk_settle_country, purchase_status, share_status, is_maker_space, + a_balance, b_balance, r_a_balance, r_b_balance, rep_a_balance, rep_b_balance, r_rep_a_balance, r_rep_b_balance, + register_amount, register_pv, upgrade_amount, upgrade_pv, repurchase_amount, repurchase_pv, + hi_fun_amount, hi_fun_pv, mall_amount, mall_pv, category, pk_grade, pk_center_code, + min_achieve, round, second, bg.grade_value, store_level, expire_status + from ( ) a inner join bd_grade bg @@ -286,12 +287,12 @@ - select pk_member,pk_parent,member_code,member_name,pk_awards,account_status, - register_authority,customer_type,income_status,pk_settle_country,purchase_status,share_status,is_maker_space, - a_balance,b_balance,r_a_balance,r_b_balance,rep_a_balance,rep_b_balance,r_rep_a_balance,r_rep_b_balance, - register_amount,register_pv,upgrade_amount,upgrade_pv,repurchase_amount,pk_center_code, - repurchase_pv,hi_fun_amount,hi_fun_pv,mall_amount,mall_pv,category,pk_grade, - min_achieve,round,second,store_level,expire_status + select pk_member, pk_parent, member_code, member_name, pk_awards, register_authority, customer_type, + account_status, income_status, pk_settle_country, purchase_status, share_status, is_maker_space, + a_balance, b_balance, r_a_balance, r_b_balance, rep_a_balance, rep_b_balance, r_rep_a_balance, r_rep_b_balance, + register_amount, register_pv, upgrade_amount, upgrade_pv, repurchase_amount, repurchase_pv, + hi_fun_amount,hi_fun_pv,mall_amount,mall_pv, pk_center_code, category,pk_grade, + min_achieve, round, second, store_level, expire_status from ${settleTableName} where pay_status = 1 start with pk_member = #{item} @@ -848,6 +849,7 @@ b.rep_b_new_amount,b.rep_a_new_pv,b.rep_b_new_pv,b.rep_a_sum_amount,b.rep_b_sum_amount, b.rep_a_sum_pv,b.rep_b_sum_pv,b.round,b.second,b.min_achieve,b.expire_status) + drop table ${tableName} @@ -1380,13 +1382,14 @@ + + + diff --git a/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/detail/CuMemberAssessMapper.xml b/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/detail/CuMemberAssessMapper.xml index 4a6912c3..a51367c0 100644 --- a/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/detail/CuMemberAssessMapper.xml +++ b/hzs-business/hzs-business-bonus/src/main/resources/mapper/member/detail/CuMemberAssessMapper.xml @@ -305,8 +305,8 @@ - select count(1) from CU_MEMBER + diff --git a/hzs-common/hzs-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonusCoach.java b/hzs-common/hzs-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonusCoach.java index b47c988c..fc6a932e 100644 --- a/hzs-common/hzs-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonusCoach.java +++ b/hzs-common/hzs-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonusCoach.java @@ -11,9 +11,7 @@ import lombok.*; import lombok.experimental.Accessors; /** - *

* 会员奖金-辅导收益明细表 - *

* * @author hzs * @since 2022-11-15 diff --git a/hzs-common/hzs-common-domain/src/main/java/com/hzs/common/domain/member/ext/CuMemberSettleExt.java b/hzs-common/hzs-common-domain/src/main/java/com/hzs/common/domain/member/ext/CuMemberSettleExt.java index e620f00d..4983e13f 100644 --- a/hzs-common/hzs-common-domain/src/main/java/com/hzs/common/domain/member/ext/CuMemberSettleExt.java +++ b/hzs-common/hzs-common-domain/src/main/java/com/hzs/common/domain/member/ext/CuMemberSettleExt.java @@ -1,6 +1,5 @@ package com.hzs.common.domain.member.ext; -import com.baomidou.mybatisplus.annotation.TableField; import com.hzs.common.domain.member.achieve.CuMemberTree; import lombok.Data; import lombok.EqualsAndHashCode; @@ -437,4 +436,9 @@ public class CuMemberSettleExt extends CuMemberTree { */ private BigDecimal afterGrantIncome; + /** + * 奖衔值 + */ + private Integer awardsValue; + } diff --git a/hzs-common/hzs-common-domain/src/main/java/com/hzs/common/domain/system/config/BdAwards.java b/hzs-common/hzs-common-domain/src/main/java/com/hzs/common/domain/system/config/BdAwards.java index 3020330d..e14d50d8 100644 --- a/hzs-common/hzs-common-domain/src/main/java/com/hzs/common/domain/system/config/BdAwards.java +++ b/hzs-common/hzs-common-domain/src/main/java/com/hzs/common/domain/system/config/BdAwards.java @@ -14,9 +14,7 @@ import org.apache.ibatis.type.JdbcType; import java.math.BigDecimal; /** - *

* 奖衔配置类 - *

* * @author zhangjing * @since 2022-09-08 @@ -170,4 +168,10 @@ public class BdAwards extends BaseEntity { @TableField("TEXT_CONTENT") private String textContent; + /** + * 安置小区月度考核 + */ + @TableField("SMALL_ASSESS") + private BigDecimal smallAssess; + }