Merge remote-tracking branch 'origin/test' into test
This commit is contained in:
commit
aea3f9fe9b
|
@ -12,10 +12,11 @@ import java.util.List;
|
||||||
public interface CuMemberRetailDetailMapper extends BaseMapper<CuMemberRetailDetail> {
|
public interface CuMemberRetailDetailMapper extends BaseMapper<CuMemberRetailDetail> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询明细数据(指定阶段,未完成的)
|
* 查询明细数据(指定阶段,指定状态)
|
||||||
*/
|
*/
|
||||||
List<CuMemberRetailDetail> listMemberRetailDetail(@Param("retailDetailTableName") String retailDetailTableName,
|
List<CuMemberRetailDetail> listMemberRetailDetail(@Param("retailDetailTableName") String retailDetailTableName,
|
||||||
@Param("tmpIdList") List<?> tmpIdList,
|
@Param("tmpIdList") List<?> tmpIdList,
|
||||||
@Param("stage") Integer stage);
|
@Param("stage") Integer stage,
|
||||||
|
@Param("stageStatus") Integer stageStatus);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.hzs.bonus.achieve.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.hzs.common.core.enums.EBonusStage;
|
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.CuMemberRetailDetail;
|
||||||
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
|
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,
|
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,
|
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);
|
List<Long> queryMemberList, EBonusStage eBonusStage);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@ import com.hzs.bonus.achieve.service.ICuMemberRetailDetailService;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.hzs.common.core.constant.MagicNumberConstants;
|
import com.hzs.common.core.constant.MagicNumberConstants;
|
||||||
import com.hzs.common.core.enums.EBonusStage;
|
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.CuMemberRetailDetail;
|
||||||
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
|
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
@ -24,7 +25,7 @@ public class CuMemberRetailDetailServiceImpl extends ServiceImpl<CuMemberRetailD
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void listMemberRetailDetail(String retailDetailTableName, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap,
|
public void listMemberRetailDetail(String retailDetailTableName, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap,
|
||||||
EBonusStage eBonusStage, List<Long> stageMemberList) {
|
EBonusStage eBonusStage, EBonusStageStatus eBonusStageStatus, List<Long> stageMemberList) {
|
||||||
List<List<?>> pkMemberList;
|
List<List<?>> pkMemberList;
|
||||||
if (CollectionUtil.isNotEmpty(stageMemberList)) {
|
if (CollectionUtil.isNotEmpty(stageMemberList)) {
|
||||||
pkMemberList = cuMemberBonusSettle.handleCutList(stageMemberList, MagicNumberConstants.BATCH_QUERY_NUM);
|
pkMemberList = cuMemberBonusSettle.handleCutList(stageMemberList, MagicNumberConstants.BATCH_QUERY_NUM);
|
||||||
|
@ -33,7 +34,7 @@ public class CuMemberRetailDetailServiceImpl extends ServiceImpl<CuMemberRetailD
|
||||||
}
|
}
|
||||||
pkMemberList.forEach(tmpIdList -> {
|
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)) {
|
if (CollectionUtil.isNotEmpty(tmpList)) {
|
||||||
// 明细数据放到对应的会员数据中
|
// 明细数据放到对应的会员数据中
|
||||||
for (CuMemberRetailDetail cuMemberRetailDetail : tmpList) {
|
for (CuMemberRetailDetail cuMemberRetailDetail : tmpList) {
|
||||||
|
@ -64,10 +65,10 @@ public class CuMemberRetailDetailServiceImpl extends ServiceImpl<CuMemberRetailD
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void listMemberRetailDetail(String retailDetailTableName, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap,
|
public void listMemberRetailDetailByQuery(String retailDetailTableName, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap,
|
||||||
List<Long> queryMemberList, EBonusStage eBonusStage) {
|
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)) {
|
if (CollectionUtil.isNotEmpty(tmpDetailList)) {
|
||||||
// 明细数据放到对应的会员数据中
|
// 明细数据放到对应的会员数据中
|
||||||
for (CuMemberRetailDetail cuMemberRetailDetail : 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) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,6 +38,11 @@ public class BonusStageData {
|
||||||
*/
|
*/
|
||||||
private Integer stageNum;
|
private Integer stageNum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 三阶段走完,需要添加的待激活点位数
|
||||||
|
*/
|
||||||
|
private Integer pointGift;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 二阶段点位
|
* 二阶段点位
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -7,6 +7,7 @@ import com.hzs.bonus.base.service.ICuMemberService;
|
||||||
import com.hzs.bonus.bonus.dto.BonusStageData;
|
import com.hzs.bonus.bonus.dto.BonusStageData;
|
||||||
import com.hzs.bonus.bonus.service.ICuMemberBonusStageService;
|
import com.hzs.bonus.bonus.service.ICuMemberBonusStageService;
|
||||||
import com.hzs.bonus.bonus.vo.BonusRecordDetailVO;
|
import com.hzs.bonus.bonus.vo.BonusRecordDetailVO;
|
||||||
|
import com.hzs.bonus.constant.BonusConstants;
|
||||||
import com.hzs.bonus.detail.service.ICuMemberAwardsService;
|
import com.hzs.bonus.detail.service.ICuMemberAwardsService;
|
||||||
import com.hzs.bonus.order.service.IBonusOrderService;
|
import com.hzs.bonus.order.service.IBonusOrderService;
|
||||||
import com.hzs.common.core.constant.MagicNumberConstants;
|
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<>();
|
Map<Integer, BdAwards> retailAwardsMap = new HashMap<>();
|
||||||
|
@ -353,21 +354,25 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO 处理升二阶段点位
|
// 处理升二阶段点位
|
||||||
if (CollectionUtil.isNotEmpty(stageList)) {
|
if (CollectionUtil.isNotEmpty(stageList)) {
|
||||||
List<Long> stageMemberList = stageList.stream().map(CuMemberRetailDetail::getPkMember).collect(Collectors.toList());
|
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,
|
stageList = this.calculateStageIncomeTwoThree(cuMemberBonusStageList, cuMemberBonusMap, bonusConfigDTO, period,
|
||||||
memberRangeExtMap, settleStartDate, rangeTableName, rangeDetailTableName, EBonusStage.TWO, stageList);
|
memberRangeExtMap, settleStartDate, rangeTableName, rangeDetailTableName, EBonusStage.TWO, stageList);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO 处理升三阶段点位
|
// 处理升三阶段点位
|
||||||
if (CollectionUtil.isNotEmpty(stageList)) {
|
if (CollectionUtil.isNotEmpty(stageList)) {
|
||||||
List<Long> stageMemberList = stageList.stream().map(CuMemberRetailDetail::getPkMember).collect(Collectors.toList());
|
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,
|
this.calculateStageIncomeTwoThree(cuMemberBonusStageList, cuMemberBonusMap, bonusConfigDTO, period,
|
||||||
memberRangeExtMap, settleStartDate, rangeTableName, rangeDetailTableName, EBonusStage.THREE, stageList);
|
memberRangeExtMap, settleStartDate, rangeTableName, rangeDetailTableName, EBonusStage.THREE, stageList);
|
||||||
|
@ -965,12 +970,21 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
return returnRetailDetailList;
|
return returnRetailDetailList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 订单生成新点位数量
|
||||||
int newPointInt;
|
int newPointInt;
|
||||||
if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType()
|
if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType()
|
||||||
|| EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) {
|
|| EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) {
|
||||||
// 精品专区按订单金额计算
|
// 精品专区按订单金额计算
|
||||||
|
BigDecimal orderAmount = saOrderExt.getOrderAmount();
|
||||||
// 订单金额除50取整,为新増点位数量
|
// 订单金额除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 {
|
} else {
|
||||||
// 商城专区按累计业绩处理
|
// 商城专区按累计业绩处理
|
||||||
BigDecimal repPvBalance = sourceMember.getRepPvBalance().add(saOrderExt.getOrderAchieve());
|
BigDecimal repPvBalance = sourceMember.getRepPvBalance().add(saOrderExt.getOrderAchieve());
|
||||||
|
@ -981,6 +995,8 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
// 当前订单不足生成点位
|
// 当前订单不足生成点位
|
||||||
return returnRetailDetailList;
|
return returnRetailDetailList;
|
||||||
}
|
}
|
||||||
|
// 赠送点位
|
||||||
|
int pointGift = sourceMember.getGiftPoint();
|
||||||
|
|
||||||
// 会员一阶段子点位列表
|
// 会员一阶段子点位列表
|
||||||
LinkedHashMap<Integer, CuMemberRetailDetail> detailList = sourceMember.getOneDetailMap();
|
LinkedHashMap<Integer, CuMemberRetailDetail> detailList = sourceMember.getOneDetailMap();
|
||||||
|
@ -1001,6 +1017,32 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
.stage(EBonusStage.ONE.getValue())
|
.stage(EBonusStage.ONE.getValue())
|
||||||
.stageStatus(EBonusStageStatus.NO.getValue())
|
.stageStatus(EBonusStageStatus.NO.getValue())
|
||||||
.pointType(EBonusStageType.NORMAL.getValue())
|
.pointType(EBonusStageType.NORMAL.getValue())
|
||||||
|
.pointGift(pointGift)
|
||||||
|
.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);
|
||||||
|
}
|
||||||
|
// 待激活点位
|
||||||
|
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)
|
.pointGift(0)
|
||||||
.creationTime(settleDate)
|
.creationTime(settleDate)
|
||||||
.thirdBonus1(0)
|
.thirdBonus1(0)
|
||||||
|
@ -1013,6 +1055,13 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
this.handleStageIncome(cuMemberBonusStageList, cuMemberBonusMap, bonusConfigDTO, period,
|
this.handleStageIncome(cuMemberBonusStageList, cuMemberBonusMap, bonusConfigDTO, period,
|
||||||
memberRangeExtMap, saOrderExt, settleDate, rangeTableName, rangeDetailTableName, EBonusStage.ONE,
|
memberRangeExtMap, saOrderExt, settleDate, rangeTableName, rangeDetailTableName, EBonusStage.ONE,
|
||||||
sourceMember, newRetailDetail, returnRetailDetailList);
|
sourceMember, newRetailDetail, returnRetailDetailList);
|
||||||
|
|
||||||
|
waitPointCount = waitPointCount - 1;
|
||||||
|
} else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sourceMember.setWaitPointCount(waitPointCount);
|
||||||
}
|
}
|
||||||
sourceMember.setPointCount(sourceMember.getPointCount() + newPointInt);
|
sourceMember.setPointCount(sourceMember.getPointCount() + newPointInt);
|
||||||
return returnRetailDetailList;
|
return returnRetailDetailList;
|
||||||
|
@ -1053,6 +1102,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
List<CuMemberRetailDetail> returnRetailDetailList) {
|
List<CuMemberRetailDetail> returnRetailDetailList) {
|
||||||
// 阶段奖金处理列表
|
// 阶段奖金处理列表
|
||||||
List<BonusStageData> bonusStageDataList = new ArrayList<>();
|
List<BonusStageData> bonusStageDataList = new ArrayList<>();
|
||||||
|
|
||||||
|
if (EBonusStageType.NORMAL.getValue() == newRetailDetail.getPointType()) {
|
||||||
|
// 普通点位处理
|
||||||
// 推荐人
|
// 推荐人
|
||||||
Long pkParent = sourceMember.getPkParent();
|
Long pkParent = sourceMember.getPkParent();
|
||||||
while (true) {
|
while (true) {
|
||||||
|
@ -1101,6 +1153,10 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
// TODO 赠送点位处理,赠送点位给自己直推会员轮流布点
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
if (CollectionUtil.isNotEmpty(bonusStageDataList)) {
|
if (CollectionUtil.isNotEmpty(bonusStageDataList)) {
|
||||||
// 有需要生成奖金的数据
|
// 有需要生成奖金的数据
|
||||||
|
@ -1138,11 +1194,36 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
targetMember.getThreeDetailMap().put(threeRetailDetail.getChildNode(), threeRetailDetail);
|
targetMember.getThreeDetailMap().put(threeRetailDetail.getChildNode(), threeRetailDetail);
|
||||||
returnRetailDetailList.add(threeRetailDetail);
|
returnRetailDetailList.add(threeRetailDetail);
|
||||||
} else if (EBonusStage.THREE.getValue() == bonusStageData.getStage()) {
|
} 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;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -361,6 +361,7 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
||||||
.targetChildNode(targetRetailDetail.getChildNode())
|
.targetChildNode(targetRetailDetail.getChildNode())
|
||||||
.stage(eBonusStage.getValue())
|
.stage(eBonusStage.getValue())
|
||||||
.stageNum(2)
|
.stageNum(2)
|
||||||
|
.pointGift(0)
|
||||||
.build();
|
.build();
|
||||||
bonusStageDataList.add(bonusStageData);
|
bonusStageDataList.add(bonusStageData);
|
||||||
// 第一层发放过1次
|
// 第一层发放过1次
|
||||||
|
@ -386,6 +387,7 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
||||||
.targetChildNode(targetRetailDetail.getChildNode())
|
.targetChildNode(targetRetailDetail.getChildNode())
|
||||||
.stage(eBonusStage.getValue())
|
.stage(eBonusStage.getValue())
|
||||||
.stageNum(4)
|
.stageNum(4)
|
||||||
|
.pointGift(0)
|
||||||
.build();
|
.build();
|
||||||
bonusStageDataList.add(bonusStageData);
|
bonusStageDataList.add(bonusStageData);
|
||||||
// 第二层发放过1次
|
// 第二层发放过1次
|
||||||
|
@ -410,24 +412,26 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (tmpInt - targetRetailDetail.getThirdBonus3() == 1) {
|
if (tmpInt - targetRetailDetail.getThirdBonus3() == 1) {
|
||||||
|
Integer pointGift = 0;
|
||||||
// 默认第三层前7个点位奖金
|
// 默认第三层前7个点位奖金
|
||||||
BigDecimal bonus = BonusConstants.THREE_BONUS_3;
|
BigDecimal bonus = BonusConstants.THREE_BONUS_3;
|
||||||
if (tmpInt == 8) {
|
if (tmpInt == 8) {
|
||||||
// 第三层第8个点位
|
// 第三层第8个点位
|
||||||
bonus = BonusConstants.THREE_BONUS_38;
|
bonus = BonusConstants.THREE_BONUS_38;
|
||||||
|
|
||||||
// 三层全满
|
// 三层全满,三阶段完成
|
||||||
targetRetailDetail.setStageStatus(EBonusStageStatus.YES.getValue());
|
targetRetailDetail.setStageStatus(EBonusStageStatus.YES.getValue());
|
||||||
targetRetailDetail.setStageDate(settleDate);
|
targetRetailDetail.setStageDate(settleDate);
|
||||||
// TODO 三阶段填充满,判断是否需要赠送点位
|
// 当前点位赠点数量
|
||||||
|
pointGift = targetRetailDetail.getPointGift();
|
||||||
}
|
}
|
||||||
BonusStageData bonusStageData = BonusStageData.builder()
|
BonusStageData bonusStageData = BonusStageData.builder()
|
||||||
.bonusIncome(bonus)
|
.bonusIncome(bonus)
|
||||||
.targetPkMember(targetRetailDetail.getPkMember())
|
.targetPkMember(targetRetailDetail.getPkMember())
|
||||||
.targetChildNode(targetRetailDetail.getChildNode())
|
.targetChildNode(targetRetailDetail.getChildNode())
|
||||||
.stage(eBonusStage.getValue())
|
.stage(eBonusStage.getValue())
|
||||||
.stageNum(tmpInt)
|
.stageNum(tmpInt + 6)
|
||||||
|
.pointGift(pointGift)
|
||||||
.build();
|
.build();
|
||||||
bonusStageDataList.add(bonusStageData);
|
bonusStageDataList.add(bonusStageData);
|
||||||
targetRetailDetail.setThirdBonus3(tmpInt);
|
targetRetailDetail.setThirdBonus3(tmpInt);
|
||||||
|
@ -464,8 +468,8 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
||||||
retailList.forEach(tmpRetail -> {
|
retailList.forEach(tmpRetail -> {
|
||||||
memberRangeExtMap.put(tmpRetail.getPkMember(), 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 -> {
|
retailList.forEach(tmpRetail -> {
|
||||||
memberRangeExtMap.put(tmpRetail.getPkMember(), 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 -> {
|
retailList.forEach(tmpRetail -> {
|
||||||
memberRangeExtMap.put(tmpRetail.getPkMember(), tmpRetail);
|
memberRangeExtMap.put(tmpRetail.getPkMember(), tmpRetail);
|
||||||
});
|
});
|
||||||
// 查询血缘会员明细数据(一阶段)
|
// 查询血缘会员明细数据
|
||||||
iCuMemberRetailDetailService.listMemberRetailDetail(rangeDetailTableName, memberRangeExtMap, queryMemberList, EBonusStage.ONE);
|
iCuMemberRetailDetailService.listMemberRetailDetailByQuery(rangeDetailTableName, memberRangeExtMap, queryMemberList, eBonusStage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,15 @@ import java.util.Map;
|
||||||
|
|
||||||
public class BonusConstants {
|
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
|
* 一阶段奖金 -- 满14,发35
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -10,9 +10,13 @@
|
||||||
<foreach collection="tmpIdList" item="items" open="(" close=")" separator=",">
|
<foreach collection="tmpIdList" item="items" open="(" close=")" separator=",">
|
||||||
#{items}
|
#{items}
|
||||||
</foreach>
|
</foreach>
|
||||||
|
<if test="stage != null">
|
||||||
and cmrd.stage = #{stage}
|
and cmrd.stage = #{stage}
|
||||||
and cmrd.stage_status = 1
|
</if>
|
||||||
order by cmrd.pk_member, cmrd.child_node
|
<if test="stageStatus != null">
|
||||||
|
and cmrd.stage_status = #{stageStatus}
|
||||||
|
</if>
|
||||||
|
order by cmrd.pk_member, cmrd.child_node, cmrd.stage
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -51,7 +51,9 @@
|
||||||
<result column="rep_team_new_amount" property="repTeamNewAmount"/>
|
<result column="rep_team_new_amount" property="repTeamNewAmount"/>
|
||||||
<result column="rep_team_new_pv" property="repTeamNewPv"/>
|
<result column="rep_team_new_pv" property="repTeamNewPv"/>
|
||||||
<result column="point_count" property="pointCount"/>
|
<result column="point_count" property="pointCount"/>
|
||||||
|
<result column="wait_point_count" property="waitPointCount"/>
|
||||||
<result column="rep_pv_balance" property="repPvBalance"/>
|
<result column="rep_pv_balance" property="repPvBalance"/>
|
||||||
|
<result column="gift_point" property="giftPoint"/>
|
||||||
|
|
||||||
<result column="AWARDS_VALUE" property="awardsValue"/>
|
<result column="AWARDS_VALUE" property="awardsValue"/>
|
||||||
<result column="AWARDS_NAME" property="awardsName"/>
|
<result column="AWARDS_NAME" property="awardsName"/>
|
||||||
|
@ -95,7 +97,9 @@
|
||||||
rep_team_new_amount = 0,
|
rep_team_new_amount = 0,
|
||||||
rep_team_new_pv = 0,
|
rep_team_new_pv = 0,
|
||||||
point_count = 0,
|
point_count = 0,
|
||||||
rep_pv_balance = 0
|
wait_point_count = 0,
|
||||||
|
rep_pv_balance = 0,
|
||||||
|
gift_point = 0
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<update id="mergeMemberRetailRangeByYesterday">
|
<update id="mergeMemberRetailRangeByYesterday">
|
||||||
|
@ -107,7 +111,8 @@
|
||||||
team_consume_pv, team_month_pv,
|
team_consume_pv, team_month_pv,
|
||||||
team_consume_amount, team_month_amount,
|
team_consume_amount, team_month_amount,
|
||||||
recommend_num, team_num, big_team_pv, small_team_pv,
|
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}
|
from ${yesterdayRangeTableName}
|
||||||
) b
|
) b
|
||||||
on (a.pk_member = b.pk_member)
|
on (a.pk_member = b.pk_member)
|
||||||
|
@ -120,7 +125,9 @@
|
||||||
a.team_consume_amount = b.team_consume_amount,
|
a.team_consume_amount = b.team_consume_amount,
|
||||||
a.recommend_num = b.recommend_num, a.team_num = b.team_num,
|
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.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">
|
<if test="isSameMonth == 0">
|
||||||
,a.month_consume_pv = b.month_consume_pv
|
,a.month_consume_pv = b.month_consume_pv
|
||||||
,a.month_consume_amount = b.month_consume_amount
|
,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.regTeamNewAmount} reg_team_new_amount, #{item.regTeamNewPv} reg_team_new_pv,
|
||||||
#{item.repConsumeNewAmount} rep_consume_new_amount, #{item.repConsumeNewPv} rep_consume_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.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
|
from dual
|
||||||
</foreach>
|
</foreach>
|
||||||
) b
|
) 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.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_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.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>
|
</update>
|
||||||
|
|
||||||
<!-- 更新会员日结数据 -->
|
<!-- 更新会员日结数据 -->
|
||||||
|
@ -671,7 +680,9 @@
|
||||||
rep_team_new_amount,
|
rep_team_new_amount,
|
||||||
rep_team_new_pv,
|
rep_team_new_pv,
|
||||||
point_count,
|
point_count,
|
||||||
|
wait_point_count,
|
||||||
rep_pv_balance,
|
rep_pv_balance,
|
||||||
|
gift_point,
|
||||||
bw.awards_value,
|
bw.awards_value,
|
||||||
bw.awards_name
|
bw.awards_name
|
||||||
from (
|
from (
|
||||||
|
|
|
@ -576,7 +576,9 @@
|
||||||
rep_team_new_amount number(17,6) default 0 not null,
|
rep_team_new_amount number(17,6) default 0 not null,
|
||||||
rep_team_new_pv 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,
|
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>
|
</update>
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.hzs.member.base.mapper;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.hzs.common.domain.member.achieve.CuMemberRetailDetail;
|
import com.hzs.common.domain.member.achieve.CuMemberRetailDetail;
|
||||||
import com.hzs.member.structure.controller.vo.ChildCodeVO;
|
import com.hzs.member.structure.controller.vo.ChildCodeVO;
|
||||||
|
import com.hzs.member.structure.controller.vo.CuMemberPointDetailVO;
|
||||||
import com.hzs.member.structure.controller.vo.CuMemberThreeFrameworkVO;
|
import com.hzs.member.structure.controller.vo.CuMemberThreeFrameworkVO;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
@ -33,7 +34,9 @@ public interface CuMemberRetailDetailMapper extends BaseMapper<CuMemberRetailDet
|
||||||
@Param("stageStatus")Integer stageStatus,
|
@Param("stageStatus")Integer stageStatus,
|
||||||
@Param("settleTableName")String settleTableName);
|
@Param("settleTableName")String settleTableName);
|
||||||
|
|
||||||
List<CuMemberThreeFrameworkVO> getCuMemberRetailDetailList(@Param("settleTableName") String settleTableName,
|
CuMemberPointDetailVO getPointDetail(@Param("pointMemberCode") Long pointMemberCode);
|
||||||
|
|
||||||
|
List<CuMemberThreeFrameworkVO> getCuMemberRetailDetailDTOList(@Param("settleTableName") String settleTableName,
|
||||||
@Param("memberCode") String memberCode,
|
@Param("memberCode") String memberCode,
|
||||||
@Param("stage") Integer stage,
|
@Param("stage") Integer stage,
|
||||||
@Param("stageStatus") Integer stageStatus);
|
@Param("stageStatus") Integer stageStatus);
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.hzs.member.base.service;
|
||||||
import cn.hutool.core.lang.tree.Tree;
|
import cn.hutool.core.lang.tree.Tree;
|
||||||
import com.hzs.common.domain.member.achieve.CuMemberRetailDetail;
|
import com.hzs.common.domain.member.achieve.CuMemberRetailDetail;
|
||||||
import com.hzs.member.structure.controller.vo.ChildCodeVO;
|
import com.hzs.member.structure.controller.vo.ChildCodeVO;
|
||||||
|
import com.hzs.member.structure.controller.vo.CuMemberPointDetailVO;
|
||||||
import com.hzs.member.structure.controller.vo.CuMemberThreeFrameworkVO;
|
import com.hzs.member.structure.controller.vo.CuMemberThreeFrameworkVO;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -21,4 +22,7 @@ public interface ICumemberRetailDetailService {
|
||||||
List<ChildCodeVO> getChildListByUserId(Long userId, Integer stage, Integer stageStatus, String settleTableName);
|
List<ChildCodeVO> getChildListByUserId(Long userId, Integer stage, Integer stageStatus, String settleTableName);
|
||||||
|
|
||||||
List<CuMemberThreeFrameworkVO> getCuMemberRetailDetailList(String settleTableName, String memberCode, Integer stage, Integer stageStatus);
|
List<CuMemberThreeFrameworkVO> getCuMemberRetailDetailList(String settleTableName, String memberCode, Integer stage, Integer stageStatus);
|
||||||
|
|
||||||
|
CuMemberPointDetailVO getPointDetail(Long pointMemberCode);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,6 +10,7 @@ import com.hzs.member.base.mapper.CuMemberRetailDetailMapper;
|
||||||
import com.hzs.member.base.service.ICuMemberService;
|
import com.hzs.member.base.service.ICuMemberService;
|
||||||
import com.hzs.member.base.service.ICumemberRetailDetailService;
|
import com.hzs.member.base.service.ICumemberRetailDetailService;
|
||||||
import com.hzs.member.structure.controller.vo.ChildCodeVO;
|
import com.hzs.member.structure.controller.vo.ChildCodeVO;
|
||||||
|
import com.hzs.member.structure.controller.vo.CuMemberPointDetailVO;
|
||||||
import com.hzs.member.structure.controller.vo.CuMemberThreeFrameworkVO;
|
import com.hzs.member.structure.controller.vo.CuMemberThreeFrameworkVO;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
@ -106,14 +107,12 @@ public class ICumemberRetailDetailServiceImpl extends ServiceImpl<CuMemberRetail
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<CuMemberThreeFrameworkVO> getCuMemberRetailDetailList(String settleTableName, String memberCode, Integer stage, Integer stageStatus) {
|
public List<CuMemberThreeFrameworkVO> getCuMemberRetailDetailList(String settleTableName, String memberCode, Integer stage, Integer stageStatus) {
|
||||||
List<CuMemberThreeFrameworkVO> cuMemberRetailDetailList = baseMapper.getCuMemberRetailDetailList(settleTableName, memberCode, stage, stageStatus);
|
return baseMapper.getCuMemberRetailDetailDTOList(settleTableName, memberCode, stage, stageStatus);
|
||||||
if (cuMemberRetailDetailList == null || cuMemberRetailDetailList.isEmpty()) {
|
|
||||||
return null;
|
|
||||||
}else {
|
|
||||||
// 构建map
|
|
||||||
cuMemberRetailDetailList.forEach(CuMemberThreeFrameworkVO::buildMemberMaps);
|
|
||||||
}
|
}
|
||||||
return cuMemberRetailDetailList;
|
|
||||||
|
@Override
|
||||||
|
public CuMemberPointDetailVO getPointDetail(Long pointMemberCode) {
|
||||||
|
return baseMapper.getPointDetail(pointMemberCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Map<String, Object> makeNode(String id, String parentId, String label,Integer pointMember,
|
private Map<String, Object> makeNode(String id, String parentId, String label,Integer pointMember,
|
||||||
|
|
|
@ -9,11 +9,15 @@ import com.hzs.common.core.web.controller.BaseController;
|
||||||
import com.hzs.common.core.web.domain.AjaxResult;
|
import com.hzs.common.core.web.domain.AjaxResult;
|
||||||
import com.hzs.common.domain.member.achieve.CuMemberRetailDetail;
|
import com.hzs.common.domain.member.achieve.CuMemberRetailDetail;
|
||||||
import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod;
|
import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod;
|
||||||
|
import com.hzs.common.domain.member.base.CuMember;
|
||||||
import com.hzs.common.security.service.UserTokenService;
|
import com.hzs.common.security.service.UserTokenService;
|
||||||
import com.hzs.common.security.utils.SecurityUtils;
|
import com.hzs.common.security.utils.SecurityUtils;
|
||||||
import com.hzs.member.achieve.service.ICuMemberSettlePeriodService;
|
import com.hzs.member.achieve.service.ICuMemberSettlePeriodService;
|
||||||
|
import com.hzs.member.base.service.ICuMemberService;
|
||||||
import com.hzs.member.base.service.ICumemberRetailDetailService;
|
import com.hzs.member.base.service.ICumemberRetailDetailService;
|
||||||
import com.hzs.member.structure.controller.vo.ChildCodeVO;
|
import com.hzs.member.structure.controller.vo.ChildCodeVO;
|
||||||
|
import com.hzs.member.structure.controller.vo.CuMemberPointDetailVO;
|
||||||
|
import com.hzs.member.structure.controller.vo.CuMemberThreeFrameworkVO;
|
||||||
import com.hzs.system.sys.dto.LoginUser;
|
import com.hzs.system.sys.dto.LoginUser;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
@ -46,6 +50,9 @@ public class ApiMemberStructureController extends BaseController {
|
||||||
@Autowired
|
@Autowired
|
||||||
ICumemberRetailDetailService iCumemberRetailDetailService;
|
ICumemberRetailDetailService iCumemberRetailDetailService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
ICuMemberService iCuMemberService;
|
||||||
|
|
||||||
@Log(module = EOperationModule.MEMBER_RETAIL_TREE, business = EOperationBusiness.MEMBER_RETAIL_TREE, method = EOperationMethod.SELECT)
|
@Log(module = EOperationModule.MEMBER_RETAIL_TREE, business = EOperationBusiness.MEMBER_RETAIL_TREE, method = EOperationMethod.SELECT)
|
||||||
@GetMapping("/three-framework")
|
@GetMapping("/three-framework")
|
||||||
public AjaxResult Framework(Integer stage,String childNode,Integer stageStatus) {
|
public AjaxResult Framework(Integer stage,String childNode,Integer stageStatus) {
|
||||||
|
@ -116,6 +123,51 @@ public class ApiMemberStructureController extends BaseController {
|
||||||
return AjaxResult.success(childCodeList);
|
return AjaxResult.success(childCodeList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Log(module = EOperationModule.MEMBER_RETAIL_TREE_LIST, business = EOperationBusiness.MEMBER_RETAIL_TREE_LIST, method = EOperationMethod.SELECT)
|
||||||
|
@GetMapping("/three-framework-list")
|
||||||
|
public AjaxResult threeFrameworkList(Integer stage,Integer stageStatus) {
|
||||||
|
if (stage == null) {
|
||||||
|
log.error("参数错误");
|
||||||
|
return AjaxResult.error(CommonMsgConstants.MISSING_PARAM);
|
||||||
|
}
|
||||||
|
Long userId = SecurityUtils.getUserId();
|
||||||
|
if (userId == null) {
|
||||||
|
log.error("用户登录信息错误");
|
||||||
|
return AjaxResult.error(CommonMsgConstants.MISSING_PARAM);
|
||||||
|
}
|
||||||
|
// 获取当前时间 -1 天
|
||||||
|
String yesterday = LocalDate.now().minusDays(1).format((DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
||||||
|
// 查询相关日结表
|
||||||
|
CuMemberSettlePeriod csPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yesterday);
|
||||||
|
log.info("日结信息{}",csPeriod);
|
||||||
|
String settleTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE_DETAIL + csPeriod.getPkId();
|
||||||
|
log.info("日结表名称{}",settleTableName);
|
||||||
|
// 校验当前日结表是否存在
|
||||||
|
Integer isFind = iCumemberRetailDetailService.getFindCumemberRetailDetail(settleTableName);
|
||||||
|
if (isFind == null || isFind != 1) {
|
||||||
|
log.error("当前会员日结信息不存在{}",settleTableName);
|
||||||
|
return AjaxResult.error("数据查询错误,请联系客服处理");
|
||||||
|
}
|
||||||
|
startPage();
|
||||||
|
// 查询当前会员所有子点位信息
|
||||||
|
CuMember member = iCuMemberService.getMember(userId);
|
||||||
|
List<CuMemberThreeFrameworkVO> cuMemberThreeFrameworkVOS = iCumemberRetailDetailService.getCuMemberRetailDetailList(settleTableName,member.getMemberCode(),stage,stageStatus);
|
||||||
|
return AjaxResult.success(getDataTable(cuMemberThreeFrameworkVOS));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Log(module = EOperationModule.MEMBER_RETAIL_TREE_LIST, business = EOperationBusiness.MEMBER_RETAIL_TREE_LIST, method = EOperationMethod.SELECT)
|
||||||
|
@GetMapping("/pointDetail")
|
||||||
|
public AjaxResult pointDetail(Long pointMemberCode) {
|
||||||
|
if (pointMemberCode == null) {
|
||||||
|
log.error("参数错误");
|
||||||
|
return AjaxResult.error(CommonMsgConstants.MISSING_PARAM);
|
||||||
|
}
|
||||||
|
CuMemberPointDetailVO cuMemberPointDetailVO = iCumemberRetailDetailService.getPointDetail(pointMemberCode);
|
||||||
|
if (cuMemberPointDetailVO == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return AjaxResult.success(cuMemberPointDetailVO);
|
||||||
|
}
|
||||||
|
|
||||||
// @Autowired
|
// @Autowired
|
||||||
// private ITransactionCommonService iTransactionCommonService;
|
// private ITransactionCommonService iTransactionCommonService;
|
||||||
|
|
|
@ -33,6 +33,7 @@ import com.hzs.member.achieve.service.ICuMemberTreeService;
|
||||||
import com.hzs.member.base.service.ICuMemberService;
|
import com.hzs.member.base.service.ICuMemberService;
|
||||||
import com.hzs.member.base.service.ICumemberRetailDetailService;
|
import com.hzs.member.base.service.ICumemberRetailDetailService;
|
||||||
import com.hzs.member.structure.controller.vo.ChildCodeVO;
|
import com.hzs.member.structure.controller.vo.ChildCodeVO;
|
||||||
|
import com.hzs.member.structure.controller.vo.CuMemberPointDetailVO;
|
||||||
import com.hzs.member.structure.controller.vo.CuMemberSettlePeriodVo;
|
import com.hzs.member.structure.controller.vo.CuMemberSettlePeriodVo;
|
||||||
import com.hzs.member.structure.controller.vo.CuMemberThreeFrameworkVO;
|
import com.hzs.member.structure.controller.vo.CuMemberThreeFrameworkVO;
|
||||||
import com.hzs.system.config.IGradeServiceApi;
|
import com.hzs.system.config.IGradeServiceApi;
|
||||||
|
@ -274,6 +275,20 @@ public class MemberStructureController extends BaseController {
|
||||||
return AjaxResult.success(getDataTable(cuMemberThreeFrameworkVOS));
|
return AjaxResult.success(getDataTable(cuMemberThreeFrameworkVOS));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Log(module = EOperationModule.MEMBER_RETAIL_TREE_LIST, business = EOperationBusiness.MEMBER_RETAIL_TREE_LIST, method = EOperationMethod.SELECT)
|
||||||
|
@GetMapping("/pointDetail")
|
||||||
|
public AjaxResult pointDetail(Long pointMemberCode) {
|
||||||
|
if (pointMemberCode == null) {
|
||||||
|
log.error("参数错误");
|
||||||
|
return AjaxResult.error(CommonMsgConstants.MISSING_PARAM);
|
||||||
|
}
|
||||||
|
CuMemberPointDetailVO cuMemberPointDetailVO = iCumemberRetailDetailService.getPointDetail(pointMemberCode);
|
||||||
|
if (cuMemberPointDetailVO == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return AjaxResult.success(cuMemberPointDetailVO);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询子节点
|
* 查询子节点
|
||||||
* @param memberSettlePeriodId
|
* @param memberSettlePeriodId
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
package com.hzs.member.structure.controller.vo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
@JsonInclude(JsonInclude.Include.ALWAYS)
|
||||||
|
public class CuMemberPointDetailVO {
|
||||||
|
/**
|
||||||
|
* 会员编号
|
||||||
|
*/
|
||||||
|
private String memberCode;
|
||||||
|
/**
|
||||||
|
* 会员姓名
|
||||||
|
*/
|
||||||
|
private String memberName;
|
||||||
|
/**
|
||||||
|
* 荣誉奖衔
|
||||||
|
*/
|
||||||
|
private String awardsName;
|
||||||
|
/**
|
||||||
|
* 隶属体系
|
||||||
|
*/
|
||||||
|
private String vertexName;
|
||||||
|
}
|
|
@ -1,182 +1,159 @@
|
||||||
package com.hzs.member.structure.controller.vo;
|
package com.hzs.member.structure.controller.vo;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.io.Serializable;
|
||||||
import java.util.HashMap;
|
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
public class CuMemberThreeFrameworkVO {
|
@JsonInclude(JsonInclude.Include.ALWAYS)
|
||||||
|
public class CuMemberThreeFrameworkVO implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 阶段状态(0=已完成,1=未完成)
|
* 阶段状态(0=已完成,1=未完成)
|
||||||
*/
|
*/
|
||||||
private Integer stageStatus;
|
private Integer stageStatus;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 阶段完成时间
|
* 阶段
|
||||||
*/
|
*/
|
||||||
private Date stageDate;
|
private Integer stage;
|
||||||
|
/**
|
||||||
|
* 子点位
|
||||||
|
*/
|
||||||
|
private Integer childNode;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 点位1-1会员ID
|
* 点位1-1会员ID
|
||||||
*/
|
*/
|
||||||
private Long pointMember11;
|
private String pointMemberName11;
|
||||||
/**
|
/**
|
||||||
* 点位1-1会员子节点
|
* 点位1-1会员ID
|
||||||
*/
|
*/
|
||||||
private String point11;
|
private String pointMemberCode11;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 点位1-2会员ID
|
* 点位1-2会员ID
|
||||||
*/
|
*/
|
||||||
private Long pointMember12;
|
private String pointMemberName12;
|
||||||
/**
|
/**
|
||||||
* 点位1-2会员子节点
|
* 点位1-1会员ID
|
||||||
*/
|
*/
|
||||||
private String point12;
|
private String pointMemberCode12;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 点位2-1会员ID
|
* 点位2-1会员ID
|
||||||
*/
|
*/
|
||||||
private Long pointMember21;
|
private String pointMemberName21;
|
||||||
/**
|
/**
|
||||||
* 点位2-1会员子节点
|
* 点位1-1会员ID
|
||||||
*/
|
*/
|
||||||
private String point21;
|
private String pointMemberCode21;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 点位2-2会员ID
|
* 点位2-2会员ID
|
||||||
*/
|
*/
|
||||||
private Long pointMember22;
|
private String pointMemberName22;
|
||||||
/**
|
/**
|
||||||
* 点位2-2会员子节点
|
* 点位1-1会员ID
|
||||||
*/
|
*/
|
||||||
private String point22;
|
private String pointMemberCode22;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 点位2-3会员ID
|
* 点位2-3会员ID
|
||||||
*/
|
*/
|
||||||
private Long pointMember23;
|
private String pointMemberName23;
|
||||||
/**
|
/**
|
||||||
* 点位2-3会员子节点
|
* 点位1-1会员ID
|
||||||
*/
|
*/
|
||||||
private String point23;
|
private String pointMemberCode23;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 点位2-4会员ID
|
* 点位2-4会员ID
|
||||||
*/
|
*/
|
||||||
private Long pointMember24;
|
private String pointMemberName24;
|
||||||
/**
|
/**
|
||||||
* 点位2-4会员子节点
|
* 点位1-1会员ID
|
||||||
*/
|
*/
|
||||||
private String point24;
|
private String pointMemberCode24;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 点位3-1会员ID
|
* 点位3-1会员ID
|
||||||
*/
|
*/
|
||||||
private Long pointMember31;
|
private String pointMemberName31;
|
||||||
/**
|
/**
|
||||||
* 点位3-1会员子节点
|
* 点位1-1会员ID
|
||||||
*/
|
*/
|
||||||
private String point31;
|
private String pointMemberCode31;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 点位3-2会员ID
|
* 点位3-2会员ID
|
||||||
*/
|
*/
|
||||||
private Long pointMember32;
|
private String pointMemberName32;
|
||||||
/**
|
/**
|
||||||
* 点位3-2会员子节点
|
* 点位1-1会员ID
|
||||||
*/
|
*/
|
||||||
private String point32;
|
private String pointMemberCode32;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 点位3-3会员ID
|
* 点位3-3会员ID
|
||||||
*/
|
*/
|
||||||
private Long pointMember33;
|
private String pointMemberName33;
|
||||||
/**
|
/**
|
||||||
* 点位3-3会员子节点
|
* 点位1-1会员ID
|
||||||
*/
|
*/
|
||||||
private String point33;
|
private String pointMemberCode33;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 点位3-4会员ID
|
* 点位3-4会员ID
|
||||||
*/
|
*/
|
||||||
private Long pointMember34;
|
private String pointMemberName34;
|
||||||
/**
|
/**
|
||||||
* 点位3-4会员子节点
|
* 点位1-1会员ID
|
||||||
*/
|
*/
|
||||||
private String point34;
|
private String pointMemberCode34;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 点位3-5会员ID
|
* 点位3-5会员ID
|
||||||
*/
|
*/
|
||||||
private Long pointMember35;
|
private String pointMemberName35;
|
||||||
/**
|
/**
|
||||||
* 点位3-5会员子节点
|
* 点位1-1会员ID
|
||||||
*/
|
*/
|
||||||
private String point35;
|
private String pointMemberCode35;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 点位3-6会员ID
|
* 点位3-6会员ID
|
||||||
*/
|
*/
|
||||||
private Long pointMember36;
|
private String pointMemberName36;
|
||||||
/**
|
/**
|
||||||
* 点位3-6会员子节点
|
* 点位1-1会员ID
|
||||||
*/
|
*/
|
||||||
private String point36;
|
private String pointMemberCode36;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 点位3-7会员ID
|
* 点位3-7会员ID
|
||||||
*/
|
*/
|
||||||
private Long pointMember37;
|
private String pointMemberName37;
|
||||||
/**
|
/**
|
||||||
* 点位3-7会员子节点
|
* 点位1-1会员ID
|
||||||
*/
|
*/
|
||||||
private String point37;
|
private String pointMemberCode37;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 点位3-8会员ID
|
* 点位3-8会员ID
|
||||||
*/
|
*/
|
||||||
private Long pointMember38;
|
private String pointMemberName38;
|
||||||
/**
|
/**
|
||||||
* 点位3-8会员子节点
|
* 点位1-1会员ID
|
||||||
*/
|
*/
|
||||||
private String point38;
|
private String pointMemberCode38;
|
||||||
|
|
||||||
@TableField(exist = false)
|
|
||||||
HashMap<String,Long> memberMaps = new HashMap<>(14);
|
|
||||||
|
|
||||||
public void buildMemberMaps() {
|
|
||||||
memberMaps.clear();
|
|
||||||
|
|
||||||
putIntoMap(point11, pointMember11);
|
|
||||||
putIntoMap(point12, pointMember12);
|
|
||||||
putIntoMap(point21, pointMember21);
|
|
||||||
putIntoMap(point22, pointMember22);
|
|
||||||
putIntoMap(point23, pointMember23);
|
|
||||||
putIntoMap(point24, pointMember24);
|
|
||||||
putIntoMap(point31, pointMember31);
|
|
||||||
putIntoMap(point32, pointMember32);
|
|
||||||
putIntoMap(point33, pointMember33);
|
|
||||||
putIntoMap(point34, pointMember34);
|
|
||||||
putIntoMap(point35, pointMember35);
|
|
||||||
putIntoMap(point36, pointMember36);
|
|
||||||
putIntoMap(point37, pointMember37);
|
|
||||||
putIntoMap(point38, pointMember38);
|
|
||||||
}
|
|
||||||
private void putIntoMap(String key, Long value) {
|
|
||||||
memberMaps.put(key != null ? key : "", value);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,41 +62,98 @@
|
||||||
and cud.STAGE_STATUS = #{stageStatus}
|
and cud.STAGE_STATUS = #{stageStatus}
|
||||||
</if>
|
</if>
|
||||||
</select>
|
</select>
|
||||||
<select id="getCuMemberRetailDetailList"
|
<select id="getPointDetail" resultType="com.hzs.member.structure.controller.vo.CuMemberPointDetailVO">
|
||||||
|
SELECT
|
||||||
|
cu.MEMBER_CODE,
|
||||||
|
cu.MEMBER_NAME,
|
||||||
|
ba.AWARDS_NAME AS awardsName,
|
||||||
|
bv.VERTEX_NAME AS vertexName
|
||||||
|
FROM
|
||||||
|
CU_MEMBER cu
|
||||||
|
LEFT JOIN BD_AWARDS ba ON cu.PK_AWARDS = ba.PK_ID
|
||||||
|
LEFT JOIN BD_VERTEX bv ON cu.PK_VERTEX = bv.PK_ID
|
||||||
|
WHERE
|
||||||
|
cu.PK_ID = #{pointMemberCode}
|
||||||
|
</select>
|
||||||
|
<select id="getCuMemberRetailDetailDTOList"
|
||||||
resultType="com.hzs.member.structure.controller.vo.CuMemberThreeFrameworkVO">
|
resultType="com.hzs.member.structure.controller.vo.CuMemberThreeFrameworkVO">
|
||||||
SELECT
|
SELECT
|
||||||
curd.STAGE_STATUS,
|
curd.STAGE_STATUS,
|
||||||
curd.STAGE_DATE,
|
curd.STAGE_DATE,
|
||||||
'1-1' AS point11,
|
curd.CHILD_NODE,
|
||||||
curd.POINT_MEMBER_11 AS pointMember11,
|
curd.STAGE,
|
||||||
'1-2' AS point12,
|
curd.POINT_MEMBER_11 as pointMemberCode11,
|
||||||
curd.POINT_MEMBER_12 AS pointMember12,
|
curd.POINT_MEMBER_12 as pointMemberCode12,
|
||||||
'2-1' AS point21,
|
curd.POINT_MEMBER_21 as pointMemberCode21,
|
||||||
curd.POINT_MEMBER_21 AS pointMember21,
|
curd.POINT_MEMBER_22 as pointMemberCode22,
|
||||||
'2-2' AS point22,
|
curd.POINT_MEMBER_23 as pointMemberCode23,
|
||||||
curd.POINT_MEMBER_22 AS pointMember22,
|
curd.POINT_MEMBER_24 as pointMemberCode24,
|
||||||
'2-3' AS point23,
|
curd.POINT_MEMBER_31 as pointMemberCode31,
|
||||||
curd.POINT_MEMBER_23 AS pointMember23,
|
curd.POINT_MEMBER_32 as pointMemberCode32,
|
||||||
'2-4' AS point24,
|
curd.POINT_MEMBER_33 as pointMemberCode33,
|
||||||
curd.POINT_MEMBER_24 AS pointMember24,
|
curd.POINT_MEMBER_34 as pointMemberCode34,
|
||||||
'3-1' AS point31,
|
curd.POINT_MEMBER_35 as pointMemberCode35,
|
||||||
curd.POINT_MEMBER_31 AS pointMember31,
|
curd.POINT_MEMBER_36 as pointMemberCode36,
|
||||||
'3-2' AS point32,
|
curd.POINT_MEMBER_37 as pointMemberCode37,
|
||||||
curd.POINT_MEMBER_32 AS pointMember32,
|
curd.POINT_MEMBER_38 as pointMemberCode38,
|
||||||
'3-3' AS point33,
|
CASE
|
||||||
curd.POINT_MEMBER_33 AS pointMember33,
|
WHEN curd.POINT_11 IS NULL THEN NULL
|
||||||
'3-4' AS point34,
|
ELSE cu.MEMBER_NAME || '-' || curd.POINT_11
|
||||||
curd.POINT_MEMBER_34 AS pointMember34,
|
END AS pointMemberName11,
|
||||||
'3-5' AS point35,
|
CASE
|
||||||
curd.POINT_MEMBER_35 AS pointMember35,
|
WHEN curd.POINT_12 IS NULL THEN NULL
|
||||||
'3-6' AS point36,
|
ELSE cu.MEMBER_NAME || '-' || curd.POINT_12
|
||||||
curd.POINT_MEMBER_36 AS pointMember36,
|
END AS pointMemberName12,
|
||||||
'3-7' AS point37,
|
CASE
|
||||||
curd.POINT_MEMBER_37 AS pointMember37,
|
WHEN curd.POINT_21 IS NULL THEN NULL
|
||||||
'3-8' AS point38,
|
ELSE cu.MEMBER_NAME || '-' || curd.POINT_21
|
||||||
curd.POINT_MEMBER_38 AS pointMember38
|
END AS pointMemberName21,
|
||||||
|
CASE
|
||||||
|
WHEN curd.POINT_22 IS NULL THEN NULL
|
||||||
|
ELSE cu.MEMBER_NAME || '-' || curd.POINT_22
|
||||||
|
END AS pointMemberName22,
|
||||||
|
CASE
|
||||||
|
WHEN curd.POINT_23 IS NULL THEN NULL
|
||||||
|
ELSE cu.MEMBER_NAME || '-' || curd.POINT_23
|
||||||
|
END AS pointMemberName23,
|
||||||
|
CASE
|
||||||
|
WHEN curd.POINT_24 IS NULL THEN NULL
|
||||||
|
ELSE cu.MEMBER_NAME || '-' || curd.POINT_24
|
||||||
|
END AS pointMemberName24,
|
||||||
|
CASE
|
||||||
|
WHEN curd.POINT_31 IS NULL THEN NULL
|
||||||
|
ELSE cu.MEMBER_NAME || '-' || curd.POINT_31
|
||||||
|
END AS pointMemberName31,
|
||||||
|
CASE
|
||||||
|
WHEN curd.POINT_32 IS NULL THEN NULL
|
||||||
|
ELSE cu.MEMBER_NAME || '-' || curd.POINT_32
|
||||||
|
END AS pointMemberName32,
|
||||||
|
CASE
|
||||||
|
WHEN curd.POINT_33 IS NULL THEN NULL
|
||||||
|
ELSE cu.MEMBER_NAME || '-' || curd.POINT_33
|
||||||
|
END AS pointMemberName33,
|
||||||
|
CASE
|
||||||
|
WHEN curd.POINT_34 IS NULL THEN NULL
|
||||||
|
ELSE cu.MEMBER_NAME || '-' || curd.POINT_34
|
||||||
|
END AS pointMemberName34,
|
||||||
|
CASE
|
||||||
|
WHEN curd.POINT_35 IS NULL THEN NULL
|
||||||
|
ELSE cu.MEMBER_NAME || '-' || curd.POINT_35
|
||||||
|
END AS pointMemberName35,
|
||||||
|
CASE
|
||||||
|
WHEN curd.POINT_36 IS NULL THEN NULL
|
||||||
|
ELSE cu.MEMBER_NAME || '-' || curd.POINT_36
|
||||||
|
END AS pointMemberName36,
|
||||||
|
CASE
|
||||||
|
WHEN curd.POINT_37 IS NULL THEN NULL
|
||||||
|
ELSE cu.MEMBER_NAME || '-' || curd.POINT_37
|
||||||
|
END AS pointMemberName37,
|
||||||
|
CASE
|
||||||
|
WHEN curd.POINT_38 IS NULL THEN NULL
|
||||||
|
ELSE cu.MEMBER_NAME || '-' || curd.POINT_38
|
||||||
|
END AS pointMemberName38
|
||||||
FROM
|
FROM
|
||||||
#{settleTableName} curd
|
${settleTableName} curd
|
||||||
LEFT JOIN CU_MEMBER cu ON curd.PK_MEMBER = cu.PK_ID
|
LEFT JOIN CU_MEMBER cu ON curd.PK_MEMBER = cu.PK_ID
|
||||||
WHERE
|
WHERE
|
||||||
cu.MEMBER_CODE = #{memberCode}
|
cu.MEMBER_CODE = #{memberCode}
|
||||||
|
@ -104,5 +161,7 @@
|
||||||
<if test="stageStatus != null">
|
<if test="stageStatus != null">
|
||||||
and curd.STAGE_STATUS = #{stageStatus}
|
and curd.STAGE_STATUS = #{stageStatus}
|
||||||
</if>
|
</if>
|
||||||
|
ORDER BY
|
||||||
|
curd.CHILD_NODE
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -194,6 +194,11 @@ public class CuMemberRetailRange extends BaseEntity {
|
||||||
*/
|
*/
|
||||||
@TableField("point_count")
|
@TableField("point_count")
|
||||||
private Integer pointCount;
|
private Integer pointCount;
|
||||||
|
/**
|
||||||
|
* 待激活子点位数
|
||||||
|
*/
|
||||||
|
@TableField("WAIT_POINT_COUNT")
|
||||||
|
private Integer waitPointCount;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 复购业绩余额
|
* 复购业绩余额
|
||||||
|
@ -201,4 +206,10 @@ public class CuMemberRetailRange extends BaseEntity {
|
||||||
@TableField("REP_PV_BALANCE")
|
@TableField("REP_PV_BALANCE")
|
||||||
private BigDecimal repPvBalance;
|
private BigDecimal repPvBalance;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 赠送几个点位
|
||||||
|
*/
|
||||||
|
@TableField("GIFT_POINT")
|
||||||
|
private Integer giftPoint;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue