## 阶段收益入库操作;封装阶段收益使用备注等;

This commit is contained in:
cabbage 2025-09-21 10:47:40 +08:00
parent 656f6278eb
commit e3fae413a6
11 changed files with 203 additions and 67 deletions

View File

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

View File

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

View File

@ -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);
}
/**
* 获得 直推级差收益的备注
*

View File

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

View File

@ -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();

View File

@ -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) {

View File

@ -18,10 +18,15 @@ public class BonusRecordDetailVO implements Serializable {
private Long pkMember;
/**
*
* 直推收益见点收益
*/
private List<CuMemberBonusPush> cuMemberBonusPushList;
/**
* 阶段收益
*/
private List<CuMemberBonusStage> cuMemberBonusStageList;
/**
* 新零售 - 区域分红月度分红
*/

View File

@ -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 &lt;= 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>

View File

@ -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阶段。";
/**
* 直推级差收益说明
*/

View File

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

View File

@ -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;
/**
* 三个阶段123
*/