## 一阶段填充点位逻辑调整;
This commit is contained in:
parent
e3fae413a6
commit
abe46ad69e
|
@ -4,15 +4,14 @@ import cn.hutool.core.collection.CollectionUtil;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.hzs.bonus.achieve.mapper.CuMemberRetailRangeMapper;
|
import com.hzs.bonus.achieve.mapper.CuMemberRetailRangeMapper;
|
||||||
import com.hzs.bonus.achieve.service.ICuMemberRetailRangeService;
|
import com.hzs.bonus.achieve.service.ICuMemberRetailRangeService;
|
||||||
|
import com.hzs.bonus.achieve.service.ICuMemberTreeService;
|
||||||
import com.hzs.common.core.constant.MagicNumberConstants;
|
import com.hzs.common.core.constant.MagicNumberConstants;
|
||||||
import com.hzs.common.core.enums.EOrderType;
|
|
||||||
import com.hzs.common.domain.member.achieve.CuMemberRetailDetail;
|
import com.hzs.common.domain.member.achieve.CuMemberRetailDetail;
|
||||||
import com.hzs.common.domain.member.achieve.CuMemberRetailRange;
|
import com.hzs.common.domain.member.achieve.CuMemberRetailRange;
|
||||||
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
|
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
|
||||||
import com.hzs.common.domain.member.base.CuMember;
|
import com.hzs.common.domain.member.base.CuMember;
|
||||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
@ -27,6 +26,8 @@ public class CuMemberRetailRangeServiceImpl extends ServiceImpl<CuMemberRetailRa
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private CuMemberBonusSettle cuMemberBonusSettle;
|
private CuMemberBonusSettle cuMemberBonusSettle;
|
||||||
|
@Autowired
|
||||||
|
private ICuMemberTreeService iCuMemberTreeService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mergeMemberRetailRangeByYesterday(String rangeTableName, String yesterdayRangeTableName, Boolean isSameMonth) {
|
public void mergeMemberRetailRangeByYesterday(String rangeTableName, String yesterdayRangeTableName, Boolean isSameMonth) {
|
||||||
|
@ -42,6 +43,9 @@ public class CuMemberRetailRangeServiceImpl extends ServiceImpl<CuMemberRetailRa
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mergeMemberRetailRangeDetailByYesterday(String detailTableName, String yesterdayDetailTableName) {
|
public void mergeMemberRetailRangeDetailByYesterday(String detailTableName, String yesterdayDetailTableName) {
|
||||||
|
// 清空当前明细表
|
||||||
|
iCuMemberTreeService.truncateCuMemberTreeTable(detailTableName);
|
||||||
|
// 用昨天的数据初始化当前明细表
|
||||||
baseMapper.mergeMemberRetailRangeDetailByYesterday(detailTableName, yesterdayDetailTableName);
|
baseMapper.mergeMemberRetailRangeDetailByYesterday(detailTableName, yesterdayDetailTableName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -94,7 +98,13 @@ public class CuMemberRetailRangeServiceImpl extends ServiceImpl<CuMemberRetailRa
|
||||||
Collection<CuMemberRetailDetail> retailDetailColl = new ArrayList<>();
|
Collection<CuMemberRetailDetail> retailDetailColl = new ArrayList<>();
|
||||||
memberRangeExtMap.forEach((key, value) -> {
|
memberRangeExtMap.forEach((key, value) -> {
|
||||||
if (null != value.getOneDetailMap() && value.getOneDetailMap().size() > 0) {
|
if (null != value.getOneDetailMap() && value.getOneDetailMap().size() > 0) {
|
||||||
retailDetailColl.addAll(value.getOneDetailMap().values());
|
Collection<CuMemberRetailDetail> tmpDetailColl = value.getOneDetailMap().values();
|
||||||
|
for (CuMemberRetailDetail cuMemberRetailDetail : tmpDetailColl) {
|
||||||
|
// 只有需要更新的才进行入库操作
|
||||||
|
if (null != cuMemberRetailDetail.getUpdateBool()) {
|
||||||
|
retailDetailColl.add(cuMemberRetailDetail);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
List<List<?>> list = cuMemberBonusSettle.handleCutList(retailDetailColl);
|
List<List<?>> list = cuMemberBonusSettle.handleCutList(retailDetailColl);
|
||||||
|
|
|
@ -37,6 +37,12 @@ public interface ICuMemberBonusStageService extends IService<CuMemberBonusStage>
|
||||||
*/
|
*/
|
||||||
String fillChildNode(CuMemberRetailDetail cuMemberRetailDetail, CuMemberRetailDetail newRetailDetail);
|
String fillChildNode(CuMemberRetailDetail cuMemberRetailDetail, CuMemberRetailDetail newRetailDetail);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 填充指定点位
|
||||||
|
*/
|
||||||
|
void fillRetailDetail(CuMemberRetailDetail targetRetailDetail, String point,
|
||||||
|
Long pkMember, Integer childNode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 处理新点位是推荐第一层
|
* 处理新点位是推荐第一层
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -278,7 +278,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
Date settleEndDate = DateUtils.afterDate(1, ChronoUnit.DAYS, settleStartDate);
|
Date settleEndDate = DateUtils.afterDate(1, ChronoUnit.DAYS, settleStartDate);
|
||||||
|
|
||||||
// 新零售订单(注册、复购)
|
// 新零售订单(注册、复购)
|
||||||
List<SaOrderExt> orderList = iBonusOrderService.listRetailSaOrder(settleStartDate, settleEndDate, null, Arrays.asList(EOrderType.RETAIL_REGISTER.getValue(), EOrderType.RETAIL_REPURCHASE.getValue()));
|
List<SaOrderExt> orderList = iBonusOrderService.listRetailSaOrder(settleStartDate, settleEndDate, null, Arrays.asList(EOrderType.RETAIL_REGISTER.getValue(), EOrderType.RETAIL_UPGRADE.getValue(), EOrderType.RETAIL_REPURCHASE.getValue()));
|
||||||
|
|
||||||
// 更新当月会员, 将昨天业绩更到到今天,更新当月会员考核结果,有消费的考核通过
|
// 更新当月会员, 将昨天业绩更到到今天,更新当月会员考核结果,有消费的考核通过
|
||||||
// 结算期间表
|
// 结算期间表
|
||||||
|
@ -371,6 +371,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
}
|
}
|
||||||
// 更新日结数据
|
// 更新日结数据
|
||||||
iCuMemberRetailRangeService.updateCuMemberRetailRange(rangeTableName, memberRangeExtMap);
|
iCuMemberRetailRangeService.updateCuMemberRetailRange(rangeTableName, memberRangeExtMap);
|
||||||
|
CuMemberRetailRangeExt tt = memberRangeExtMap.get(20363L);
|
||||||
// 更新日结明细数据
|
// 更新日结明细数据
|
||||||
iCuMemberRetailRangeService.updateCuMemberRetailDetail(rangeDetailTableName, memberRangeExtMap);
|
iCuMemberRetailRangeService.updateCuMemberRetailDetail(rangeDetailTableName, memberRangeExtMap);
|
||||||
}
|
}
|
||||||
|
@ -950,6 +951,8 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
}
|
}
|
||||||
// 当前会员子点位总数
|
// 当前会员子点位总数
|
||||||
int pointCount = sourceMember.getPointCount();
|
int pointCount = sourceMember.getPointCount();
|
||||||
|
|
||||||
|
newPointInt:
|
||||||
for (int i = 1; i <= newPointInt; i++) {
|
for (int i = 1; i <= newPointInt; i++) {
|
||||||
// 订单会员生成的新点位
|
// 订单会员生成的新点位
|
||||||
CuMemberRetailDetail newRetailDetail = CuMemberRetailDetail.builder()
|
CuMemberRetailDetail newRetailDetail = CuMemberRetailDetail.builder()
|
||||||
|
@ -961,6 +964,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
.pointType(EBonusStageType.NORMAL.getValue())
|
.pointType(EBonusStageType.NORMAL.getValue())
|
||||||
.pointGift(0)
|
.pointGift(0)
|
||||||
.creationTime(settleDate)
|
.creationTime(settleDate)
|
||||||
|
.updateBool(0)
|
||||||
.build();
|
.build();
|
||||||
detailList.put(newRetailDetail.getChildNode(), newRetailDetail);
|
detailList.put(newRetailDetail.getChildNode(), newRetailDetail);
|
||||||
|
|
||||||
|
@ -980,47 +984,142 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
// 推荐人没有未完成点位,继续往上找
|
// 推荐人没有未完成点位,继续往上找
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
parentDetailList.forEach((key, parentRetailDetail) -> {
|
for (Map.Entry<Integer, CuMemberRetailDetail> integerCuMemberRetailDetailEntry : parentDetailList.entrySet()) {
|
||||||
|
// 第一层填充
|
||||||
|
CuMemberRetailDetail parentRetailDetail = integerCuMemberRetailDetailEntry.getValue();
|
||||||
// 遍历推荐人点位,使用第一个未完成的点位,进行填充
|
// 遍历推荐人点位,使用第一个未完成的点位,进行填充
|
||||||
if (EBonusStageStatus.NO.getValue() == parentRetailDetail.getStageStatus()) {
|
if (EBonusStageStatus.NO.getValue() == parentRetailDetail.getStageStatus()) {
|
||||||
String newNode = iCuMemberBonusStageService.fillChildNode(parentRetailDetail, newRetailDetail);
|
if (null == parentRetailDetail.getPointMember11()) {
|
||||||
if (null == newNode) {
|
iCuMemberBonusStageService.fillRetailDetail(parentRetailDetail, BonusConstants.POINT_11,
|
||||||
return;
|
newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
}
|
|
||||||
switch (newNode) {
|
|
||||||
case BonusConstants.POINT_11:
|
|
||||||
case BonusConstants.POINT_12:
|
|
||||||
// 新点位是推荐人点位的第一层
|
// 新点位是推荐人点位的第一层
|
||||||
iCuMemberBonusStageService.handlePointFirst(memberRangeExtMap, newRetailDetail, parentRetailDetail,
|
iCuMemberBonusStageService.handlePointFirst(memberRangeExtMap, newRetailDetail, parentRetailDetail,
|
||||||
rangeTableName, rangeDetailTableName, newNode);
|
rangeTableName, rangeDetailTableName, BonusConstants.POINT_11);
|
||||||
break;
|
// 当前新子点位填充完成,进入下一个新子点位
|
||||||
case BonusConstants.POINT_21:
|
continue newPointInt;
|
||||||
case BonusConstants.POINT_22:
|
} else if (null == parentRetailDetail.getPointMember12()) {
|
||||||
case BonusConstants.POINT_23:
|
iCuMemberBonusStageService.fillRetailDetail(parentRetailDetail, BonusConstants.POINT_12,
|
||||||
case BonusConstants.POINT_24:
|
newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
|
// 新点位是推荐人点位的第一层
|
||||||
|
iCuMemberBonusStageService.handlePointFirst(memberRangeExtMap, newRetailDetail, parentRetailDetail,
|
||||||
|
rangeTableName, rangeDetailTableName, BonusConstants.POINT_12);
|
||||||
|
// 当前新子点位填充完成,进入下一个新子点位
|
||||||
|
continue newPointInt;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (Map.Entry<Integer, CuMemberRetailDetail> integerCuMemberRetailDetailEntry : parentDetailList.entrySet()) {
|
||||||
|
// 第二层填充
|
||||||
|
CuMemberRetailDetail parentRetailDetail = integerCuMemberRetailDetailEntry.getValue();
|
||||||
|
// 遍历推荐人点位,使用第一个未完成的点位,进行填充
|
||||||
|
if (EBonusStageStatus.NO.getValue() == parentRetailDetail.getStageStatus()) {
|
||||||
|
if (null == parentRetailDetail.getPointMember21()) {
|
||||||
|
iCuMemberBonusStageService.fillRetailDetail(parentRetailDetail, BonusConstants.POINT_21,
|
||||||
|
newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
// 新点位是推荐人点位的第二层
|
// 新点位是推荐人点位的第二层
|
||||||
iCuMemberBonusStageService.handlePointSecond(memberRangeExtMap, newRetailDetail, parentRetailDetail,
|
iCuMemberBonusStageService.handlePointSecond(memberRangeExtMap, newRetailDetail, parentRetailDetail,
|
||||||
rangeTableName, rangeDetailTableName, newNode);
|
rangeTableName, rangeDetailTableName, BonusConstants.POINT_21);
|
||||||
break;
|
// 当前新子点位填充完成,进入下一个新子点位
|
||||||
case BonusConstants.POINT_38:
|
continue newPointInt;
|
||||||
// 第一个点位已经全部填满,更新完成状态和时间
|
} else if (null == parentRetailDetail.getPointMember22()) {
|
||||||
parentRetailDetail.setStageStatus(EBonusStageStatus.YES.getValue());
|
iCuMemberBonusStageService.fillRetailDetail(parentRetailDetail, BonusConstants.POINT_22,
|
||||||
parentRetailDetail.setStageDate(settleDate);
|
newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
// TODO 一阶段全满则需要发放一阶段奖金
|
// 新点位是推荐人点位的第二层
|
||||||
// TODO 需要记录填满子点位,用来处理生成二阶段以及生成赠点
|
iCuMemberBonusStageService.handlePointSecond(memberRangeExtMap, newRetailDetail, parentRetailDetail,
|
||||||
case BonusConstants.POINT_31:
|
rangeTableName, rangeDetailTableName, BonusConstants.POINT_22);
|
||||||
case BonusConstants.POINT_32:
|
// 当前新子点位填充完成,进入下一个新子点位
|
||||||
case BonusConstants.POINT_33:
|
continue newPointInt;
|
||||||
case BonusConstants.POINT_34:
|
} else if (null == parentRetailDetail.getPointMember23()) {
|
||||||
case BonusConstants.POINT_35:
|
iCuMemberBonusStageService.fillRetailDetail(parentRetailDetail, BonusConstants.POINT_23,
|
||||||
case BonusConstants.POINT_36:
|
newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
case BonusConstants.POINT_37:
|
// 新点位是推荐人点位的第二层
|
||||||
|
iCuMemberBonusStageService.handlePointSecond(memberRangeExtMap, newRetailDetail, parentRetailDetail,
|
||||||
|
rangeTableName, rangeDetailTableName, BonusConstants.POINT_23);
|
||||||
|
// 当前新子点位填充完成,进入下一个新子点位
|
||||||
|
continue newPointInt;
|
||||||
|
} else if (null == parentRetailDetail.getPointMember24()) {
|
||||||
|
iCuMemberBonusStageService.fillRetailDetail(parentRetailDetail, BonusConstants.POINT_24,
|
||||||
|
newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
|
// 新点位是推荐人点位的第二层
|
||||||
|
iCuMemberBonusStageService.handlePointSecond(memberRangeExtMap, newRetailDetail, parentRetailDetail,
|
||||||
|
rangeTableName, rangeDetailTableName, BonusConstants.POINT_24);
|
||||||
|
// 当前新子点位填充完成,进入下一个新子点位
|
||||||
|
continue newPointInt;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (Map.Entry<Integer, CuMemberRetailDetail> integerCuMemberRetailDetailEntry : parentDetailList.entrySet()) {
|
||||||
|
// 第三层填充
|
||||||
|
CuMemberRetailDetail parentRetailDetail = integerCuMemberRetailDetailEntry.getValue();
|
||||||
|
// 遍历推荐人点位,使用第一个未完成的点位,进行填充
|
||||||
|
if (EBonusStageStatus.NO.getValue() == parentRetailDetail.getStageStatus()) {
|
||||||
|
if (null == parentRetailDetail.getPointMember31()) {
|
||||||
|
iCuMemberBonusStageService.fillRetailDetail(parentRetailDetail, BonusConstants.POINT_31,
|
||||||
|
newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
// 新点位是推荐人点位的第三层
|
// 新点位是推荐人点位的第三层
|
||||||
iCuMemberBonusStageService.handlePointThird(memberRangeExtMap, newRetailDetail, parentRetailDetail,
|
iCuMemberBonusStageService.handlePointThird(memberRangeExtMap, newRetailDetail, parentRetailDetail,
|
||||||
rangeTableName, rangeDetailTableName, newNode);
|
rangeTableName, rangeDetailTableName, BonusConstants.POINT_31);
|
||||||
|
// 当前新子点位填充完成,进入下一个新子点位
|
||||||
|
continue newPointInt;
|
||||||
|
} else if (null == parentRetailDetail.getPointMember32()) {
|
||||||
|
iCuMemberBonusStageService.fillRetailDetail(parentRetailDetail, BonusConstants.POINT_32,
|
||||||
|
newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
|
// 新点位是推荐人点位的第三层
|
||||||
|
iCuMemberBonusStageService.handlePointThird(memberRangeExtMap, newRetailDetail, parentRetailDetail,
|
||||||
|
rangeTableName, rangeDetailTableName, BonusConstants.POINT_32);
|
||||||
|
// 当前新子点位填充完成,进入下一个新子点位
|
||||||
|
continue newPointInt;
|
||||||
|
} else if (null == parentRetailDetail.getPointMember33()) {
|
||||||
|
iCuMemberBonusStageService.fillRetailDetail(parentRetailDetail, BonusConstants.POINT_33,
|
||||||
|
newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
|
// 新点位是推荐人点位的第三层
|
||||||
|
iCuMemberBonusStageService.handlePointThird(memberRangeExtMap, newRetailDetail, parentRetailDetail,
|
||||||
|
rangeTableName, rangeDetailTableName, BonusConstants.POINT_33);
|
||||||
|
// 当前新子点位填充完成,进入下一个新子点位
|
||||||
|
continue newPointInt;
|
||||||
|
} else if (null == parentRetailDetail.getPointMember34()) {
|
||||||
|
iCuMemberBonusStageService.fillRetailDetail(parentRetailDetail, BonusConstants.POINT_34,
|
||||||
|
newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
|
// 新点位是推荐人点位的第三层
|
||||||
|
iCuMemberBonusStageService.handlePointThird(memberRangeExtMap, newRetailDetail, parentRetailDetail,
|
||||||
|
rangeTableName, rangeDetailTableName, BonusConstants.POINT_34);
|
||||||
|
// 当前新子点位填充完成,进入下一个新子点位
|
||||||
|
continue newPointInt;
|
||||||
|
} else if (null == parentRetailDetail.getPointMember35()) {
|
||||||
|
iCuMemberBonusStageService.fillRetailDetail(parentRetailDetail, BonusConstants.POINT_35,
|
||||||
|
newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
|
// 新点位是推荐人点位的第三层
|
||||||
|
iCuMemberBonusStageService.handlePointThird(memberRangeExtMap, newRetailDetail, parentRetailDetail,
|
||||||
|
rangeTableName, rangeDetailTableName, BonusConstants.POINT_35);
|
||||||
|
// 当前新子点位填充完成,进入下一个新子点位
|
||||||
|
continue newPointInt;
|
||||||
|
} else if (null == parentRetailDetail.getPointMember36()) {
|
||||||
|
iCuMemberBonusStageService.fillRetailDetail(parentRetailDetail, BonusConstants.POINT_36,
|
||||||
|
newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
|
// 新点位是推荐人点位的第三层
|
||||||
|
iCuMemberBonusStageService.handlePointThird(memberRangeExtMap, newRetailDetail, parentRetailDetail,
|
||||||
|
rangeTableName, rangeDetailTableName, BonusConstants.POINT_36);
|
||||||
|
// 当前新子点位填充完成,进入下一个新子点位
|
||||||
|
continue newPointInt;
|
||||||
|
} else if (null == parentRetailDetail.getPointMember37()) {
|
||||||
|
iCuMemberBonusStageService.fillRetailDetail(parentRetailDetail, BonusConstants.POINT_37,
|
||||||
|
newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
|
// 新点位是推荐人点位的第三层
|
||||||
|
iCuMemberBonusStageService.handlePointThird(memberRangeExtMap, newRetailDetail, parentRetailDetail,
|
||||||
|
rangeTableName, rangeDetailTableName, BonusConstants.POINT_37);
|
||||||
|
// 当前新子点位填充完成,进入下一个新子点位
|
||||||
|
continue newPointInt;
|
||||||
|
} else if (null == parentRetailDetail.getPointMember38()) {
|
||||||
|
iCuMemberBonusStageService.fillRetailDetail(parentRetailDetail, BonusConstants.POINT_38,
|
||||||
|
newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
|
// 新点位是推荐人点位的第三层
|
||||||
|
iCuMemberBonusStageService.handlePointThird(memberRangeExtMap, newRetailDetail, parentRetailDetail,
|
||||||
|
rangeTableName, rangeDetailTableName, BonusConstants.POINT_38);
|
||||||
|
// 当前新子点位填充完成,进入下一个新子点位
|
||||||
|
continue newPointInt;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,7 +47,7 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void batchInsertCuMemberBonusStage(List<CuMemberBonusStage> cuMemberBonusStageList, Set<Long> memberIdSet) {
|
public void batchInsertCuMemberBonusStage(List<CuMemberBonusStage> cuMemberBonusStageList, Set<Long> memberIdSet) {
|
||||||
if (cuMemberBonusStageList.size() == 0) {
|
if (CollectionUtil.isEmpty(cuMemberBonusStageList)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
List<CuMemberBonusStage> addMemberBonusStageList = new ArrayList<>();
|
List<CuMemberBonusStage> addMemberBonusStageList = new ArrayList<>();
|
||||||
|
@ -89,19 +89,8 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
||||||
return cuMemberBonusStage;
|
return cuMemberBonusStage;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initFieldMap() {
|
|
||||||
BonusConstants.FIELD_MAP = new HashMap<>();
|
|
||||||
for (String suffix : BonusConstants.FIELD_LIST) {
|
|
||||||
BonusConstants.FIELD_MAP.put(BonusConstants.POINT_MEMBER_FIELD_NAME + suffix, ReflectUtil.getField(CuMemberRetailDetail.class, BonusConstants.POINT_MEMBER_FIELD_NAME + suffix));
|
|
||||||
BonusConstants.FIELD_MAP.put(BonusConstants.POINT_FIELD_NAME + suffix, ReflectUtil.getField(CuMemberRetailDetail.class, BonusConstants.POINT_FIELD_NAME + suffix));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String fillChildNode(CuMemberRetailDetail cuMemberRetailDetail, CuMemberRetailDetail newRetailDetail) {
|
public String fillChildNode(CuMemberRetailDetail cuMemberRetailDetail, CuMemberRetailDetail newRetailDetail) {
|
||||||
if (ObjectUtil.isEmpty(BonusConstants.FIELD_MAP)) {
|
|
||||||
initFieldMap();
|
|
||||||
}
|
|
||||||
for (String suffix : BonusConstants.FIELD_LIST) {
|
for (String suffix : BonusConstants.FIELD_LIST) {
|
||||||
Field pointMemberField = BonusConstants.FIELD_MAP.get(BonusConstants.POINT_MEMBER_FIELD_NAME + suffix);
|
Field pointMemberField = BonusConstants.FIELD_MAP.get(BonusConstants.POINT_MEMBER_FIELD_NAME + suffix);
|
||||||
Field pointField = BonusConstants.FIELD_MAP.get(BonusConstants.POINT_FIELD_NAME + suffix);
|
Field pointField = BonusConstants.FIELD_MAP.get(BonusConstants.POINT_FIELD_NAME + suffix);
|
||||||
|
@ -109,6 +98,7 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
||||||
if (ObjectUtil.isEmpty(pointFieldValue)) {
|
if (ObjectUtil.isEmpty(pointFieldValue)) {
|
||||||
ReflectUtil.setFieldValue(cuMemberRetailDetail, pointMemberField, newRetailDetail.getPkMember());
|
ReflectUtil.setFieldValue(cuMemberRetailDetail, pointMemberField, newRetailDetail.getPkMember());
|
||||||
ReflectUtil.setFieldValue(cuMemberRetailDetail, pointField, newRetailDetail.getChildNode());
|
ReflectUtil.setFieldValue(cuMemberRetailDetail, pointField, newRetailDetail.getChildNode());
|
||||||
|
ReflectUtil.setFieldValue(cuMemberRetailDetail, BonusConstants.UPDATE_FLAG, 0);
|
||||||
return suffix;
|
return suffix;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -118,7 +108,7 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
||||||
/**
|
/**
|
||||||
* 向上填充子点位
|
* 向上填充子点位
|
||||||
*/
|
*/
|
||||||
public void fillUpTargetRetailDetail(CuMemberRetailDetail targetRetailDetail, CuMemberRetailDetail newParentRetailDetail,
|
private void fillUpTargetRetailDetail(CuMemberRetailDetail targetRetailDetail, CuMemberRetailDetail newParentRetailDetail,
|
||||||
CuMemberRetailDetail newRetailDetail, String node) {
|
CuMemberRetailDetail newRetailDetail, String node) {
|
||||||
if (null == targetRetailDetail) {
|
if (null == targetRetailDetail) {
|
||||||
return;
|
return;
|
||||||
|
@ -132,80 +122,60 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
||||||
switch (suffix) {
|
switch (suffix) {
|
||||||
case BonusConstants.POINT_11:
|
case BonusConstants.POINT_11:
|
||||||
if (BonusConstants.POINT_11.equals(node)) {
|
if (BonusConstants.POINT_11.equals(node)) {
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + BonusConstants.POINT_21, newRetailDetail.getPkMember());
|
this.fillRetailDetail(targetRetailDetail, BonusConstants.POINT_21, newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_FIELD_NAME + BonusConstants.POINT_21, newRetailDetail.getChildNode());
|
|
||||||
} else if (BonusConstants.POINT_12.equals(node)) {
|
} else if (BonusConstants.POINT_12.equals(node)) {
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + BonusConstants.POINT_22, newRetailDetail.getPkMember());
|
this.fillRetailDetail(targetRetailDetail, BonusConstants.POINT_22, newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_FIELD_NAME + BonusConstants.POINT_22, newRetailDetail.getChildNode());
|
|
||||||
} else if (BonusConstants.POINT_21.equals(node)) {
|
} else if (BonusConstants.POINT_21.equals(node)) {
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + BonusConstants.POINT_31, newRetailDetail.getPkMember());
|
this.fillRetailDetail(targetRetailDetail, BonusConstants.POINT_31, newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_FIELD_NAME + BonusConstants.POINT_31, newRetailDetail.getChildNode());
|
|
||||||
} else if (BonusConstants.POINT_22.equals(node)) {
|
} else if (BonusConstants.POINT_22.equals(node)) {
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + BonusConstants.POINT_32, newRetailDetail.getPkMember());
|
this.fillRetailDetail(targetRetailDetail, BonusConstants.POINT_32, newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_FIELD_NAME + BonusConstants.POINT_32, newRetailDetail.getChildNode());
|
|
||||||
} else if (BonusConstants.POINT_23.equals(node)) {
|
} else if (BonusConstants.POINT_23.equals(node)) {
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + BonusConstants.POINT_33, newRetailDetail.getPkMember());
|
this.fillRetailDetail(targetRetailDetail, BonusConstants.POINT_33, newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_FIELD_NAME + BonusConstants.POINT_33, newRetailDetail.getChildNode());
|
|
||||||
} else if (BonusConstants.POINT_24.equals(node)) {
|
} else if (BonusConstants.POINT_24.equals(node)) {
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + BonusConstants.POINT_34, newRetailDetail.getPkMember());
|
this.fillRetailDetail(targetRetailDetail, BonusConstants.POINT_34, newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_FIELD_NAME + BonusConstants.POINT_34, newRetailDetail.getChildNode());
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case BonusConstants.POINT_12:
|
case BonusConstants.POINT_12:
|
||||||
if (BonusConstants.POINT_11.equals(node)) {
|
if (BonusConstants.POINT_11.equals(node)) {
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + BonusConstants.POINT_23, newRetailDetail.getPkMember());
|
this.fillRetailDetail(targetRetailDetail, BonusConstants.POINT_23, newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_FIELD_NAME + BonusConstants.POINT_23, newRetailDetail.getChildNode());
|
|
||||||
} else if (BonusConstants.POINT_12.equals(node)) {
|
} else if (BonusConstants.POINT_12.equals(node)) {
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + BonusConstants.POINT_24, newRetailDetail.getPkMember());
|
this.fillRetailDetail(targetRetailDetail, BonusConstants.POINT_24, newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_FIELD_NAME + BonusConstants.POINT_24, newRetailDetail.getChildNode());
|
|
||||||
} else if (BonusConstants.POINT_21.equals(node)) {
|
} else if (BonusConstants.POINT_21.equals(node)) {
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + BonusConstants.POINT_35, newRetailDetail.getPkMember());
|
this.fillRetailDetail(targetRetailDetail, BonusConstants.POINT_35, newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_FIELD_NAME + BonusConstants.POINT_35, newRetailDetail.getChildNode());
|
|
||||||
} else if (BonusConstants.POINT_22.equals(node)) {
|
} else if (BonusConstants.POINT_22.equals(node)) {
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + BonusConstants.POINT_36, newRetailDetail.getPkMember());
|
this.fillRetailDetail(targetRetailDetail, BonusConstants.POINT_36, newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_FIELD_NAME + BonusConstants.POINT_36, newRetailDetail.getChildNode());
|
|
||||||
} else if (BonusConstants.POINT_23.equals(node)) {
|
} else if (BonusConstants.POINT_23.equals(node)) {
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + BonusConstants.POINT_37, newRetailDetail.getPkMember());
|
this.fillRetailDetail(targetRetailDetail, BonusConstants.POINT_37, newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_FIELD_NAME + BonusConstants.POINT_37, newRetailDetail.getChildNode());
|
|
||||||
} else if (BonusConstants.POINT_24.equals(node)) {
|
} else if (BonusConstants.POINT_24.equals(node)) {
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + BonusConstants.POINT_38, newRetailDetail.getPkMember());
|
this.fillRetailDetail(targetRetailDetail, BonusConstants.POINT_38, newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_FIELD_NAME + BonusConstants.POINT_38, newRetailDetail.getChildNode());
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case BonusConstants.POINT_21:
|
case BonusConstants.POINT_21:
|
||||||
if (BonusConstants.POINT_11.equals(node)) {
|
if (BonusConstants.POINT_11.equals(node)) {
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + BonusConstants.POINT_31, newRetailDetail.getPkMember());
|
this.fillRetailDetail(targetRetailDetail, BonusConstants.POINT_31, newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_FIELD_NAME + BonusConstants.POINT_31, newRetailDetail.getChildNode());
|
|
||||||
} else if (BonusConstants.POINT_12.equals(node)) {
|
} else if (BonusConstants.POINT_12.equals(node)) {
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + BonusConstants.POINT_32, newRetailDetail.getPkMember());
|
this.fillRetailDetail(targetRetailDetail, BonusConstants.POINT_32, newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_FIELD_NAME + BonusConstants.POINT_32, newRetailDetail.getChildNode());
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case BonusConstants.POINT_22:
|
case BonusConstants.POINT_22:
|
||||||
if (BonusConstants.POINT_11.equals(node)) {
|
if (BonusConstants.POINT_11.equals(node)) {
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + BonusConstants.POINT_33, newRetailDetail.getPkMember());
|
this.fillRetailDetail(targetRetailDetail, BonusConstants.POINT_33, newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_FIELD_NAME + BonusConstants.POINT_33, newRetailDetail.getChildNode());
|
|
||||||
} else if (BonusConstants.POINT_12.equals(node)) {
|
} else if (BonusConstants.POINT_12.equals(node)) {
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + BonusConstants.POINT_34, newRetailDetail.getPkMember());
|
this.fillRetailDetail(targetRetailDetail, BonusConstants.POINT_34, newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_FIELD_NAME + BonusConstants.POINT_34, newRetailDetail.getChildNode());
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case BonusConstants.POINT_23:
|
case BonusConstants.POINT_23:
|
||||||
if (BonusConstants.POINT_11.equals(node)) {
|
if (BonusConstants.POINT_11.equals(node)) {
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + BonusConstants.POINT_35, newRetailDetail.getPkMember());
|
this.fillRetailDetail(targetRetailDetail, BonusConstants.POINT_35, newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_FIELD_NAME + BonusConstants.POINT_35, newRetailDetail.getChildNode());
|
|
||||||
} else if (BonusConstants.POINT_12.equals(node)) {
|
} else if (BonusConstants.POINT_12.equals(node)) {
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + BonusConstants.POINT_36, newRetailDetail.getPkMember());
|
this.fillRetailDetail(targetRetailDetail, BonusConstants.POINT_36, newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_FIELD_NAME + BonusConstants.POINT_36, newRetailDetail.getChildNode());
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case BonusConstants.POINT_24:
|
case BonusConstants.POINT_24:
|
||||||
if (BonusConstants.POINT_11.equals(node)) {
|
if (BonusConstants.POINT_11.equals(node)) {
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + BonusConstants.POINT_37, newRetailDetail.getPkMember());
|
this.fillRetailDetail(targetRetailDetail, BonusConstants.POINT_37, newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_FIELD_NAME + BonusConstants.POINT_37, newRetailDetail.getChildNode());
|
|
||||||
} else if (BonusConstants.POINT_12.equals(node)) {
|
} else if (BonusConstants.POINT_12.equals(node)) {
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + BonusConstants.POINT_38, newRetailDetail.getPkMember());
|
this.fillRetailDetail(targetRetailDetail, BonusConstants.POINT_38, newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_FIELD_NAME + BonusConstants.POINT_38, newRetailDetail.getChildNode());
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -217,7 +187,7 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
||||||
/**
|
/**
|
||||||
* 向下填充子点位
|
* 向下填充子点位
|
||||||
*/
|
*/
|
||||||
public void fillDownTargetRetailDetail(CuMemberRetailDetail targetRetailDetail, CuMemberRetailDetail newRetailDetail,
|
private void fillDownTargetRetailDetail(CuMemberRetailDetail targetRetailDetail, CuMemberRetailDetail newRetailDetail,
|
||||||
String node, Integer level) {
|
String node, Integer level) {
|
||||||
if (null == targetRetailDetail) {
|
if (null == targetRetailDetail) {
|
||||||
return;
|
return;
|
||||||
|
@ -229,38 +199,43 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
||||||
|| BonusConstants.POINT_33.equals(node)
|
|| BonusConstants.POINT_33.equals(node)
|
||||||
|| BonusConstants.POINT_35.equals(node)
|
|| BonusConstants.POINT_35.equals(node)
|
||||||
|| BonusConstants.POINT_37.equals(node)) {
|
|| BonusConstants.POINT_37.equals(node)) {
|
||||||
targetRetailDetail.setPointMember11(newRetailDetail.getPkMember());
|
this.fillRetailDetail(targetRetailDetail, BonusConstants.POINT_11, newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
targetRetailDetail.setPoint11(newRetailDetail.getChildNode());
|
|
||||||
} else if (BonusConstants.POINT_22.equals(node)
|
} else if (BonusConstants.POINT_22.equals(node)
|
||||||
|| BonusConstants.POINT_24.equals(node)
|
|| BonusConstants.POINT_24.equals(node)
|
||||||
|| BonusConstants.POINT_32.equals(node)
|
|| BonusConstants.POINT_32.equals(node)
|
||||||
|| BonusConstants.POINT_34.equals(node)
|
|| BonusConstants.POINT_34.equals(node)
|
||||||
|| BonusConstants.POINT_36.equals(node)
|
|| BonusConstants.POINT_36.equals(node)
|
||||||
|| BonusConstants.POINT_38.equals(node)) {
|
|| BonusConstants.POINT_38.equals(node)) {
|
||||||
targetRetailDetail.setPointMember12(newRetailDetail.getPkMember());
|
this.fillRetailDetail(targetRetailDetail, BonusConstants.POINT_12, newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
targetRetailDetail.setPoint12(newRetailDetail.getChildNode());
|
|
||||||
}
|
}
|
||||||
} else if (level.equals(2)) {
|
} else if (level.equals(2)) {
|
||||||
if (BonusConstants.POINT_31.equals(node)
|
if (BonusConstants.POINT_31.equals(node)
|
||||||
|| BonusConstants.POINT_35.equals(node)) {
|
|| BonusConstants.POINT_35.equals(node)) {
|
||||||
targetRetailDetail.setPointMember21(newRetailDetail.getPkMember());
|
this.fillRetailDetail(targetRetailDetail, BonusConstants.POINT_21, newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
targetRetailDetail.setPoint21(newRetailDetail.getChildNode());
|
|
||||||
} else if (BonusConstants.POINT_32.equals(node)
|
} else if (BonusConstants.POINT_32.equals(node)
|
||||||
|| BonusConstants.POINT_36.equals(node)) {
|
|| BonusConstants.POINT_36.equals(node)) {
|
||||||
targetRetailDetail.setPointMember22(newRetailDetail.getPkMember());
|
this.fillRetailDetail(targetRetailDetail, BonusConstants.POINT_22, newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
targetRetailDetail.setPoint22(newRetailDetail.getChildNode());
|
|
||||||
} else if (BonusConstants.POINT_33.equals(node)
|
} else if (BonusConstants.POINT_33.equals(node)
|
||||||
|| BonusConstants.POINT_37.equals(node)) {
|
|| BonusConstants.POINT_37.equals(node)) {
|
||||||
targetRetailDetail.setPointMember23(newRetailDetail.getPkMember());
|
this.fillRetailDetail(targetRetailDetail, BonusConstants.POINT_23, newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
targetRetailDetail.setPoint23(newRetailDetail.getChildNode());
|
|
||||||
} else if (BonusConstants.POINT_34.equals(node)
|
} else if (BonusConstants.POINT_34.equals(node)
|
||||||
|| BonusConstants.POINT_38.equals(node)) {
|
|| BonusConstants.POINT_38.equals(node)) {
|
||||||
targetRetailDetail.setPointMember24(newRetailDetail.getPkMember());
|
this.fillRetailDetail(targetRetailDetail, BonusConstants.POINT_24, newRetailDetail.getPkMember(), newRetailDetail.getChildNode());
|
||||||
targetRetailDetail.setPoint24(newRetailDetail.getChildNode());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 填充点位
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void fillRetailDetail(CuMemberRetailDetail targetRetailDetail, String point,
|
||||||
|
Long pkMember, Integer childNode) {
|
||||||
|
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + point, pkMember);
|
||||||
|
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.POINT_FIELD_NAME + point, childNode);
|
||||||
|
ReflectUtil.setFieldValue(targetRetailDetail, BonusConstants.UPDATE_FLAG, 0);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handlePointFirst(Map<Long, CuMemberRetailRangeExt> memberRangeExtMap,
|
public void handlePointFirst(Map<Long, CuMemberRetailRangeExt> memberRangeExtMap,
|
||||||
CuMemberRetailDetail newRetailDetail, CuMemberRetailDetail newParentRetailDetail,
|
CuMemberRetailDetail newRetailDetail, CuMemberRetailDetail newParentRetailDetail,
|
||||||
|
@ -292,24 +267,27 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新点位的上第二层
|
// 新点位的上第二层
|
||||||
newRetailDetail.setPointMemberSecond(newParentRetailDetail.getPointMemberFirst());
|
|
||||||
newRetailDetail.setPointSecond(newParentRetailDetail.getPointFirst());
|
|
||||||
CuMemberRetailRangeExt firstMemberRetail = memberRangeExtMap.get(newParentRetailDetail.getPointMemberFirst());
|
CuMemberRetailRangeExt firstMemberRetail = memberRangeExtMap.get(newParentRetailDetail.getPointMemberFirst());
|
||||||
if (null != firstMemberRetail) {
|
if (null != firstMemberRetail) {
|
||||||
CuMemberRetailDetail memberDetail = firstMemberRetail.getOneDetailMap().get(newParentRetailDetail.getPointFirst());
|
CuMemberRetailDetail memberDetail = firstMemberRetail.getOneDetailMap().get(newParentRetailDetail.getPointFirst());
|
||||||
|
if (null != memberDetail) {
|
||||||
|
newRetailDetail.setPointMemberSecond(newParentRetailDetail.getPointMemberFirst());
|
||||||
|
newRetailDetail.setPointSecond(newParentRetailDetail.getPointFirst());
|
||||||
this.fillUpTargetRetailDetail(memberDetail, newParentRetailDetail, newRetailDetail, newNode);
|
this.fillUpTargetRetailDetail(memberDetail, newParentRetailDetail, newRetailDetail, newNode);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 新点位的上第三层
|
// 新点位的上第三层
|
||||||
newRetailDetail.setPointMemberThird(newParentRetailDetail.getPointMemberSecond());
|
|
||||||
newRetailDetail.setPointThird(newParentRetailDetail.getPointSecond());
|
|
||||||
CuMemberRetailRangeExt secondMemberRetail = memberRangeExtMap.get(newParentRetailDetail.getPointMemberSecond());
|
CuMemberRetailRangeExt secondMemberRetail = memberRangeExtMap.get(newParentRetailDetail.getPointMemberSecond());
|
||||||
if (null != secondMemberRetail) {
|
if (null != secondMemberRetail) {
|
||||||
CuMemberRetailDetail memberDetail = secondMemberRetail.getOneDetailMap().get(newParentRetailDetail.getPointSecond());
|
CuMemberRetailDetail memberDetail = secondMemberRetail.getOneDetailMap().get(newParentRetailDetail.getPointSecond());
|
||||||
|
if (null != memberDetail) {
|
||||||
|
newRetailDetail.setPointMemberThird(newParentRetailDetail.getPointMemberSecond());
|
||||||
|
newRetailDetail.setPointThird(newParentRetailDetail.getPointSecond());
|
||||||
this.fillUpTargetRetailDetail(memberDetail, newParentRetailDetail, newRetailDetail, newNode);
|
this.fillUpTargetRetailDetail(memberDetail, newParentRetailDetail, newRetailDetail, newNode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handlePointSecond(Map<Long, CuMemberRetailRangeExt> memberRangeExtMap,
|
public void handlePointSecond(Map<Long, CuMemberRetailRangeExt> memberRangeExtMap,
|
||||||
|
@ -322,7 +300,7 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
||||||
List<Long> queryMemberList = new ArrayList<>(2);
|
List<Long> queryMemberList = new ArrayList<>(2);
|
||||||
// 获取上第三层结算数据
|
// 获取上第三层结算数据
|
||||||
CuMemberRetailRangeExt memberUpFirst = memberRangeExtMap.get(newParentRetailDetail.getPointMemberFirst());
|
CuMemberRetailRangeExt memberUpFirst = memberRangeExtMap.get(newParentRetailDetail.getPointMemberFirst());
|
||||||
if (null == memberUpFirst) {
|
if (null == memberUpFirst && null != newParentRetailDetail.getPointMemberFirst()) {
|
||||||
queryMemberList.add(newParentRetailDetail.getPointMemberFirst());
|
queryMemberList.add(newParentRetailDetail.getPointMemberFirst());
|
||||||
}
|
}
|
||||||
// 获取上第一层结算数据
|
// 获取上第一层结算数据
|
||||||
|
@ -341,7 +319,7 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
CuMemberRetailRangeExt memberDownFirst = memberRangeExtMap.get(downFirstMember);
|
CuMemberRetailRangeExt memberDownFirst = memberRangeExtMap.get(downFirstMember);
|
||||||
if (null == memberDownFirst) {
|
if (null == memberDownFirst && null != downFirstMember) {
|
||||||
queryMemberList.add(downFirstMember);
|
queryMemberList.add(downFirstMember);
|
||||||
}
|
}
|
||||||
if (CollectionUtil.isNotEmpty(queryMemberList)) {
|
if (CollectionUtil.isNotEmpty(queryMemberList)) {
|
||||||
|
@ -357,13 +335,15 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新点位的上第三层
|
// 新点位的上第三层
|
||||||
newRetailDetail.setPointMemberThird(newParentRetailDetail.getPointMemberFirst());
|
|
||||||
newRetailDetail.setPointThird(newParentRetailDetail.getPointFirst());
|
|
||||||
CuMemberRetailRangeExt thirdMemberRetail = memberRangeExtMap.get(newParentRetailDetail.getPointMemberFirst());
|
CuMemberRetailRangeExt thirdMemberRetail = memberRangeExtMap.get(newParentRetailDetail.getPointMemberFirst());
|
||||||
if (null != thirdMemberRetail) {
|
if (null != thirdMemberRetail) {
|
||||||
CuMemberRetailDetail memberDetail = thirdMemberRetail.getOneDetailMap().get(newParentRetailDetail.getPointFirst());
|
CuMemberRetailDetail memberDetail = thirdMemberRetail.getOneDetailMap().get(newParentRetailDetail.getPointFirst());
|
||||||
|
if (null != memberDetail) {
|
||||||
|
newRetailDetail.setPointMemberThird(newParentRetailDetail.getPointMemberFirst());
|
||||||
|
newRetailDetail.setPointThird(newParentRetailDetail.getPointFirst());
|
||||||
this.fillUpTargetRetailDetail(memberDetail, newParentRetailDetail, newRetailDetail, newNode);
|
this.fillUpTargetRetailDetail(memberDetail, newParentRetailDetail, newRetailDetail, newNode);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 新点位的上第一层
|
// 新点位的上第一层
|
||||||
CuMemberRetailRangeExt firstMemberRetail = memberRangeExtMap.get(downFirstMember);
|
CuMemberRetailRangeExt firstMemberRetail = memberRangeExtMap.get(downFirstMember);
|
||||||
|
@ -425,11 +405,11 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
CuMemberRetailRangeExt memberDownSecond = memberRangeExtMap.get(downSecondMember);
|
CuMemberRetailRangeExt memberDownSecond = memberRangeExtMap.get(downSecondMember);
|
||||||
if (null == memberDownSecond) {
|
if (null == memberDownSecond && null != downSecondMember) {
|
||||||
queryMemberList.add(downSecondMember);
|
queryMemberList.add(downSecondMember);
|
||||||
}
|
}
|
||||||
CuMemberRetailRangeExt memberDownFirst = memberRangeExtMap.get(downFirstMember);
|
CuMemberRetailRangeExt memberDownFirst = memberRangeExtMap.get(downFirstMember);
|
||||||
if (null == memberDownFirst) {
|
if (null == memberDownFirst && null != downFirstMember) {
|
||||||
queryMemberList.add(downFirstMember);
|
queryMemberList.add(downFirstMember);
|
||||||
}
|
}
|
||||||
if (CollectionUtil.isNotEmpty(queryMemberList)) {
|
if (CollectionUtil.isNotEmpty(queryMemberList)) {
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
package com.hzs.bonus.constant;
|
package com.hzs.bonus.constant;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.ReflectUtil;
|
||||||
|
import com.hzs.common.domain.member.achieve.CuMemberRetailDetail;
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
@ -25,9 +29,21 @@ public class BonusConstants {
|
||||||
public static final List<String> FIELD_LIST = Arrays.asList(POINT_11, POINT_12, POINT_21, POINT_22, POINT_23, POINT_24,
|
public static final List<String> FIELD_LIST = Arrays.asList(POINT_11, POINT_12, POINT_21, POINT_22, POINT_23, POINT_24,
|
||||||
POINT_31, POINT_32, POINT_33, POINT_34, POINT_35, POINT_36, POINT_37, POINT_38);
|
POINT_31, POINT_32, POINT_33, POINT_34, POINT_35, POINT_36, POINT_37, POINT_38);
|
||||||
|
|
||||||
public static final String POINT_FIELD_NAME = "point";
|
// 会员ID字段
|
||||||
public static final String POINT_MEMBER_FIELD_NAME = "pointMember";
|
public static final String POINT_MEMBER_FIELD_NAME = "pointMember";
|
||||||
|
// 会员子点位字段
|
||||||
|
public static final String POINT_FIELD_NAME = "point";
|
||||||
|
// 入库标记字段
|
||||||
|
public static final String UPDATE_FLAG = "updateBool";
|
||||||
|
|
||||||
public static Map<String, Field> FIELD_MAP = null;
|
public static Map<String, Field> FIELD_MAP = null;
|
||||||
|
|
||||||
|
static {
|
||||||
|
BonusConstants.FIELD_MAP = new HashMap<>();
|
||||||
|
for (String suffix : BonusConstants.FIELD_LIST) {
|
||||||
|
BonusConstants.FIELD_MAP.put(BonusConstants.POINT_MEMBER_FIELD_NAME + suffix, ReflectUtil.getField(CuMemberRetailDetail.class, BonusConstants.POINT_MEMBER_FIELD_NAME + suffix));
|
||||||
|
BonusConstants.FIELD_MAP.put(BonusConstants.POINT_FIELD_NAME + suffix, ReflectUtil.getField(CuMemberRetailDetail.class, BonusConstants.POINT_FIELD_NAME + suffix));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -299,32 +299,32 @@
|
||||||
stage_status NUMBER(1) default 1 not null,
|
stage_status NUMBER(1) default 1 not null,
|
||||||
stage_date DATE,
|
stage_date DATE,
|
||||||
point_11 NUMBER(8),
|
point_11 NUMBER(8),
|
||||||
point_12 NUMBER(8),
|
|
||||||
point_21 NUMBER(8),
|
|
||||||
point_22 NUMBER(8),
|
|
||||||
point_23 NUMBER(8),
|
|
||||||
point_24 NUMBER(8),
|
|
||||||
point_31 NUMBER(8),
|
|
||||||
point_32 NUMBER(8),
|
|
||||||
point_33 NUMBER(8),
|
|
||||||
point_34 NUMBER(8),
|
|
||||||
point_35 NUMBER(8),
|
|
||||||
point_36 NUMBER(8),
|
|
||||||
point_37 NUMBER(8),
|
|
||||||
point_38 NUMBER(8),
|
|
||||||
point_member_11 NUMBER(20),
|
point_member_11 NUMBER(20),
|
||||||
|
point_12 NUMBER(8),
|
||||||
point_member_12 NUMBER(20),
|
point_member_12 NUMBER(20),
|
||||||
|
point_21 NUMBER(8),
|
||||||
point_member_21 NUMBER(20),
|
point_member_21 NUMBER(20),
|
||||||
|
point_22 NUMBER(8),
|
||||||
point_member_22 NUMBER(20),
|
point_member_22 NUMBER(20),
|
||||||
|
point_23 NUMBER(8),
|
||||||
point_member_23 NUMBER(20),
|
point_member_23 NUMBER(20),
|
||||||
|
point_24 NUMBER(8),
|
||||||
point_member_24 NUMBER(20),
|
point_member_24 NUMBER(20),
|
||||||
|
point_31 NUMBER(8),
|
||||||
point_member_31 NUMBER(20),
|
point_member_31 NUMBER(20),
|
||||||
|
point_32 NUMBER(8),
|
||||||
point_member_32 NUMBER(20),
|
point_member_32 NUMBER(20),
|
||||||
|
point_33 NUMBER(8),
|
||||||
point_member_33 NUMBER(20),
|
point_member_33 NUMBER(20),
|
||||||
|
point_34 NUMBER(8),
|
||||||
point_member_34 NUMBER(20),
|
point_member_34 NUMBER(20),
|
||||||
|
point_35 NUMBER(8),
|
||||||
point_member_35 NUMBER(20),
|
point_member_35 NUMBER(20),
|
||||||
|
point_36 NUMBER(8),
|
||||||
point_member_36 NUMBER(20),
|
point_member_36 NUMBER(20),
|
||||||
|
point_37 NUMBER(8),
|
||||||
point_member_37 NUMBER(20),
|
point_member_37 NUMBER(20),
|
||||||
|
point_38 NUMBER(8),
|
||||||
point_member_38 NUMBER(20),
|
point_member_38 NUMBER(20),
|
||||||
point_type NUMBER(1) default 0 not null,
|
point_type NUMBER(1) default 0 not null,
|
||||||
point_gift NUMBER(1) default 0 not null,
|
point_gift NUMBER(1) default 0 not null,
|
||||||
|
|
|
@ -90,7 +90,7 @@
|
||||||
</if>
|
</if>
|
||||||
and so.pay_time >= #{startDate}
|
and so.pay_time >= #{startDate}
|
||||||
and so.pay_time < #{endDate}
|
and so.pay_time < #{endDate}
|
||||||
order by pay_time desc
|
order by pay_time
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -10,12 +10,7 @@ import lombok.EqualsAndHashCode;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
|
||||||
* 统计活跃会员
|
* 统计活跃会员
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author zhangjing
|
|
||||||
* @since 2023-05-17
|
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
|
|
@ -1,59 +0,0 @@
|
||||||
package com.hzs.common.domain.member.achieve;
|
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
||||||
import java.util.Date;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
|
||||||
import com.hzs.common.core.web.domain.BaseEntity;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.EqualsAndHashCode;
|
|
||||||
import lombok.experimental.Accessors;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* 极差月新增业绩
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
* @since 2024-10-28
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
|
||||||
@Accessors(chain = true)
|
|
||||||
@TableName("CU_MEMBER_RANGE_MONTH")
|
|
||||||
public class CuMemberRangeMonth extends BaseEntity {
|
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 会员ID
|
|
||||||
*/
|
|
||||||
@TableField("PK_MEMBER")
|
|
||||||
private Long pkMember;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 期数
|
|
||||||
*/
|
|
||||||
@TableField("PERIOD")
|
|
||||||
private Integer period;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 结算日期
|
|
||||||
*/
|
|
||||||
@TableField("SETTLE_DATE")
|
|
||||||
private Date settleDate;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 个人新增PV
|
|
||||||
*/
|
|
||||||
@TableField("NEW_PV")
|
|
||||||
private BigDecimal newPv;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 团队新增PV
|
|
||||||
*/
|
|
||||||
@TableField("NEW_TEAM_PV")
|
|
||||||
private BigDecimal newTeamPv;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -280,5 +280,10 @@ public class CuMemberRetailDetail {
|
||||||
@TableField("POINT_MEMBER_THIRD")
|
@TableField("POINT_MEMBER_THIRD")
|
||||||
private Long pointMemberThird;
|
private Long pointMemberThird;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新标记(不为null则需要入库)
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private Integer updateBool;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue