diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberRetailDetailMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberRetailDetailMapper.java index aa6dcff6..3758a05c 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberRetailDetailMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberRetailDetailMapper.java @@ -12,10 +12,11 @@ import java.util.List; public interface CuMemberRetailDetailMapper extends BaseMapper { /** - * 查询明细数据(指定阶段,未完成的) + * 查询明细数据(指定阶段,指定状态) */ List listMemberRetailDetail(@Param("retailDetailTableName") String retailDetailTableName, @Param("tmpIdList") List tmpIdList, - @Param("stage") Integer stage); + @Param("stage") Integer stage, + @Param("stageStatus") Integer stageStatus); } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberRetailDetailService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberRetailDetailService.java index ab48d9c5..81d13adc 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberRetailDetailService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberRetailDetailService.java @@ -2,6 +2,7 @@ package com.hzs.bonus.achieve.service; import com.baomidou.mybatisplus.extension.service.IService; import com.hzs.common.core.enums.EBonusStage; +import com.hzs.common.core.enums.EBonusStageStatus; import com.hzs.common.domain.member.achieve.CuMemberRetailDetail; import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt; @@ -17,12 +18,18 @@ public interface ICuMemberRetailDetailService extends IService memberRangeExtMap, - EBonusStage eBonusStage, List stageMemberList); + EBonusStage eBonusStage, EBonusStageStatus eBonusStageStatus, List stageMemberList); /** * 指定会员获取对应的点位数据 */ - void listMemberRetailDetail(String retailDetailTableName, Map memberRangeExtMap, - List queryMemberList, EBonusStage eBonusStage); + void listMemberRetailDetailByQuery(String retailDetailTableName, Map memberRangeExtMap, + List queryMemberList, EBonusStage eBonusStage); + + /** + * 会员直推对应的点位数据 + */ + void listChildRetailDetail(String retailDetailTableName, Map memberRangeExtMap, + List queryMemberList, EBonusStage eBonusStage); } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRetailDetailServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRetailDetailServiceImpl.java index 435bcfb9..5602c43d 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRetailDetailServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberRetailDetailServiceImpl.java @@ -6,6 +6,7 @@ import com.hzs.bonus.achieve.service.ICuMemberRetailDetailService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hzs.common.core.constant.MagicNumberConstants; import com.hzs.common.core.enums.EBonusStage; +import com.hzs.common.core.enums.EBonusStageStatus; import com.hzs.common.domain.member.achieve.CuMemberRetailDetail; import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt; import org.springframework.beans.factory.annotation.Autowired; @@ -24,7 +25,7 @@ public class CuMemberRetailDetailServiceImpl extends ServiceImpl memberRangeExtMap, - EBonusStage eBonusStage, List stageMemberList) { + EBonusStage eBonusStage, EBonusStageStatus eBonusStageStatus, List stageMemberList) { List> pkMemberList; if (CollectionUtil.isNotEmpty(stageMemberList)) { pkMemberList = cuMemberBonusSettle.handleCutList(stageMemberList, MagicNumberConstants.BATCH_QUERY_NUM); @@ -33,7 +34,7 @@ public class CuMemberRetailDetailServiceImpl extends ServiceImpl { // 查询明细数据(指定阶段,未完成的) - List tmpList = baseMapper.listMemberRetailDetail(retailDetailTableName, tmpIdList, eBonusStage.getValue()); + List tmpList = baseMapper.listMemberRetailDetail(retailDetailTableName, tmpIdList, eBonusStage.getValue(), null != eBonusStageStatus ? eBonusStageStatus.getValue() : null); if (CollectionUtil.isNotEmpty(tmpList)) { // 明细数据放到对应的会员数据中 for (CuMemberRetailDetail cuMemberRetailDetail : tmpList) { @@ -64,10 +65,10 @@ public class CuMemberRetailDetailServiceImpl extends ServiceImpl memberRangeExtMap, - List queryMemberList, EBonusStage eBonusStage) { + public void listMemberRetailDetailByQuery(String retailDetailTableName, Map memberRangeExtMap, + List queryMemberList, EBonusStage eBonusStage) { // 查询明细数据(指定阶段,未完成的) - List tmpDetailList = baseMapper.listMemberRetailDetail(retailDetailTableName, queryMemberList, eBonusStage.getValue()); + List tmpDetailList = baseMapper.listMemberRetailDetail(retailDetailTableName, queryMemberList, eBonusStage.getValue(), EBonusStageStatus.NO.getValue()); if (CollectionUtil.isNotEmpty(tmpDetailList)) { // 明细数据放到对应的会员数据中 for (CuMemberRetailDetail cuMemberRetailDetail : tmpDetailList) { @@ -97,4 +98,10 @@ public class CuMemberRetailDetailServiceImpl extends ServiceImpl memberRangeExtMap, + List queryMemberList, EBonusStage eBonusStage) { + + } + } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/dto/BonusStageData.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/dto/BonusStageData.java index eb5ff7ea..edf551a3 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/dto/BonusStageData.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/dto/BonusStageData.java @@ -38,6 +38,11 @@ public class BonusStageData { */ private Integer stageNum; + /** + * 三阶段走完,需要添加的待激活点位数 + */ + private Integer pointGift; + /** * 二阶段点位 */ 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 fb35053c..2f9104bd 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 @@ -7,6 +7,7 @@ import com.hzs.bonus.base.service.ICuMemberService; import com.hzs.bonus.bonus.dto.BonusStageData; import com.hzs.bonus.bonus.service.ICuMemberBonusStageService; import com.hzs.bonus.bonus.vo.BonusRecordDetailVO; +import com.hzs.bonus.constant.BonusConstants; import com.hzs.bonus.detail.service.ICuMemberAwardsService; import com.hzs.bonus.order.service.IBonusOrderService; import com.hzs.common.core.constant.MagicNumberConstants; @@ -310,7 +311,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } } // 查询血缘会员明细数据(一阶段) - iCuMemberRetailDetailService.listMemberRetailDetail(rangeDetailTableName, memberRangeExtMap, EBonusStage.ONE, null); + iCuMemberRetailDetailService.listMemberRetailDetail(rangeDetailTableName, memberRangeExtMap, EBonusStage.ONE, EBonusStageStatus.NO, null); // 奖衔 Map retailAwardsMap = new HashMap<>(); @@ -353,21 +354,25 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } } - // TODO 处理升二阶段点位 + // 处理升二阶段点位 if (CollectionUtil.isNotEmpty(stageList)) { List stageMemberList = stageList.stream().map(CuMemberRetailDetail::getPkMember).collect(Collectors.toList()); + // 查询升阶段点位血缘上所有会员ID + List findMemberList = this.findParent(memberRangeExtMap, stageMemberList); // 查询血缘会员明细数据(二阶段) - iCuMemberRetailDetailService.listMemberRetailDetail(rangeDetailTableName, memberRangeExtMap, EBonusStage.TWO, stageMemberList); + iCuMemberRetailDetailService.listMemberRetailDetail(rangeDetailTableName, memberRangeExtMap, EBonusStage.TWO, EBonusStageStatus.NO, findMemberList); // 二阶段收益 stageList = this.calculateStageIncomeTwoThree(cuMemberBonusStageList, cuMemberBonusMap, bonusConfigDTO, period, memberRangeExtMap, settleStartDate, rangeTableName, rangeDetailTableName, EBonusStage.TWO, stageList); } - // TODO 处理升三阶段点位 + // 处理升三阶段点位 if (CollectionUtil.isNotEmpty(stageList)) { List stageMemberList = stageList.stream().map(CuMemberRetailDetail::getPkMember).collect(Collectors.toList()); + // 查询升阶段点位血缘上所有会员ID + List findMemberList = this.findParent(memberRangeExtMap, stageMemberList); // 查询血缘会员明细数据(三阶段) - iCuMemberRetailDetailService.listMemberRetailDetail(rangeDetailTableName, memberRangeExtMap, EBonusStage.THREE, stageMemberList); + iCuMemberRetailDetailService.listMemberRetailDetail(rangeDetailTableName, memberRangeExtMap, EBonusStage.THREE, EBonusStageStatus.NO, findMemberList); // 三阶段收益 this.calculateStageIncomeTwoThree(cuMemberBonusStageList, cuMemberBonusMap, bonusConfigDTO, period, memberRangeExtMap, settleStartDate, rangeTableName, rangeDetailTableName, EBonusStage.THREE, stageList); @@ -965,12 +970,21 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { return returnRetailDetailList; } + // 订单生成新点位数量 int newPointInt; if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() || EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) { // 精品专区按订单金额计算 + BigDecimal orderAmount = saOrderExt.getOrderAmount(); // 订单金额除50取整,为新増点位数量 - newPointInt = saOrderExt.getOrderAmount().divide(RetailConstants.POINT_VAL, 0, RoundingMode.DOWN).intValue(); + newPointInt = orderAmount.divide(RetailConstants.POINT_VAL, 0, RoundingMode.DOWN).intValue(); + if (orderAmount.compareTo(BonusConstants.GIFT_TWO_AMOUNT) >= 0 && sourceMember.getGiftPoint() < 2) { + // 首次订单金额大于等于2万,每个点位完成三阶段赠送2个点位 + sourceMember.setGiftPoint(2); + } else if (orderAmount.compareTo(BonusConstants.GIFT_ONE_AMOUNT) >= 0 && sourceMember.getGiftPoint() < 1) { + // 首次订单金额大于等于1万,每个点位完成三阶段赠送1个点位 + sourceMember.setGiftPoint(1); + } } else { // 商城专区按累计业绩处理 BigDecimal repPvBalance = sourceMember.getRepPvBalance().add(saOrderExt.getOrderAchieve()); @@ -981,6 +995,8 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 当前订单不足生成点位 return returnRetailDetailList; } + // 赠送点位 + int pointGift = sourceMember.getGiftPoint(); // 会员一阶段子点位列表 LinkedHashMap detailList = sourceMember.getOneDetailMap(); @@ -1001,7 +1017,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { .stage(EBonusStage.ONE.getValue()) .stageStatus(EBonusStageStatus.NO.getValue()) .pointType(EBonusStageType.NORMAL.getValue()) - .pointGift(0) + .pointGift(pointGift) .creationTime(settleDate) .thirdBonus1(0) .thirdBonus2(0) @@ -1014,6 +1030,39 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { memberRangeExtMap, saOrderExt, settleDate, rangeTableName, rangeDetailTableName, EBonusStage.ONE, sourceMember, newRetailDetail, returnRetailDetailList); } + // 待激活点位 + int waitPointCount = sourceMember.getWaitPointCount(); + if (waitPointCount != 0) { + for (int i = 1; i <= newPointInt; i++) { + if (waitPointCount > 0) { + // 购买一个点位,激活一个待激活点位 + CuMemberRetailDetail newRetailDetail = CuMemberRetailDetail.builder() + .pkMember(sourceMember.getPkMember()) + .childNode(pointCount + i) + .pkParent(sourceMember.getPkParent()) + .stage(EBonusStage.ONE.getValue()) + .stageStatus(EBonusStageStatus.NO.getValue()) + .pointType(EBonusStageType.GIFT.getValue()) + .pointGift(0) + .creationTime(settleDate) + .thirdBonus1(0) + .thirdBonus2(0) + .thirdBonus3(0) + .updateBool(0) + .build(); + detailList.put(newRetailDetail.getChildNode(), newRetailDetail); + + this.handleStageIncome(cuMemberBonusStageList, cuMemberBonusMap, bonusConfigDTO, period, + memberRangeExtMap, saOrderExt, settleDate, rangeTableName, rangeDetailTableName, EBonusStage.ONE, + sourceMember, newRetailDetail, returnRetailDetailList); + + waitPointCount = waitPointCount - 1; + } else { + break; + } + } + sourceMember.setWaitPointCount(waitPointCount); + } sourceMember.setPointCount(sourceMember.getPointCount() + newPointInt); return returnRetailDetailList; } @@ -1053,53 +1102,60 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { List returnRetailDetailList) { // 阶段奖金处理列表 List bonusStageDataList = new ArrayList<>(); - // 推荐人 - Long pkParent = sourceMember.getPkParent(); - while (true) { - CuMemberRetailRangeExt targetMember = memberRangeExtMap.get(pkParent); - if (null == targetMember) { - // 没有推荐人了,则直接结束 - break; - } - pkParent = targetMember.getPkParent(); - // 推荐人一阶段子点位列表 - LinkedHashMap parentDetailList = null; - if (EBonusStage.ONE.getValue() == eBonusStage.getValue()) { - parentDetailList = targetMember.getOneDetailMap(); - } else if (EBonusStage.TWO.getValue() == eBonusStage.getValue()) { - parentDetailList = targetMember.getTwoDetailMap(); - } else if (EBonusStage.THREE.getValue() == eBonusStage.getValue()) { - parentDetailList = targetMember.getThreeDetailMap(); - } - if (CollectionUtil.isEmpty(parentDetailList)) { - // 推荐人没有未完成点位,继续往上找 - continue; - } + if (EBonusStageType.NORMAL.getValue() == newRetailDetail.getPointType()) { + // 普通点位处理 + // 推荐人 + Long pkParent = sourceMember.getPkParent(); + while (true) { + CuMemberRetailRangeExt targetMember = memberRangeExtMap.get(pkParent); + if (null == targetMember) { + // 没有推荐人了,则直接结束 + break; + } + pkParent = targetMember.getPkParent(); - // 推荐人第一层点位处理 - boolean forBool = iCuMemberBonusStageService.firstLevelhandle(parentDetailList, newRetailDetail, rangeTableName, rangeDetailTableName, - memberRangeExtMap, settleDate, eBonusStage, bonusStageDataList); - if (forBool) { - // 在第一层找到并填充点位,就开始下一个点位的处理 - break; - } + // 推荐人一阶段子点位列表 + LinkedHashMap parentDetailList = null; + if (EBonusStage.ONE.getValue() == eBonusStage.getValue()) { + parentDetailList = targetMember.getOneDetailMap(); + } else if (EBonusStage.TWO.getValue() == eBonusStage.getValue()) { + parentDetailList = targetMember.getTwoDetailMap(); + } else if (EBonusStage.THREE.getValue() == eBonusStage.getValue()) { + parentDetailList = targetMember.getThreeDetailMap(); + } + if (CollectionUtil.isEmpty(parentDetailList)) { + // 推荐人没有未完成点位,继续往上找 + continue; + } - // 推荐人第二层点位处理 - forBool = iCuMemberBonusStageService.secondLevelhandle(parentDetailList, newRetailDetail, rangeTableName, rangeDetailTableName, - memberRangeExtMap, settleDate, eBonusStage, bonusStageDataList); - if (forBool) { - // 在第二层找到并填充点位,就开始下一个点位的处理 - break; - } + // 推荐人第一层点位处理 + boolean forBool = iCuMemberBonusStageService.firstLevelhandle(parentDetailList, newRetailDetail, rangeTableName, rangeDetailTableName, + memberRangeExtMap, settleDate, eBonusStage, bonusStageDataList); + if (forBool) { + // 在第一层找到并填充点位,就开始下一个点位的处理 + break; + } - // 推荐人第三层点位处理 - forBool = iCuMemberBonusStageService.thirdLevelhandle(parentDetailList, newRetailDetail, rangeTableName, rangeDetailTableName, - memberRangeExtMap, settleDate, eBonusStage, bonusStageDataList); - if (forBool) { - // 在第三层找到并填充点位,就开始下一个点位的处理 - break; + // 推荐人第二层点位处理 + forBool = iCuMemberBonusStageService.secondLevelhandle(parentDetailList, newRetailDetail, rangeTableName, rangeDetailTableName, + memberRangeExtMap, settleDate, eBonusStage, bonusStageDataList); + if (forBool) { + // 在第二层找到并填充点位,就开始下一个点位的处理 + break; + } + + // 推荐人第三层点位处理 + forBool = iCuMemberBonusStageService.thirdLevelhandle(parentDetailList, newRetailDetail, rangeTableName, rangeDetailTableName, + memberRangeExtMap, settleDate, eBonusStage, bonusStageDataList); + if (forBool) { + // 在第三层找到并填充点位,就开始下一个点位的处理 + break; + } } + } else { + // TODO 赠送点位处理,赠送点位给自己直推会员轮流布点 + } if (CollectionUtil.isNotEmpty(bonusStageDataList)) { @@ -1138,11 +1194,36 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { targetMember.getThreeDetailMap().put(threeRetailDetail.getChildNode(), threeRetailDetail); returnRetailDetailList.add(threeRetailDetail); } else if (EBonusStage.THREE.getValue() == bonusStageData.getStage()) { - // TODO 三阶段填充满,判断是否需要赠送点位 - + // 三阶段填充满,判断是否需要赠送点位 + if (bonusStageData.getPointGift() != 0) { + // 需要添加赠送的待激活点位 + targetMember.setWaitPointCount(targetMember.getWaitPointCount() + bonusStageData.getPointGift()); + } } } } } + /** + * 查找血缘上所有会员 + */ + private List findParent(Map memberRangeExtMap, List pkMemberList) { + List resultList = new ArrayList<>(); + for (Long pkMember : pkMemberList) { + CuMemberRetailRangeExt sourceMember = memberRangeExtMap.get(pkMember); + resultList.add(sourceMember.getPkMember()); + + Long pkParent = sourceMember.getPkParent(); + while (true) { + CuMemberRetailRangeExt targetMember = memberRangeExtMap.get(pkParent); + if (null == targetMember) { + break; + } + resultList.add(targetMember.getPkMember()); + pkParent = targetMember.getPkParent(); + } + } + return resultList; + } + } 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 d7fbc670..9fd14cd7 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 @@ -361,6 +361,7 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl { memberRangeExtMap.put(tmpRetail.getPkMember(), tmpRetail); }); - // 查询血缘会员明细数据(一阶段) - iCuMemberRetailDetailService.listMemberRetailDetail(rangeDetailTableName, memberRangeExtMap, queryMemberList, EBonusStage.ONE); + // 查询血缘会员明细数据 + iCuMemberRetailDetailService.listMemberRetailDetailByQuery(rangeDetailTableName, memberRangeExtMap, queryMemberList, eBonusStage); } } @@ -535,8 +539,8 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl { memberRangeExtMap.put(tmpRetail.getPkMember(), tmpRetail); }); - // 查询血缘会员明细数据(一阶段) - iCuMemberRetailDetailService.listMemberRetailDetail(rangeDetailTableName, memberRangeExtMap, queryMemberList, EBonusStage.ONE); + // 查询血缘会员明细数据 + iCuMemberRetailDetailService.listMemberRetailDetailByQuery(rangeDetailTableName, memberRangeExtMap, queryMemberList, eBonusStage); } } @@ -628,8 +632,8 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl { memberRangeExtMap.put(tmpRetail.getPkMember(), tmpRetail); }); - // 查询血缘会员明细数据(一阶段) - iCuMemberRetailDetailService.listMemberRetailDetail(rangeDetailTableName, memberRangeExtMap, queryMemberList, EBonusStage.ONE); + // 查询血缘会员明细数据 + iCuMemberRetailDetailService.listMemberRetailDetailByQuery(rangeDetailTableName, memberRangeExtMap, queryMemberList, eBonusStage); } } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/constant/BonusConstants.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/constant/BonusConstants.java index c8a55bf4..cb393e6f 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/constant/BonusConstants.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/constant/BonusConstants.java @@ -12,6 +12,15 @@ import java.util.Map; public class BonusConstants { + /** + * 赠送2个点位订单金额 + */ + public static final BigDecimal GIFT_TWO_AMOUNT = new BigDecimal("20000"); + /** + * 赠送1个点位订单金额 + */ + public static final BigDecimal GIFT_ONE_AMOUNT = new BigDecimal("10000"); + /** * 一阶段奖金 -- 满14,发35 */ diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailDetailMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailDetailMapper.xml index b1efab5b..5cb90a9a 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailDetailMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailDetailMapper.xml @@ -10,9 +10,13 @@ #{items} - and cmrd.stage = #{stage} - and cmrd.stage_status = 1 - order by cmrd.pk_member, cmrd.child_node + + and cmrd.stage = #{stage} + + + and cmrd.stage_status = #{stageStatus} + + order by cmrd.pk_member, cmrd.child_node, cmrd.stage diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml index 80f02a9a..eb220f7b 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml @@ -51,7 +51,9 @@ + + @@ -95,7 +97,9 @@ rep_team_new_amount = 0, rep_team_new_pv = 0, point_count = 0, - rep_pv_balance = 0 + wait_point_count = 0, + rep_pv_balance = 0, + gift_point = 0 @@ -107,7 +111,8 @@ team_consume_pv, team_month_pv, team_consume_amount, team_month_amount, recommend_num, team_num, big_team_pv, small_team_pv, - point_count, rep_pv_balance + point_count, wait_point_count, rep_pv_balance, + gift_point from ${yesterdayRangeTableName} ) b on (a.pk_member = b.pk_member) @@ -120,7 +125,9 @@ a.team_consume_amount = b.team_consume_amount, a.recommend_num = b.recommend_num, a.team_num = b.team_num, a.big_team_pv = b.big_team_pv, a.small_team_pv = b.small_team_pv, - a.point_count = b.point_count, a.rep_pv_balance = b.rep_pv_balance + a.point_count = b.point_count, a.wait_point_count = b.wait_point_count, + a.rep_pv_balance = b.rep_pv_balance, + a.gift_point = b.gift_point ,a.month_consume_pv = b.month_consume_pv ,a.month_consume_amount = b.month_consume_amount @@ -339,7 +346,8 @@ #{item.regTeamNewAmount} reg_team_new_amount, #{item.regTeamNewPv} reg_team_new_pv, #{item.repConsumeNewAmount} rep_consume_new_amount, #{item.repConsumeNewPv} rep_consume_new_pv, #{item.repTeamNewAmount} rep_team_new_amount, #{item.repTeamNewPv} rep_team_new_pv, - #{item.pointCount} point_count, #{item.repPvBalance} rep_pv_balance + #{item.pointCount} point_count, #{item.waitPointCount} wait_point_count, #{item.repPvBalance} rep_pv_balance, + #{item.giftPoint} gift_point from dual ) b @@ -355,7 +363,8 @@ a.reg_team_new_amount = b.reg_team_new_amount, a.reg_team_new_pv = b.reg_team_new_pv, a.rep_consume_new_amount = b.rep_consume_new_amount, a.rep_consume_new_pv = b.rep_consume_new_pv, a.rep_team_new_amount = b.rep_team_new_amount, a.rep_team_new_pv = b.rep_team_new_pv, - a.point_count = b.point_count, a.rep_pv_balance = b.rep_pv_balance + a.point_count = b.point_count, a.wait_point_count = b.wait_point_count, a.rep_pv_balance = b.rep_pv_balance, + a.gift_point = b.gift_point @@ -671,7 +680,9 @@ rep_team_new_amount, rep_team_new_pv, point_count, + wait_point_count, rep_pv_balance, + gift_point, bw.awards_value, bw.awards_name from ( diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml index ecced1a8..e61a1a6c 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml @@ -576,7 +576,9 @@ rep_team_new_amount number(17,6) default 0 not null, rep_team_new_pv number(17,6) default 0 not null, point_count number(8) default 0 not null, - rep_pv_balance number(17,6) default 0 not null + wait_point_count number(8) default 0 not null, + rep_pv_balance number(17,6) default 0 not null, + gift_point number(2) default 1 not null ) diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/CuMemberRetailRange.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/CuMemberRetailRange.java index f5f6ea4a..6b996bf6 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/CuMemberRetailRange.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/CuMemberRetailRange.java @@ -194,6 +194,11 @@ public class CuMemberRetailRange extends BaseEntity { */ @TableField("point_count") private Integer pointCount; + /** + * 待激活子点位数 + */ + @TableField("WAIT_POINT_COUNT") + private Integer waitPointCount; /** * 复购业绩余额 @@ -201,4 +206,10 @@ public class CuMemberRetailRange extends BaseEntity { @TableField("REP_PV_BALANCE") private BigDecimal repPvBalance; + /** + * 赠送几个点位 + */ + @TableField("GIFT_POINT") + private Integer giftPoint; + }