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