## 二三阶段数据补全;

This commit is contained in:
cabbage 2025-09-25 18:07:36 +08:00
parent 5504309c8a
commit 02ff3cd355
11 changed files with 221 additions and 79 deletions

View File

@ -12,10 +12,11 @@ import java.util.List;
public interface CuMemberRetailDetailMapper extends BaseMapper<CuMemberRetailDetail> {
/**
* 查询明细数据指定阶段未完成的
* 查询明细数据指定阶段指定状态
*/
List<CuMemberRetailDetail> listMemberRetailDetail(@Param("retailDetailTableName") String retailDetailTableName,
@Param("tmpIdList") List<?> tmpIdList,
@Param("stage") Integer stage);
@Param("stage") Integer stage,
@Param("stageStatus") Integer stageStatus);
}

View File

@ -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<CuMemberRetailDet
* 根据结算会员获取对应的点位数据
*/
void listMemberRetailDetail(String retailDetailTableName, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap,
EBonusStage eBonusStage, List<Long> stageMemberList);
EBonusStage eBonusStage, EBonusStageStatus eBonusStageStatus, List<Long> stageMemberList);
/**
* 指定会员获取对应的点位数据
*/
void listMemberRetailDetail(String retailDetailTableName, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap,
List<Long> queryMemberList, EBonusStage eBonusStage);
void listMemberRetailDetailByQuery(String retailDetailTableName, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap,
List<Long> queryMemberList, EBonusStage eBonusStage);
/**
* 会员直推对应的点位数据
*/
void listChildRetailDetail(String retailDetailTableName, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap,
List<Long> queryMemberList, EBonusStage eBonusStage);
}

View File

@ -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<CuMemberRetailD
@Override
public void listMemberRetailDetail(String retailDetailTableName, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap,
EBonusStage eBonusStage, List<Long> stageMemberList) {
EBonusStage eBonusStage, EBonusStageStatus eBonusStageStatus, List<Long> stageMemberList) {
List<List<?>> pkMemberList;
if (CollectionUtil.isNotEmpty(stageMemberList)) {
pkMemberList = cuMemberBonusSettle.handleCutList(stageMemberList, MagicNumberConstants.BATCH_QUERY_NUM);
@ -33,7 +34,7 @@ public class CuMemberRetailDetailServiceImpl extends ServiceImpl<CuMemberRetailD
}
pkMemberList.forEach(tmpIdList -> {
// 查询明细数据指定阶段未完成的
List<CuMemberRetailDetail> tmpList = baseMapper.listMemberRetailDetail(retailDetailTableName, tmpIdList, eBonusStage.getValue());
List<CuMemberRetailDetail> 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<CuMemberRetailD
}
@Override
public void listMemberRetailDetail(String retailDetailTableName, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap,
List<Long> queryMemberList, EBonusStage eBonusStage) {
public void listMemberRetailDetailByQuery(String retailDetailTableName, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap,
List<Long> queryMemberList, EBonusStage eBonusStage) {
// 查询明细数据指定阶段未完成的
List<CuMemberRetailDetail> tmpDetailList = baseMapper.listMemberRetailDetail(retailDetailTableName, queryMemberList, eBonusStage.getValue());
List<CuMemberRetailDetail> 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<CuMemberRetailD
}
}
@Override
public void listChildRetailDetail(String retailDetailTableName, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap,
List<Long> queryMemberList, EBonusStage eBonusStage) {
}
}

View File

@ -38,6 +38,11 @@ public class BonusStageData {
*/
private Integer stageNum;
/**
* 三阶段走完需要添加的待激活点位数
*/
private Integer pointGift;
/**
* 二阶段点位
*/

View File

@ -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<Integer, BdAwards> retailAwardsMap = new HashMap<>();
@ -353,21 +354,25 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
}
}
// TODO 处理升二阶段点位
// 处理升二阶段点位
if (CollectionUtil.isNotEmpty(stageList)) {
List<Long> stageMemberList = stageList.stream().map(CuMemberRetailDetail::getPkMember).collect(Collectors.toList());
// 查询升阶段点位血缘上所有会员ID
List<Long> 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<Long> stageMemberList = stageList.stream().map(CuMemberRetailDetail::getPkMember).collect(Collectors.toList());
// 查询升阶段点位血缘上所有会员ID
List<Long> 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<Integer, CuMemberRetailDetail> 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<CuMemberRetailDetail> returnRetailDetailList) {
// 阶段奖金处理列表
List<BonusStageData> bonusStageDataList = new ArrayList<>();
// 推荐人
Long pkParent = sourceMember.getPkParent();
while (true) {
CuMemberRetailRangeExt targetMember = memberRangeExtMap.get(pkParent);
if (null == targetMember) {
// 没有推荐人了则直接结束
break;
}
pkParent = targetMember.getPkParent();
// 推荐人一阶段子点位列表
LinkedHashMap<Integer, CuMemberRetailDetail> 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<Integer, CuMemberRetailDetail> 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<Long> findParent(Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, List<Long> pkMemberList) {
List<Long> 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;
}
}

View File

@ -361,6 +361,7 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
.targetChildNode(targetRetailDetail.getChildNode())
.stage(eBonusStage.getValue())
.stageNum(2)
.pointGift(0)
.build();
bonusStageDataList.add(bonusStageData);
// 第一层发放过1次
@ -386,6 +387,7 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
.targetChildNode(targetRetailDetail.getChildNode())
.stage(eBonusStage.getValue())
.stageNum(4)
.pointGift(0)
.build();
bonusStageDataList.add(bonusStageData);
// 第二层发放过1次
@ -410,17 +412,18 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
}
}
if (tmpInt - targetRetailDetail.getThirdBonus3() == 1) {
Integer pointGift = 0;
// 默认第三层前7个点位奖金
BigDecimal bonus = BonusConstants.THREE_BONUS_3;
if (tmpInt == 8) {
// 第三层第8个点位
bonus = BonusConstants.THREE_BONUS_38;
// 三层全满
// 三层全满三阶段完成
targetRetailDetail.setStageStatus(EBonusStageStatus.YES.getValue());
targetRetailDetail.setStageDate(settleDate);
// TODO 三阶段填充满判断是否需要赠送点位
// 当前点位赠点数量
pointGift = targetRetailDetail.getPointGift();
}
BonusStageData bonusStageData = BonusStageData.builder()
.bonusIncome(bonus)
@ -428,6 +431,7 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
.targetChildNode(targetRetailDetail.getChildNode())
.stage(eBonusStage.getValue())
.stageNum(tmpInt + 6)
.pointGift(pointGift)
.build();
bonusStageDataList.add(bonusStageData);
targetRetailDetail.setThirdBonus3(tmpInt);
@ -464,8 +468,8 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
retailList.forEach(tmpRetail -> {
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<CuMemberBonusStag
retailList.forEach(tmpRetail -> {
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<CuMemberBonusStag
retailList.forEach(tmpRetail -> {
memberRangeExtMap.put(tmpRetail.getPkMember(), tmpRetail);
});
// 查询血缘会员明细数据一阶段
iCuMemberRetailDetailService.listMemberRetailDetail(rangeDetailTableName, memberRangeExtMap, queryMemberList, EBonusStage.ONE);
// 查询血缘会员明细数据
iCuMemberRetailDetailService.listMemberRetailDetailByQuery(rangeDetailTableName, memberRangeExtMap, queryMemberList, eBonusStage);
}
}

View File

@ -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
*/

View File

@ -10,9 +10,13 @@
<foreach collection="tmpIdList" item="items" open="(" close=")" separator=",">
#{items}
</foreach>
and cmrd.stage = #{stage}
and cmrd.stage_status = 1
order by cmrd.pk_member, cmrd.child_node
<if test="stage != null">
and cmrd.stage = #{stage}
</if>
<if test="stageStatus != null">
and cmrd.stage_status = #{stageStatus}
</if>
order by cmrd.pk_member, cmrd.child_node, cmrd.stage
</select>
</mapper>

View File

@ -51,7 +51,9 @@
<result column="rep_team_new_amount" property="repTeamNewAmount"/>
<result column="rep_team_new_pv" property="repTeamNewPv"/>
<result column="point_count" property="pointCount"/>
<result column="wait_point_count" property="waitPointCount"/>
<result column="rep_pv_balance" property="repPvBalance"/>
<result column="gift_point" property="giftPoint"/>
<result column="AWARDS_VALUE" property="awardsValue"/>
<result column="AWARDS_NAME" property="awardsName"/>
@ -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
</update>
<update id="mergeMemberRetailRangeByYesterday">
@ -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
<if test="isSameMonth == 0">
,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
</foreach>
) 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
</update>
<!-- 更新会员日结数据 -->
@ -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 (

View File

@ -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
)
</update>

View File

@ -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;
}