diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusStageMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusStageMapper.java index cda6f8d0..cffb0062 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusStageMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/mapper/CuMemberBonusStageMapper.java @@ -2,10 +2,23 @@ package com.hzs.bonus.bonus.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.hzs.common.domain.member.bonus.CuMemberBonusStage; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 会员奖金-阶段收益明细表 Mapper 接口 */ public interface CuMemberBonusStageMapper extends BaseMapper { + /** + * 删除会员阶段奖金表 + */ + void deleteCuMemberBonusStage(Integer period); + + /** + * 批量插入会员阶段奖 + */ + void batchInsertCuMemberBonusStage(@Param("cuMemberBonusStageList") List cuMemberBonusStageList); + } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusStageService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusStageService.java index 9324c81a..15c1ccb8 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusStageService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/ICuMemberBonusStageService.java @@ -3,15 +3,35 @@ package com.hzs.bonus.bonus.service; import com.baomidou.mybatisplus.extension.service.IService; import com.hzs.common.domain.member.achieve.CuMemberRetailDetail; import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt; +import com.hzs.common.domain.member.bonus.CuMemberBonus; import com.hzs.common.domain.member.bonus.CuMemberBonusStage; +import com.hzs.common.domain.sale.ext.SaOrderExt; +import java.util.List; import java.util.Map; +import java.util.Set; /** * 会员奖金-阶段收益明细表 服务类 */ public interface ICuMemberBonusStageService extends IService { + /** + * 删除会员阶段奖金表 + */ + void deleteCuMemberBonusStage(Integer period); + + /** + * 批量插入会员阶段奖 + */ + void batchInsertCuMemberBonusStage(List cuMemberBonusStageList, Set memberIdSet); + + /** + * 获取阶段收益信息 + */ + CuMemberBonusStage getCuMemberBonusStage(SaOrderExt saOrderExt, CuMemberRetailRangeExt cuMemberRetailRange, + CuMemberBonus cuMemberBonus, Integer pkBonusItems); + /** * 填充会员点位 */ @@ -38,4 +58,5 @@ public interface ICuMemberBonusStageService extends IService CuMemberRetailDetail newRetailDetail, CuMemberRetailDetail newParentRetailDetail, String rangeTableName, String rangeDetailTableName, String newNode); + } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleHandle.java index 616125b9..f9ca8ea7 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleHandle.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleHandle.java @@ -79,6 +79,19 @@ public abstract class BonusSettleHandle { } + /** + * 获得 阶段收益 备注 + */ + protected void stageIncomeRemark(SaOrderExt saOrderExt, CuMemberBonusStage cuMemberBonusStage, + CuMemberRetailRangeExt sourceMember, CuMemberRetailRangeExt targetMember) { + String remark = String.format(BonusMsgConstants.STAGE_INCOME, saOrderExt.getOrderCode(), + sourceMember.getMemberCode() + sourceMember.getMemberName(), + targetMember.getMemberCode() + targetMember.getMemberName(), + cuMemberBonusStage.getChildNode(), cuMemberBonusStage.getStage()); + cuMemberBonusStage.setRemark(remark); + } + + /** * 获得 直推级差收益的备注 * diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java index 4abdb337..83c92210 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java @@ -354,6 +354,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { if (cuMemberBonusPushList.size() > 0) { bonusRecordDetailVO.setCuMemberBonusPushList(cuMemberBonusPushList); } + if (cuMemberBonusStageList.size() > 0) { + bonusRecordDetailVO.setCuMemberBonusStageList(cuMemberBonusStageList); + } if (cuMemberBonusRangeList.size() > 0) { bonusRecordDetailVO.setCuMemberBonusRangeList(cuMemberBonusRangeList); } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java index 9daf6b84..bf6b5e51 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java @@ -40,22 +40,23 @@ public class BonusSettleServiceImpl implements IBonusSettleService { @Autowired private IBonusOrderService iBonusOrderService; @Autowired - private ICuMemberSettlePeriodService cuMemberSettlePeriodService; - @Autowired private BonusSettleRangeHandle bonusSettleRangeHandle; @Autowired - private ICuMemberBonusService cuMemberBonusService; + private ICuMemberSettlePeriodService iCuMemberSettlePeriodService; @Autowired - private ICuMemberBonusPushService cuMemberBonusPushService; + private ICuMemberBonusService iCuMemberBonusService; @Autowired - private ICuMemberBonusRangeService cuMemberBonusRangeService; + private ICuMemberBonusPushService iCuMemberBonusPushService; @Autowired - private ICuMemberBonusDetailService cuMemberBonusDetailService; - + private ICuMemberBonusStageService iCuMemberBonusStageService; + @Autowired + private ICuMemberBonusRangeService iCuMemberBonusRangeService; + @Autowired + private ICuMemberBonusDetailService iCuMemberBonusDetailService; @Autowired private ICuMemberRetailRangeService iCuMemberRetailRangeService; @Autowired - private ICuMemberService cuMemberService; + private ICuMemberService iCuMemberService; /** @@ -68,8 +69,8 @@ public class BonusSettleServiceImpl implements IBonusSettleService { List cuMemberBonusList = setCuMemberBonusSeq(settleDate, cuMemberBonusMap); if (cuMemberBonusList.size() > 0) { // 插入奖金主表 - cuMemberBonusService.insertOrUpdateCuMemberBonus(cuMemberBonusList); - List cuMemberBonuses = cuMemberBonusService.queryCuMemberBonus(period, cuMemberBonusList); + iCuMemberBonusService.insertOrUpdateCuMemberBonus(cuMemberBonusList); + List cuMemberBonuses = iCuMemberBonusService.queryCuMemberBonus(period, cuMemberBonusList); cuMemberBonuses.forEach(cuMemberBonus -> cuMemberBonusMap.put(cuMemberBonus.getPkMember(), cuMemberBonus)); } } @@ -79,10 +80,10 @@ public class BonusSettleServiceImpl implements IBonusSettleService { public void calculateCuMemberBonus(String settleDate) { try { // 结算期间 - Integer period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId(); + Integer period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId(); String yesterday = DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, settleDate); // 结算期间前一天期间 - Integer yesterdayPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yesterday).getPkId(); + Integer yesterdayPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yesterday).getPkId(); // 获取所有国家的奖金项 key = 国家 + 奖金项的值 BonusConfigDTO bonusConfigDTO = iBonusItemsServiceApi.queryBonusConfigDTO().getData(); @@ -121,10 +122,10 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // 处理奖金结算秒结表,判断是否存在当天结算的秒接表,从cu_member中获取网体,从昨日结算表中获取累计、结余数据 // 今天结算期数 String settleDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, saOrderExt.getPayTime()); - int currentPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId(); + int currentPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId(); // 昨天结算期数 String beforeDay = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS, saOrderExt.getPayTime())); - int beforePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeDay).getPkId(); + int beforePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(beforeDay).getPkId(); // 秒结表名 String secondRangeTableName = TableNameConstants.CU_MEMBER_RETAIL_S + currentPeriod; @@ -137,28 +138,28 @@ public class BonusSettleServiceImpl implements IBonusSettleService { secondRangeTableName, beforePeriod, currentPeriod, cuMemberBonusMap, cuMemberBonusDetailList); saveCuMemberBonus(currentPeriod, settleDate, cuMemberBonusMap); - Set memberIdSet = cuMemberBonusService.queryMemberBonusByPeriod(currentPeriod); + Set memberIdSet = iCuMemberBonusService.queryMemberBonusByPeriod(currentPeriod); if (cuMemberBonusRangeList.size() > 0) { cuMemberBonusRangeList.forEach(cuMemberBonusRange -> cuMemberBonusRange.setPkBonus(cuMemberBonusMap.get(cuMemberBonusRange.getPkBonus()).getPkId())); - cuMemberBonusRangeService.batchInsertCuMemberBonusRange(cuMemberBonusRangeList, memberIdSet); + iCuMemberBonusRangeService.batchInsertCuMemberBonusRange(cuMemberBonusRangeList, memberIdSet); } if (cuMemberBonusDetailList.size() > 0) { cuMemberBonusDetailList.forEach(cuMemberBonusDetail -> cuMemberBonusDetail.setPkBonus(cuMemberBonusMap.get(cuMemberBonusDetail.getPkBonus()).getPkId())); - cuMemberBonusDetailService.batchInsertCuMemberBonusDetail(cuMemberBonusDetailList, memberIdSet); + iCuMemberBonusDetailService.batchInsertCuMemberBonusDetail(cuMemberBonusDetailList, memberIdSet); } } else { // 订单撤单处理(逆向) if (!DateUtils.isSameDay(saOrderExt.getPayTime(), DateUtils.currentDate())) { settleDate = DateUtils.parseDateToFormat(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS)); - currentPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId(); + currentPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId(); } // 实时计算撤单数据(业绩、等级、奖衔、日奖) bonusSettleRangeHandle.calculateCuMemberBackRetailIncome(saOrderExt, bonusConfigDTO, secondRangeTableName, beforePeriod, currentPeriod); // 处理收益 - cuMemberBonusService.mergeBackMemberBonusIncome(saOrderExt.getPkId()); + iCuMemberBonusService.mergeBackMemberBonusIncome(saOrderExt.getPkId()); } } } @@ -177,11 +178,11 @@ public class BonusSettleServiceImpl implements IBonusSettleService { } // 今天结算期数 String settleDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, orderExt.getPayTime()); - int currentPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId(); + int currentPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId(); // 秒结表名 String secondRangeTableName = TableNameConstants.CU_MEMBER_RETAIL_S + currentPeriod; List memberList = iCuMemberRetailRangeService.findParentMemberList(orderExt.getPkMember()); - CuMember self = cuMemberService.getById(orderExt.getPkId()); + CuMember self = iCuMemberService.getById(orderExt.getPkId()); iCuMemberRetailRangeService.updateMemberRetailSecondRangeSelf(secondRangeTableName, orderExt, self, updateType, symbol); iCuMemberRetailRangeService.updateMemberRetailSecondRangeParent(secondRangeTableName, orderExt, memberList, updateType, symbol); } @@ -193,10 +194,11 @@ public class BonusSettleServiceImpl implements IBonusSettleService { * @param bonusRecordDetailVO 奖金明细表 */ void insertCuMemberBonus(String settleDate, Integer period, Map cuMemberBonusMap, BonusRecordDetailVO bonusRecordDetailVO) { - cuMemberBonusPushService.deleteCuMemberBonusPush(period); - cuMemberBonusDetailService.deleteCuMemberBonusDetail(period); - cuMemberBonusRangeService.deleteCuMemberBonusRange(period); - cuMemberBonusService.deleteCuMemberBonus(period); + iCuMemberBonusPushService.deleteCuMemberBonusPush(period); + iCuMemberBonusStageService.deleteCuMemberBonusStage(period); + iCuMemberBonusDetailService.deleteCuMemberBonusDetail(period); + iCuMemberBonusRangeService.deleteCuMemberBonusRange(period); + iCuMemberBonusService.deleteCuMemberBonus(period); if (cuMemberBonusMap.size() == 0) { return; } @@ -207,11 +209,17 @@ public class BonusSettleServiceImpl implements IBonusSettleService { List cuMemberBonusPushList = bonusRecordDetailVO.getCuMemberBonusPushList(); List cuMemberBonusDetailList = bonusRecordDetailVO.getCuMemberBonusDetailList(); List cuMemberBonusRangeList = bonusRecordDetailVO.getCuMemberBonusRangeList(); + // 阶段收益奖金明细 + List cuMemberBonusStageList = bonusRecordDetailVO.getCuMemberBonusStageList(); if (cuMemberBonusPushList != null && cuMemberBonusPushList.size() > 0) { cuMemberBonusPushList.forEach(cuMemberBonusPush -> cuMemberBonusPush.setPkBonus(cuMemberBonusMap.get(cuMemberBonusPush.getPkBonus()).getPkId())); batchMemberBonusPushList.addAll(cuMemberBonusPushList); } + if (cuMemberBonusStageList != null && cuMemberBonusStageList.size() > 0) { + cuMemberBonusStageList.forEach(cuMemberBonusStage -> + cuMemberBonusStage.setPkBonus(cuMemberBonusMap.get(cuMemberBonusStage.getPkBonus()).getPkId())); + } if (cuMemberBonusDetailList != null && cuMemberBonusDetailList.size() > 0) { cuMemberBonusDetailList.forEach(cuMemberBonusDetail -> cuMemberBonusDetail.setPkBonus(cuMemberBonusMap.get(cuMemberBonusDetail.getPkBonus()).getPkId())); @@ -223,15 +231,16 @@ public class BonusSettleServiceImpl implements IBonusSettleService { batchMemberBonusRangeList.addAll(cuMemberBonusRangeList); } // 插入奖金主表 - cuMemberBonusService.batchInsertCuMemberBonus(cuMemberBonusList); - Set memberIdSet = cuMemberBonusService.queryMemberBonusByPeriod(period); - cuMemberBonusPushService.batchInsertCuMemberBonusPush(batchMemberBonusPushList, memberIdSet); - cuMemberBonusDetailService.batchInsertCuMemberBonusDetail(batchMemberBonusDetailList, memberIdSet); - cuMemberBonusRangeService.batchInsertCuMemberBonusRange(batchMemberBonusRangeList, memberIdSet); + iCuMemberBonusService.batchInsertCuMemberBonus(cuMemberBonusList); + Set memberIdSet = iCuMemberBonusService.queryMemberBonusByPeriod(period); + iCuMemberBonusPushService.batchInsertCuMemberBonusPush(batchMemberBonusPushList, memberIdSet); + iCuMemberBonusStageService.batchInsertCuMemberBonusStage(cuMemberBonusStageList, memberIdSet); + iCuMemberBonusDetailService.batchInsertCuMemberBonusDetail(batchMemberBonusDetailList, memberIdSet); + iCuMemberBonusRangeService.batchInsertCuMemberBonusRange(batchMemberBonusRangeList, memberIdSet); } private List setCuMemberBonusSeq(String settleDate, Map cuMemberBonusMap) { - List pkIdList = cuMemberBonusService.batchQueryCuMemberBonusSeq(cuMemberBonusMap.size()); + List pkIdList = iCuMemberBonusService.batchQueryCuMemberBonusSeq(cuMemberBonusMap.size()); int i = 0; // 判断时间,重算的时候直接是已公布 Integer grantStatus = EGrantStatus.SETTLED.getValue(); diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusStageServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusStageServiceImpl.java index cc86523b..60d38738 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusStageServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusStageServiceImpl.java @@ -5,23 +5,26 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ReflectUtil; import com.hzs.bonus.achieve.mapper.CuMemberRetailRangeMapper; import com.hzs.bonus.achieve.service.ICuMemberRetailDetailService; +import com.hzs.bonus.achieve.service.impl.CuMemberBonusSettle; import com.hzs.bonus.bonus.mapper.CuMemberBonusStageMapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hzs.bonus.bonus.service.ICuMemberBonusStageService; import com.hzs.bonus.constant.BonusConstants; +import com.hzs.common.core.constant.MagicNumberConstants; import com.hzs.common.core.enums.EBonusStage; +import com.hzs.common.core.enums.ECalType; import com.hzs.common.domain.member.achieve.CuMemberRetailDetail; import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt; +import com.hzs.common.domain.member.bonus.CuMemberBonus; import com.hzs.common.domain.member.bonus.CuMemberBonusStage; +import com.hzs.common.domain.sale.ext.SaOrderExt; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.math.BigDecimal; +import java.util.*; /** * 会员奖金-阶段收益明细表 服务实现类 @@ -29,12 +32,63 @@ import java.util.Map; @Service public class CuMemberBonusStageServiceImpl extends ServiceImpl implements ICuMemberBonusStageService { + @Autowired + private CuMemberBonusSettle cuMemberBonusSettle; @Autowired private ICuMemberRetailDetailService iCuMemberRetailDetailService; @Resource private CuMemberRetailRangeMapper cuMemberRetailRangeMapper; + @Override + public void deleteCuMemberBonusStage(Integer period) { + baseMapper.deleteCuMemberBonusStage(period); + } + + @Override + public void batchInsertCuMemberBonusStage(List cuMemberBonusStageList, Set memberIdSet) { + if (cuMemberBonusStageList.size() == 0) { + return; + } + List addMemberBonusStageList = new ArrayList<>(); + for (CuMemberBonusStage cuMemberBonusStage : cuMemberBonusStageList) { + if (memberIdSet.contains(cuMemberBonusStage.getPkBonus())) { + addMemberBonusStageList.add(cuMemberBonusStage); + } + } + if (addMemberBonusStageList.size() == 0) { + return; + } + List> lists = cuMemberBonusSettle.handleCutList(addMemberBonusStageList); + lists.forEach(list -> + baseMapper.batchInsertCuMemberBonusStage(list)); + } + + /** + * 获取阶段收益信息 + */ + @Override + public CuMemberBonusStage getCuMemberBonusStage(SaOrderExt saOrderExt, CuMemberRetailRangeExt cuMemberRetailRange, CuMemberBonus cuMemberBonus, Integer pkBonusItems) { + CuMemberBonusStage cuMemberBonusStage = CuMemberBonusStage.builder() + .pkBonus(cuMemberBonus.getPkId()) + .pkOrder(saOrderExt.getPkId()) + .pkBonusItems(pkBonusItems) + .incomeStatus(cuMemberRetailRange.getIncomeStatus()) + .calType(ECalType.VALUE.getValue()) + .calAchieve(BigDecimal.ZERO) + .calValue(BigDecimal.ZERO) + .pretaxIncome(BigDecimal.ZERO) + .incomeTax(BigDecimal.ZERO) + .realIncome(BigDecimal.ZERO) + .incomeRatio(BigDecimal.ZERO) + .incomeDialRatio(BigDecimal.ZERO) + .orderDialRatio(BigDecimal.ZERO) + .build(); + cuMemberBonusStage.setPkCountry(cuMemberRetailRange.getPkSettleCountry()); + cuMemberBonusStage.setPkCreator(MagicNumberConstants.PK_ADMIN); + return cuMemberBonusStage; + } + private void initFieldMap() { BonusConstants.FIELD_MAP = new HashMap<>(); for (String suffix : BonusConstants.FIELD_LIST) { diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/vo/BonusRecordDetailVO.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/vo/BonusRecordDetailVO.java index ff67bca9..703a1dc3 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/vo/BonusRecordDetailVO.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/vo/BonusRecordDetailVO.java @@ -18,10 +18,15 @@ public class BonusRecordDetailVO implements Serializable { private Long pkMember; /** - * + * 直推收益、见点收益 */ private List cuMemberBonusPushList; + /** + * 阶段收益 + */ + private List cuMemberBonusStageList; + /** * 新零售 - 区域分红、月度分红 */ diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusStageMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusStageMapper.xml index 8c915f1c..fb2c6d16 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusStageMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/bonus/CuMemberBonusStageMapper.xml @@ -2,31 +2,36 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + + + delete + from CU_MEMBER_BONUS_STAGE + where PK_BONUS in ( + select pk_id + from cu_member_bonus + where period = #{period} + and grant_status <= 2) + + + + + insert ALL + + into cu_member_bonus_stage ( + pk_bonus, pk_order, pk_bonus_items, income_status, + cal_type, cal_achieve, cal_value, + pretax_income, income_tax, real_income, remark, + income_ratio, income_dial_ratio, order_dial_ratio, + pk_creator, child_node, stage, stage_num) + values ( + #{item.pkBonus}, #{item.pkOrder}, #{item.pkBonusItems}, #{item.incomeStatus}, + #{item.calType}, #{item.calAchieve}, #{item.calValue}, + #{item.pretaxIncome}, #{item.incomeTax}, #{item.realIncome}, + #{item.round}, #{item.second}, #{item.remark}, + #{item.incomeRatio}, #{item.incomeDialRatio}, #{item.orderDialRatio}, + #{item.pkCreator}, #{item.childNode}, #{item.stage}, #{item.stageNum}) + + SELECT 1 FROM dual + diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/BonusMsgConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/BonusMsgConstants.java index cc1ecdd0..530a7a40 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/BonusMsgConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/BonusMsgConstants.java @@ -15,6 +15,11 @@ public class BonusMsgConstants { */ public static String REPUR_DIRECT_INCOME = "订单编号%s,%s为%s贡献了第%s代见点收益,计算业绩%f,计算比例%f。"; + /** + * 阶段 收益说明 + */ + public static String STAGE_INCOME = "订单编号%s,%s为%s贡献了阶段收益,%s子点位%s阶段。"; + /** * 直推级差收益说明 */ diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonus.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonus.java index c1f52db2..6ac6da2b 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonus.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonus.java @@ -50,7 +50,7 @@ public class CuMemberBonus extends BaseEntity { private Integer pkRate; /** - * 注册直推收益-康健 + * 注册直推收益-众康 */ @TableField("DIRECT_INCOME") private BigDecimal directIncome; @@ -176,7 +176,7 @@ public class CuMemberBonus extends BaseEntity { private BigDecimal repurCouponSubtotal; /** - * 复购见点收益-康健 + * 复购见点收益-众康 */ @TableField("GLOBAL_POINTS") private BigDecimal globalPoints; @@ -188,7 +188,7 @@ public class CuMemberBonus extends BaseEntity { private BigDecimal carAwardPoints; /** - * 注册阶段收益-康健 + * 注册阶段收益-众康 */ @TableField("STORE_INCOME") private BigDecimal storeIncome; diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonusStage.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonusStage.java index f39d2fed..746a38e0 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonusStage.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/bonus/CuMemberBonusStage.java @@ -7,13 +7,15 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableField; import com.hzs.common.core.web.domain.BaseEntity; -import lombok.Data; -import lombok.EqualsAndHashCode; +import lombok.*; import lombok.experimental.Accessors; /** * 会员奖金-阶段收益明细表 */ +@Builder +@AllArgsConstructor +@NoArgsConstructor @Data @EqualsAndHashCode(callSuper = true) @Accessors(chain = true) @@ -113,6 +115,12 @@ public class CuMemberBonusStage extends BaseEntity { @TableField("ORDER_DIAL_RATIO") private BigDecimal orderDialRatio; + /** + * 会员子节点 + */ + @TableField("CHILD_NODE") + private Integer childNode; + /** * 三个阶段(1、2、3) */