## 复购辅导收益;奖金明细、奖金汇总添加新字段;
This commit is contained in:
parent
fd310590bf
commit
bb6eb8bf5f
|
@ -355,12 +355,10 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
|
|||
*
|
||||
* @param settleTableName 结算表
|
||||
* @param period
|
||||
* @param yesterdayPeriod
|
||||
* @param firPurchaseOrderList 首单列表
|
||||
*/
|
||||
List<CuMemberSettleExt> batchQueryCuMemberSettlePlaceParent(@Param("settleTableName") String settleTableName,
|
||||
@Param("period") Integer period,
|
||||
@Param("yesterdayPeriod") Integer yesterdayPeriod,
|
||||
@Param("firPurchaseOrderList") List<?> firPurchaseOrderList);
|
||||
|
||||
/**
|
||||
|
|
|
@ -284,7 +284,7 @@ public interface ICuMemberTreeService extends IService<CuMemberTree> {
|
|||
* @param period
|
||||
* @param firPurchaseOrderList 首单列表
|
||||
*/
|
||||
Map<Long, List<CuMemberSettleExt>> batchQueryCuMemberSettlePlaceParent(String settleTableName, Integer period, Integer yesterdayPeriod, List<SaOrderExt> firPurchaseOrderList);
|
||||
Map<Long, List<CuMemberSettleExt>> batchQueryCuMemberSettlePlaceParent(String settleTableName, Integer period, List<SaOrderExt> firPurchaseOrderList);
|
||||
|
||||
/**
|
||||
* 批量根据量奖信息查询会员结算表中的父级血缘数据
|
||||
|
|
|
@ -382,12 +382,12 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
|
|||
}
|
||||
|
||||
@Override
|
||||
public Map<Long, List<CuMemberSettleExt>> batchQueryCuMemberSettlePlaceParent(String settleTableName, Integer period, Integer yesterdayPeriod, List<SaOrderExt> firPurchaseOrderList) {
|
||||
public Map<Long, List<CuMemberSettleExt>> batchQueryCuMemberSettlePlaceParent(String settleTableName, Integer period, List<SaOrderExt> firPurchaseOrderList) {
|
||||
// 查询出所有父级安置人
|
||||
List<CuMemberSettleExt> cuMemberSettleExtList = new ArrayList<>();
|
||||
List<List<?>> listList = cuMemberBonusSettle.handleCutList(firPurchaseOrderList, MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM);
|
||||
listList.forEach(list ->
|
||||
cuMemberSettleExtList.addAll(baseMapper.batchQueryCuMemberSettlePlaceParent(settleTableName, period, yesterdayPeriod, list)));
|
||||
cuMemberSettleExtList.addAll(baseMapper.batchQueryCuMemberSettlePlaceParent(settleTableName, period, list)));
|
||||
// key:订单ID,value:订单向上找安置人列表
|
||||
Map<Long, List<CuMemberSettleExt>> memberSettleMap = new HashMap<>(ComputeUtil.mapInitCapacity(firPurchaseOrderList.size()));
|
||||
cuMemberSettleExtList.forEach(cuMemberSettleExt -> {
|
||||
|
|
|
@ -38,12 +38,8 @@ import java.util.List;
|
|||
@Slf4j
|
||||
public class ApiCuMemberBonusController extends BaseController {
|
||||
|
||||
private ICuMemberBonusService cuMemberBonusService;
|
||||
|
||||
@Autowired
|
||||
public void setCuMemberBonusService(ICuMemberBonusService cuMemberBonusService) {
|
||||
this.cuMemberBonusService = cuMemberBonusService;
|
||||
}
|
||||
private ICuMemberBonusService cuMemberBonusService;
|
||||
|
||||
// /**
|
||||
// * 查询会员某个时间段内的奖金,默认查询15天内,查询直推
|
||||
|
@ -115,7 +111,8 @@ public class ApiCuMemberBonusController extends BaseController {
|
|||
memberBonusFirstPurchaseVO.setServiceSpend(cuMemberBonus.getServiceSpend());
|
||||
|
||||
// 拓展收益 = 首购拓展 + 复购拓展 + 复购推荐
|
||||
memberBonusFirstPurchaseVO.setExpandIncome(ComputeUtil.computeAddNum(memberBonusFirstPurchaseVO.getExpandIncome(), memberBonusFirstPurchaseVO.getRepurExpandIncome(), memberBonusFirstPurchaseVO.getRepurPushIncome()));
|
||||
memberBonusFirstPurchaseVO.setExpandIncome(ComputeUtil.computeAddNum(memberBonusFirstPurchaseVO.getExpandIncome(),
|
||||
memberBonusFirstPurchaseVO.getRepurExpandIncome(), memberBonusFirstPurchaseVO.getRepurPushIncome()));
|
||||
// 首购实发小计 = 首购实发小计 + 复购实发小计
|
||||
memberBonusFirstPurchaseVO.setPurRealSubtotal(ComputeUtil.computeAdd(memberBonusFirstPurchaseVO.getPurRealSubtotal(), memberBonusFirstPurchaseVO.getRepurRealSubtotal()));
|
||||
|
||||
|
@ -178,7 +175,8 @@ public class ApiCuMemberBonusController extends BaseController {
|
|||
memberBonusVO.setSettleDate(DateUtils.currentDate());
|
||||
BigDecimal serviceSpend = ComputeUtil.computeSubtract(ComputeUtil.computeAddNum(cuMemberBonus.getDirectIncome(), cuMemberBonus.getExpandIncome(),
|
||||
cuMemberBonus.getCoachIncome(), cuMemberBonus.getServiceIncome(), cuMemberBonus.getShareIncome(),
|
||||
cuMemberBonus.getRepurExpandIncome(), cuMemberBonus.getRepurRangeIncome(), cuMemberBonus.getRepurPushIncome()),
|
||||
cuMemberBonus.getRepurExpandIncome(), cuMemberBonus.getRepurCoachIncome(), cuMemberBonus.getRepurRangeIncome(),
|
||||
cuMemberBonus.getRepurPushIncome()),
|
||||
ComputeUtil.computeAdd(cuMemberBonus.getPurRealSubtotal(), cuMemberBonus.getRepurRealSubtotal()));
|
||||
memberBonusVO.setBackPoints(ComputeUtil.computeMultiplyHalf(serviceSpend));
|
||||
memberBonusVO.setServiceSpend(ComputeUtil.computeMultiplyHalf(serviceSpend));
|
||||
|
|
|
@ -49,25 +49,15 @@ import java.util.stream.Collectors;
|
|||
@RequestMapping("/manage/bonus")
|
||||
public class CuMemberBonusController extends BaseController {
|
||||
|
||||
private ICuMemberBonusService cuMemberBonusService;
|
||||
|
||||
private ITransactionCommonService transactionCommonService;
|
||||
@Autowired
|
||||
private ICuMemberBonusService iCuMemberBonusService;
|
||||
@Autowired
|
||||
private ITransactionCommonService iTransactionCommonService;
|
||||
|
||||
@DubboReference
|
||||
private IUserServiceApi userServiceApi;
|
||||
|
||||
IUserServiceApi userServiceApi;
|
||||
@DubboReference
|
||||
private IMenuColumnServiceApi menuColumnServiceApi;
|
||||
|
||||
@Autowired
|
||||
public void setTransactionCommonService(ITransactionCommonService transactionCommonService) {
|
||||
this.transactionCommonService = transactionCommonService;
|
||||
}
|
||||
|
||||
@Autowired
|
||||
public void setCuMemberBonusService(ICuMemberBonusService cuMemberBonusService) {
|
||||
this.cuMemberBonusService = cuMemberBonusService;
|
||||
}
|
||||
IMenuColumnServiceApi menuColumnServiceApi;
|
||||
|
||||
/**
|
||||
* 分页查询会员某个时间段内的奖金汇总
|
||||
|
@ -87,7 +77,7 @@ public class CuMemberBonusController extends BaseController {
|
|||
bonusParam.setPkCountry(SecurityUtils.getPkCountry());
|
||||
packageBonusParam(bonusParam);
|
||||
startPage();
|
||||
List<CuMemberBonusExt> cuMemberBonusList = cuMemberBonusService.queryBonusTotalVoByConditionForServer(bonusParam);
|
||||
List<CuMemberBonusExt> cuMemberBonusList = iCuMemberBonusService.queryBonusTotalVoByConditionForServer(bonusParam);
|
||||
TableDataInfo dataTable = getDataTable(cuMemberBonusList);
|
||||
dataTable.setRows(getBonusTotalVoS(cuMemberBonusList));
|
||||
return dataTable;
|
||||
|
@ -108,7 +98,7 @@ public class CuMemberBonusController extends BaseController {
|
|||
bonusParam.setPkVertexList(pkVertex);
|
||||
bonusParam.setPkCountry(SecurityUtils.getPkCountry());
|
||||
packageBonusParam(bonusParam);
|
||||
List<CuMemberBonusExt> cuMemberBonusList = cuMemberBonusService.queryBonusTotalVoByConditionForServer(bonusParam);
|
||||
List<CuMemberBonusExt> cuMemberBonusList = iCuMemberBonusService.queryBonusTotalVoByConditionForServer(bonusParam);
|
||||
List<BonusTotalVO> bonusTotalVoList = getBonusTotalVoS(cuMemberBonusList);
|
||||
Map<String, Integer> sourceBonusList = menuColumnServiceApi.queryMenuColumn("totalBonus", SecurityUtils.getUserId()).getData();
|
||||
ExcelUtil<BonusTotalVO> util = new ExcelUtil<>(BonusTotalVO.class, sourceBonusList);
|
||||
|
@ -150,8 +140,8 @@ public class CuMemberBonusController extends BaseController {
|
|||
}
|
||||
packageBonusParam(bonusParam);
|
||||
startPage();
|
||||
List<CuMemberBonusExt> cuMemberBonusExtList = cuMemberBonusService.queryMemberBonusVoByConditionForServer(bonusParam);
|
||||
CuMemberBonusExt cmb =cuMemberBonusService.queryMemberBonusByConditionForServerSum(bonusParam);
|
||||
List<CuMemberBonusExt> cuMemberBonusExtList = iCuMemberBonusService.queryMemberBonusVoByConditionForServer(bonusParam);
|
||||
CuMemberBonusExt cmb = iCuMemberBonusService.queryMemberBonusByConditionForServerSum(bonusParam);
|
||||
if (cmb != null) {
|
||||
cmb.setMemberCode("合计");
|
||||
cuMemberBonusExtList.add(cmb);
|
||||
|
@ -177,13 +167,13 @@ public class CuMemberBonusController extends BaseController {
|
|||
bonusParam.setPkVertexList(pkVertex);
|
||||
bonusParam.setPkCountry(SecurityUtils.getPkCountry());
|
||||
packageBonusParam(bonusParam);
|
||||
List<CuMemberBonusExt> cuMemberBonusExtList = cuMemberBonusService.queryMemberBonusVoByConditionForServer(bonusParam);
|
||||
CuMemberBonusExt cuMemberBonusExt = cuMemberBonusService.initCuMemberBonus();
|
||||
List<CuMemberBonusExt> cuMemberBonusExtList = iCuMemberBonusService.queryMemberBonusVoByConditionForServer(bonusParam);
|
||||
CuMemberBonusExt cuMemberBonusExt = iCuMemberBonusService.initCuMemberBonus();
|
||||
cuMemberBonusExt.setMemberCode("小计:");
|
||||
if (CollectionUtil.isNotEmpty(cuMemberBonusExtList)) {
|
||||
cuMemberBonusExt.setOutExchangeRate(cuMemberBonusExtList.get(0).getOutExchangeRate());
|
||||
for (CuMemberBonusExt memberBonusExt : cuMemberBonusExtList) {
|
||||
cuMemberBonusService.calculateBonusTotal(cuMemberBonusExt, memberBonusExt);
|
||||
iCuMemberBonusService.calculateBonusTotal(cuMemberBonusExt, memberBonusExt);
|
||||
}
|
||||
}
|
||||
cuMemberBonusExtList.add(cuMemberBonusExt);
|
||||
|
@ -219,7 +209,7 @@ public class CuMemberBonusController extends BaseController {
|
|||
bonusParam.setPkCountry(SecurityUtils.getPkCountry());
|
||||
packageBonusParam(bonusParam);
|
||||
startPage();
|
||||
return cuMemberBonusService.queryMemberBonusDetailSerVoByCondition(bonusParam);
|
||||
return iCuMemberBonusService.queryMemberBonusDetailSerVoByCondition(bonusParam);
|
||||
}
|
||||
|
||||
|
||||
|
@ -231,11 +221,11 @@ public class CuMemberBonusController extends BaseController {
|
|||
public void exportBonusSource(HttpServletResponse response, BonusParam bonusParam) {
|
||||
bonusParam.setPkCountry(SecurityUtils.getPkCountry());
|
||||
packageBonusParam(bonusParam);
|
||||
TableDataInfo tableDataInfo = cuMemberBonusService.queryMemberBonusDetailSerVoByCondition(bonusParam);
|
||||
TableDataInfo tableDataInfo = iCuMemberBonusService.queryMemberBonusDetailSerVoByCondition(bonusParam);
|
||||
List<MemberBonusDetailSerVO> memberBonusDetailSerVOList = (List<MemberBonusDetailSerVO>) tableDataInfo.getRows();
|
||||
// 获取需要翻译的枚举翻译
|
||||
Map<String, String> transactionMap = transactionCommonService.exportEnumTransaction(EOrderType.values(), EBonusIncomeStatus.values());
|
||||
Map<Integer, String> transactionLongMap = transactionCommonService.exportEnumTransactionByDB(EnumsPrefixConstants.KEY_GRADE, EnumsPrefixConstants.KEY_AWARD);
|
||||
Map<String, String> transactionMap = iTransactionCommonService.exportEnumTransaction(EOrderType.values(), EBonusIncomeStatus.values());
|
||||
Map<Integer, String> transactionLongMap = iTransactionCommonService.exportEnumTransactionByDB(EnumsPrefixConstants.KEY_GRADE, EnumsPrefixConstants.KEY_AWARD);
|
||||
for (MemberBonusDetailSerVO memberBonusDetailSerVO : memberBonusDetailSerVOList) {
|
||||
if (transactionMap.containsKey(EnumsPrefixConstants.ORDER_TYPE + memberBonusDetailSerVO.getOrderType().toString())) {
|
||||
memberBonusDetailSerVO.setOrderTypeVal(transactionMap.get(EnumsPrefixConstants.ORDER_TYPE + memberBonusDetailSerVO.getOrderType()));
|
||||
|
|
|
@ -9,9 +9,7 @@ import org.apache.ibatis.annotations.Param;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-辅导收益明细表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-11-15
|
||||
|
@ -20,37 +18,29 @@ public interface CuMemberBonusCoachMapper extends BaseMapper<CuMemberBonusCoach>
|
|||
|
||||
/**
|
||||
* 删除会员奖金汇总表
|
||||
*
|
||||
* @param period 结算期间
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2022/12/13 11:54
|
||||
*/
|
||||
void deleteCuMemberBonusCoach(Integer period);
|
||||
|
||||
/**
|
||||
* 批量插入会员奖金主表
|
||||
*
|
||||
* @param cuMemberBonusCoachList 会员奖金
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2022/12/13 13:56
|
||||
*/
|
||||
void batchInsertCuMemberBonusCoach(@Param("cuMemberBonusCoachList") List<?> cuMemberBonusCoachList);
|
||||
|
||||
/**
|
||||
* 根据查询条件查询固定的奖金明细
|
||||
*
|
||||
* @param bonusParam 查询条件
|
||||
* @return: List<CuMemberBonusDetail>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/14 11:18
|
||||
*/
|
||||
List<CuMemberBonusCoachExt> queryMemberBonusCoachByBonusItems(BonusParam bonusParam);
|
||||
|
||||
/**
|
||||
* 根据查询条件查询固定的奖金明细
|
||||
*
|
||||
* @param bonusParam 查询条件
|
||||
* @return: List<CuMemberBonusDetail>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/14 11:18
|
||||
*/
|
||||
List<CuMemberBonusCoachExt> queryMemberBonusCoachByBonusItemsForServer(@Param("bonusParam") BonusParam bonusParam);
|
||||
}
|
||||
|
|
|
@ -9,9 +9,7 @@ import org.apache.ibatis.annotations.Param;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-会员奖金汇总表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-11-11
|
||||
|
@ -22,9 +20,6 @@ public interface CuMemberBonusMapper extends BaseMapper<CuMemberBonus> {
|
|||
* 批量获取cuMemberBonus主键
|
||||
*
|
||||
* @param rowNum 数量
|
||||
* @return: List<Integer>
|
||||
* @Author: sui q
|
||||
* @Date: 2022/12/13 13:47
|
||||
*/
|
||||
List<Long> batchQueryCuMemberBonusSeq(Integer rowNum);
|
||||
|
||||
|
@ -32,9 +27,6 @@ public interface CuMemberBonusMapper extends BaseMapper<CuMemberBonus> {
|
|||
* 根据查询条件查询会员奖金
|
||||
*
|
||||
* @param bonusParam 查询条件
|
||||
* @return: List<MemberBonusVO>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/13 11:27
|
||||
*/
|
||||
List<CuMemberBonus> queryMemberBonusTotalByCondition(BonusParam bonusParam);
|
||||
|
||||
|
@ -42,9 +34,6 @@ public interface CuMemberBonusMapper extends BaseMapper<CuMemberBonus> {
|
|||
* 根据查询条件查询会员奖金
|
||||
*
|
||||
* @param bonusParam 查询条件
|
||||
* @return: List<MemberBonusVO>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/13 11:27
|
||||
*/
|
||||
List<CuMemberBonusExt> queryMemberBonusByCondition(BonusParam bonusParam);
|
||||
|
||||
|
@ -52,9 +41,6 @@ public interface CuMemberBonusMapper extends BaseMapper<CuMemberBonus> {
|
|||
* 根据查询条件查询会员奖金
|
||||
*
|
||||
* @param bonusParam 查询条件
|
||||
* @return: List<MemberBonusVO>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/13 11:27
|
||||
*/
|
||||
List<CuMemberBonusExt> queryMemberBonusByConditionForServer(@Param("bonusParam") BonusParam bonusParam);
|
||||
|
||||
|
@ -67,15 +53,10 @@ public interface CuMemberBonusMapper extends BaseMapper<CuMemberBonus> {
|
|||
**/
|
||||
CuMemberBonusExt queryMemberBonusByConditionForServerSum(@Param("bonusParam") BonusParam bonusParam);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 根据查询条件查询会员奖金
|
||||
*
|
||||
* @param bonusParam 查询条件
|
||||
* @return: List<MemberBonusVO>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/13 11:27
|
||||
*/
|
||||
List<CuMemberBonusExt> queryBonusTotalVoByConditionForServer(@Param("bonusParam") BonusParam bonusParam);
|
||||
|
||||
|
@ -83,9 +64,6 @@ public interface CuMemberBonusMapper extends BaseMapper<CuMemberBonus> {
|
|||
* 删除会员奖金汇总表
|
||||
*
|
||||
* @param period 结算期间
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2022/12/13 11:54
|
||||
*/
|
||||
void deleteCuMemberBonus(Integer period);
|
||||
|
||||
|
@ -93,9 +71,6 @@ public interface CuMemberBonusMapper extends BaseMapper<CuMemberBonus> {
|
|||
* 批量插入会员奖金主表
|
||||
*
|
||||
* @param cuMemberBonusList 会员奖金
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2022/12/13 13:56
|
||||
*/
|
||||
void batchInsertCuMemberBonus(@Param("cuMemberBonusList") List<?> cuMemberBonusList);
|
||||
|
||||
|
@ -103,9 +78,6 @@ public interface CuMemberBonusMapper extends BaseMapper<CuMemberBonus> {
|
|||
* 批量插入会员奖金主表
|
||||
*
|
||||
* @param cuMemberBonusList 会员奖金
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2022/12/13 13:56
|
||||
*/
|
||||
void insertOrUpdateCuMemberBonus(@Param("cuMemberBonusList") List<CuMemberBonus> cuMemberBonusList);
|
||||
|
||||
|
@ -114,19 +86,14 @@ public interface CuMemberBonusMapper extends BaseMapper<CuMemberBonus> {
|
|||
*
|
||||
* @param grantStatus 发放状态
|
||||
* @param oldGrantStatus 原来的发放状态
|
||||
* @return: Boolean
|
||||
* @Author: sui q
|
||||
* @Date: 2023/3/20 17:21
|
||||
*/
|
||||
Integer updateCuMemberBonusStatus(@Param("pkCountry") Integer pkCountry, @Param("grantStatus") Integer grantStatus,
|
||||
@Param("oldGrantStatus") Integer oldGrantStatus, @Param("startPeriod") Integer startPeriod,
|
||||
@Param("endPeriod") Integer endPeriod);
|
||||
|
||||
/*
|
||||
* @description: 查询会员一周周期的拓展累计,复购拓展累计
|
||||
* @author: sui q
|
||||
* @date: 2023/7/15 14:26
|
||||
* @param: null null
|
||||
* 查询会员一周周期的拓展累计,复购拓展累计
|
||||
**/
|
||||
List<CuMemberBonus> queryWeekMemberBonus(@Param("startPeriod") int startPeriod, @Param("endPeriod") int endPeriod);
|
||||
|
||||
}
|
||||
|
|
|
@ -21,4 +21,5 @@ public interface CuMemberRepeatBonusMapper extends BaseMapper<CuMemberRepeatBonu
|
|||
* @param: null null
|
||||
**/
|
||||
void insertCuMemberRepeatBonus(@Param("cuMemberRepeatBonusList") List<CuMemberRepeatBonus> cuMemberRepeatBonusList);
|
||||
|
||||
}
|
||||
|
|
|
@ -7,9 +7,7 @@ import java.util.List;
|
|||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-辅导收益明细表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-11-15
|
||||
|
@ -18,19 +16,15 @@ public interface ICuMemberBonusCoachService extends IService<CuMemberBonusCoach>
|
|||
|
||||
/**
|
||||
* 删除会员奖金汇总表
|
||||
*
|
||||
* @param period 结算期间
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2022/12/13 11:54
|
||||
*/
|
||||
void deleteCuMemberBonusCoach(Integer period);
|
||||
|
||||
/**
|
||||
* 批量插入会员奖金主表
|
||||
*
|
||||
* @param cuMemberBonusCoachList 会员奖金
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2022/12/13 13:56
|
||||
*/
|
||||
void batchInsertCuMemberBonusCoach(List<CuMemberBonusCoach> cuMemberBonusCoachList, Set<Long> memberIdSet);
|
||||
}
|
||||
|
|
|
@ -24,9 +24,6 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
|||
* 批量获取cuMemberBonus主键
|
||||
*
|
||||
* @param rowNum 数量
|
||||
* @return: List<Integer>
|
||||
* @Author: sui q
|
||||
* @Date: 2022/12/13 13:47
|
||||
*/
|
||||
List<Long> batchQueryCuMemberBonusSeq(Integer rowNum);
|
||||
|
||||
|
@ -34,9 +31,6 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
|||
* 根据查询条件查询会员奖金
|
||||
*
|
||||
* @param bonusParam 查询条件
|
||||
* @return: List<MemberBonusVO>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/13 11:27
|
||||
*/
|
||||
List<CuMemberBonusExt> queryMemberBonusVoByCondition(BonusParam bonusParam);
|
||||
|
||||
|
@ -44,9 +38,6 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
|||
* 根据查询条件查询会员秒接奖金
|
||||
*
|
||||
* @param bonusParam 查询条件
|
||||
* @return: List<MemberBonusVO>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/13 11:27
|
||||
*/
|
||||
List<CuMemberBonusExt> queryMemberSecondBonusVoByCondition(BonusParam bonusParam);
|
||||
|
||||
|
@ -54,9 +45,6 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
|||
* 根据查询条件查询会员奖金
|
||||
*
|
||||
* @param bonusParam 查询条件
|
||||
* @return: List<MemberBonusVO>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/13 11:27
|
||||
*/
|
||||
List<CuMemberBonusExt> queryMemberBonusTotalByCondition(BonusParam bonusParam);
|
||||
|
||||
|
@ -64,9 +52,6 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
|||
* 根据查询条件查询会员奖金
|
||||
*
|
||||
* @param bonusParam 查询条件
|
||||
* @return: List<MemberBonusVO>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/13 11:27
|
||||
*/
|
||||
List<CuMemberBonusExt> queryMemberBonusVoByConditionForServer(BonusParam bonusParam);
|
||||
|
||||
|
@ -83,9 +68,6 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
|||
* 根据条件查询查询每天奖金汇总
|
||||
*
|
||||
* @param bonusParam 查询条件
|
||||
* @return: List<BonusTotalVO>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/3/6 9:26
|
||||
*/
|
||||
List<CuMemberBonusExt> queryBonusTotalVoByConditionForServer(BonusParam bonusParam);
|
||||
|
||||
|
@ -93,17 +75,11 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
|||
* 根据查询条件查询会员明细奖金
|
||||
*
|
||||
* @param bonusParam 查询条件
|
||||
* @return: List<MemberBonusDetailVO>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/13 17:27
|
||||
*/
|
||||
TableDataInfo queryMemberBonusDetailVoByCondition(BonusParam bonusParam);
|
||||
|
||||
/*
|
||||
* @description: 查询创客空间奖金来源
|
||||
* @author: sui q
|
||||
* @date: 2024/7/12 10:36
|
||||
* @param: null null
|
||||
**/
|
||||
List<MemberBonusDetailVO> queryMemberMarkBonusDetailSource(BonusParam bonusParam);
|
||||
|
||||
|
@ -111,9 +87,6 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
|||
* 后台根据查询条件查询会员奖金明细
|
||||
*
|
||||
* @param bonusParam 查询条件
|
||||
* @return: List<MemberBonusDetailSerVO>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/23 14:41
|
||||
*/
|
||||
TableDataInfo queryMemberBonusDetailSerVoByCondition(BonusParam bonusParam);
|
||||
|
||||
|
@ -121,9 +94,6 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
|||
* 删除会员奖金汇总表
|
||||
*
|
||||
* @param period 结算期间
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2022/12/13 11:54
|
||||
*/
|
||||
void deleteCuMemberBonus(Integer period);
|
||||
|
||||
|
@ -131,9 +101,6 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
|||
* 批量插入会员奖金主表
|
||||
*
|
||||
* @param cuMemberBonusList 会员奖金
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2022/12/13 13:56
|
||||
*/
|
||||
void batchInsertCuMemberBonus(List<CuMemberBonus> cuMemberBonusList);
|
||||
|
||||
|
@ -141,17 +108,11 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
|||
* 批量插入会员奖金主表
|
||||
*
|
||||
* @param cuMemberBonusList 会员奖金
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2022/12/13 13:56
|
||||
*/
|
||||
void insertOrUpdateCuMemberBonus(List<CuMemberBonus> cuMemberBonusList);
|
||||
|
||||
/*
|
||||
* @description: 查询会员奖金
|
||||
* @author: sui q
|
||||
* @date: 2023/8/8 11:52
|
||||
* @param: null null
|
||||
**/
|
||||
List<CuMemberBonus> queryCuMemberBonus(int period, List<CuMemberBonus> cuMemberBonusList);
|
||||
|
||||
|
@ -161,9 +122,6 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
|||
* @param grantStatus 发放状态
|
||||
* @param oldGrantStatus 原来的发放状态
|
||||
* @param startPeriod 期间
|
||||
* @return: Boolean
|
||||
* @Author: sui q
|
||||
* @Date: 2023/3/20 17:21
|
||||
*/
|
||||
Boolean updateCuMemberBonusStatus(Integer pkCountry, Integer grantStatus, Integer oldGrantStatus, Integer startPeriod, Integer endPeriod);
|
||||
|
||||
|
@ -173,9 +131,6 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
|||
* @param grantStatus 发放状态
|
||||
* @param startPeriod 期间
|
||||
* @param endPeriod 期间
|
||||
* @return: List<CuMemberBonus>
|
||||
* @Author: sui q
|
||||
* @Date: 2023/3/21 9:44
|
||||
*/
|
||||
List<CuMemberBonus> queryCuMemberBonusByCondition(Integer pkCountry, Integer grantStatus, Integer startPeriod, Integer endPeriod);
|
||||
|
||||
|
|
|
@ -408,20 +408,19 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
|||
*
|
||||
* @param settleTableName 结算表
|
||||
* @param period 期间
|
||||
* @param yesterdayPeriod 昨日期间
|
||||
* @param bonusConfigDTO 参数
|
||||
* @param firPurchaseOrderList 首单
|
||||
* @param cuMemberBonusMap 所有计算出来的奖金汇总
|
||||
*/
|
||||
List<CuMemberBonusExpand> calculateExpandBonus(Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, String settleDate, String settleTableName, BonusConfigDTO bonusConfigDTO,
|
||||
Map<String, String> systemConfigMap, List<SaOrderExt> firPurchaseOrderList,
|
||||
Integer period, Integer yesterdayPeriod, Map<Long, CuMemberBonus> weekMemberBonusMap, Map<Long, CuMemberBonus> cuMemberBonusMap,
|
||||
Integer period, Map<Long, CuMemberBonus> weekMemberBonusMap, Map<Long, CuMemberBonus> cuMemberBonusMap,
|
||||
Map<Long, CuMemberRiskControl> riskControlMap, Map<Long, CuBonusExpandExt> cuBonusExpandExtMap) {
|
||||
// 根据开始期间、结束期间查询
|
||||
List<CuMemberBonusExpand> cuMemberBonusExpandList = new ArrayList<>();
|
||||
// 获取所有订单的上级,根据订单往上一步步计算
|
||||
// key:订单ID,value:订单向上找安置人列表
|
||||
Map<Long, List<CuMemberSettleExt>> memberSettleMap = iCuMemberTreeService.batchQueryCuMemberSettlePlaceParent(settleTableName, period, yesterdayPeriod, firPurchaseOrderList);
|
||||
Map<Long, List<CuMemberSettleExt>> memberSettleMap = iCuMemberTreeService.batchQueryCuMemberSettlePlaceParent(settleTableName, period, firPurchaseOrderList);
|
||||
|
||||
// 获取复购考核结果
|
||||
List<CuMemberSettleExt> queryMemberList = new ArrayList<>();
|
||||
|
@ -672,12 +671,12 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
|||
*/
|
||||
List<CuMemberBonusCoach> calculateCoachBonus(Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, String settleTableName, String settleDateStr, BonusConfigDTO bonusConfigDTO,
|
||||
List<SaOrderExt> firPurchaseOrderList, List<CuMemberBonusExpand> cuMemberBonusExpandList, Integer period, Map<Long, CuMemberBonus> cuMemberBonusMap,
|
||||
Map<Long, CuAwardsControl> cuAwardsControlMap, Map<Long, CuMemberRiskControl> riskControlMap, List<BdAwards> awardsList) {
|
||||
Map<Long, CuAwardsControl> cuAwardsControlMap, Map<Long, CuMemberRiskControl> riskControlMap, List<BdAwards> awardsList, boolean firstBool) {
|
||||
Map<Long, SaOrderExt> saOrderExtMap = new HashMap<>(ComputeUtil.mapInitCapacity(firPurchaseOrderList.size()));
|
||||
firPurchaseOrderList.forEach(saOrderExt ->
|
||||
saOrderExtMap.put(saOrderExt.getPkId(), saOrderExt));
|
||||
return calculateCoachBonusOne(cuMemberSettleExtMap, settleTableName, settleDateStr, bonusConfigDTO, cuMemberBonusExpandList, period,
|
||||
cuMemberBonusMap, saOrderExtMap, cuAwardsControlMap, riskControlMap, awardsList);
|
||||
cuMemberBonusMap, saOrderExtMap, cuAwardsControlMap, riskControlMap, awardsList, firstBool);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -686,7 +685,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
|||
List<CuMemberBonusCoach> calculateCoachBonusOne(Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, String settleTableName, String settleDateStr, BonusConfigDTO bonusConfigDTO,
|
||||
List<CuMemberBonusExpand> cuMemberBonusExpandList, Integer period, Map<Long, CuMemberBonus> cuMemberBonusMap,
|
||||
Map<Long, SaOrderExt> saOrderExtMap, Map<Long, CuAwardsControl> cuAwardsControlMap, Map<Long, CuMemberRiskControl> riskControlMap,
|
||||
List<BdAwards> awardsList) {
|
||||
List<BdAwards> awardsList, boolean firstBool) {
|
||||
// 领导奖数据列表
|
||||
List<CuMemberBonusCoach> cuMemberBonusCoachList = new ArrayList<>();
|
||||
|
||||
|
@ -718,7 +717,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
|||
// }
|
||||
List<CuMemberBonusCoach> coachBonusList = calculateBonusCoach(cuMemberSettleExtMap, bonusConfigDTO, period, cuMemberBonusMap,
|
||||
saOrderExtMap, cuMemberAssessMap, bonusIdSettleMap, cuMemberBonusExpand, cuAwardsControlMap,
|
||||
riskControlMap, cuMemberBonusNumMap, awardsList);
|
||||
riskControlMap, cuMemberBonusNumMap, awardsList, firstBool);
|
||||
if (coachBonusList.size() > 0) {
|
||||
cuMemberBonusCoachList.addAll(coachBonusList);
|
||||
}
|
||||
|
@ -733,7 +732,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
|||
private List<CuMemberBonusCoach> calculateBonusCoach(Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, BonusConfigDTO bonusConfigDTO, Integer period,
|
||||
Map<Long, CuMemberBonus> cuMemberBonusMap, Map<Long, SaOrderExt> saOrderExtMap, Map<Long, CuMemberAssess> cuMemberAssessMap,
|
||||
Map<Long, CuMemberSettleExt> bonusIdSettleMap, CuMemberBonusExpand cuMemberBonusExpand, Map<Long, CuAwardsControl> cuAwardsControlMap,
|
||||
Map<Long, CuMemberRiskControl> riskControlMap, Map<Long, CuMemberSettleExt> cuMemberBonusNumMap, List<BdAwards> awardsList) {
|
||||
Map<Long, CuMemberRiskControl> riskControlMap, Map<Long, CuMemberSettleExt> cuMemberBonusNumMap, List<BdAwards> awardsList, boolean firstBool) {
|
||||
// 目前这个会员只用来处理备注会员信息使用
|
||||
CuMemberSettleExt sourceMemberSettleExt = bonusIdSettleMap.get(cuMemberBonusExpand.getPkBonus());
|
||||
// 用于回写血缘总共多少代
|
||||
|
@ -761,13 +760,23 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
|||
// 会员状态不正常 或者 停算收益 直接跳过
|
||||
continue;
|
||||
}
|
||||
if (firstBool) {
|
||||
if (validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.COACHING_INCOME.getValue())) {
|
||||
// 校验当前国家是否有该奖项
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
if (validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.COACHING_INCOME.getValue())) {
|
||||
// 校验当前国家是否有该奖项
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
SaOrderExt saOrderExt = saOrderExtMap.get(cuMemberBonusExpand.getPkOrder());
|
||||
if (null == saOrderExt || !validateSecondOrderExistBonus(saOrderExt, EBonusItems.COACHING_INCOME.getValue())) {
|
||||
// 订单为空 或者 判断二次发货是否有辅导收益
|
||||
if (null == saOrderExt
|
||||
// || !validateSecondOrderExistBonus(saOrderExt, EBonusItems.COACHING_INCOME.getValue())
|
||||
) {
|
||||
// 订单为空 或者 判断二次发货是否有辅导收益 -- 原二次发货判断去掉
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -793,7 +802,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
|||
awardCalRadio = coachAward.getCoachRatio();
|
||||
}
|
||||
// 生成辅导收益明细
|
||||
CuMemberBonusCoach cuMemberBonusCoach = getCuMemberBonusCoach(bonusConfigDTO, cuMemberBonusExpand, i, targetMemberSettleExt, awardCalRadio);
|
||||
CuMemberBonusCoach cuMemberBonusCoach = getCuMemberBonusCoach(bonusConfigDTO, cuMemberBonusExpand, i, targetMemberSettleExt, awardCalRadio, firstBool);
|
||||
// TODO new 如果拓展收益是延缓发放,那么辅导收益也需要延缓发放
|
||||
if (EBonusIncomeStatus.DELAY_GRANT.getValue() == cuMemberBonusExpand.getIncomeStatus()) {
|
||||
cuMemberBonusCoach.setIncomeStatus(EBonusIncomeStatus.DELAY_GRANT.getValue());
|
||||
|
@ -823,11 +832,18 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
|||
|
||||
// 收益占比
|
||||
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusCoach, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate());
|
||||
coachRemark(saOrderExt, cuMemberBonusCoach, sourceMemberSettleExt, targetMemberSettleExt);
|
||||
coachRemark(saOrderExt, cuMemberBonusCoach, sourceMemberSettleExt, targetMemberSettleExt, firstBool);
|
||||
|
||||
if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusCoach.getIncomeStatus()) {
|
||||
if (firstBool) {
|
||||
// 首购处理
|
||||
cuMemberBonus.setCoachIncome(ComputeUtil.computeAdd(cuMemberBonus.getCoachIncome(), cuMemberBonusCoach.getPretaxIncome()));
|
||||
setFirstPurchaseTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusCoach);
|
||||
} else {
|
||||
// 复购处理
|
||||
cuMemberBonus.setRepurCoachIncome(ComputeUtil.computeAdd(cuMemberBonus.getRepurCoachIncome(), cuMemberBonusCoach.getPretaxIncome()));
|
||||
setPurchaseTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusCoach);
|
||||
}
|
||||
}
|
||||
backMemberBonusCoachList.add(cuMemberBonusCoach);
|
||||
|
||||
|
@ -867,13 +883,15 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
|||
}
|
||||
|
||||
private CuMemberBonusCoach getCuMemberBonusCoach(BonusConfigDTO bonusConfigDTO, CuMemberBonusExpand cuMemberBonusExpand,
|
||||
int i, CuMemberSettleExt targetMemberSettleExt, BigDecimal awardCalRadio) {
|
||||
int i, CuMemberSettleExt targetMemberSettleExt, BigDecimal awardCalRadio, boolean firstBool) {
|
||||
// 奖金项(首购、复购判断)
|
||||
Integer bonusItems = firstBool ? EBonusItems.COACHING_INCOME.getValue() : EBonusItems.REPURCHASE_COACHING_INCOME.getValue();
|
||||
CuMemberBonusCoach cuMemberBonusCoach = CuMemberBonusCoach.builder()
|
||||
.pkBonus(targetMemberSettleExt.getPkMember())
|
||||
.pkOrder(cuMemberBonusExpand.getPkOrder())
|
||||
.pkBonusItems(getPkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.COACHING_INCOME.getValue()))
|
||||
.calType(ECalType.RATIO.getValue())
|
||||
.pkBonusItems(getPkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), bonusItems))
|
||||
.incomeStatus(cuMemberBonusExpand.getIncomeStatus())
|
||||
.calType(ECalType.RATIO.getValue())
|
||||
.calAchieve(cuMemberBonusExpand.getPretaxIncome())
|
||||
.currentGeneration(i)
|
||||
// 计算比例
|
||||
|
|
|
@ -516,8 +516,9 @@ public abstract class BonusSettleHandle {
|
|||
* @Date: 2022/11/17 11:22
|
||||
*/
|
||||
protected void coachRemark(SaOrderExt saOrderExt, CuMemberBonusCoach cuMemberBonusCoach,
|
||||
CuMemberSettleExt sourceCuMemberSettleExt, CuMemberSettleExt targetCuMemberSettleExt) {
|
||||
String remark = String.format(BonusMsgConstants.COACH, cuMemberBonusCoach.getCurrentGeneration(), saOrderExt.getOrderCode(),
|
||||
CuMemberSettleExt sourceCuMemberSettleExt, CuMemberSettleExt targetCuMemberSettleExt, boolean firstBool) {
|
||||
String remark = String.format(firstBool ? BonusMsgConstants.COACH : BonusMsgConstants.REPURCHASE_COACH,
|
||||
cuMemberBonusCoach.getCurrentGeneration(), saOrderExt.getOrderCode(),
|
||||
sourceCuMemberSettleExt.getMemberCode() + sourceCuMemberSettleExt.getMemberName(),
|
||||
targetCuMemberSettleExt.getMemberCode() + targetCuMemberSettleExt.getMemberName(),
|
||||
cuMemberBonusCoach.getCalAchieve(), cuMemberBonusCoach.getCalValue());
|
||||
|
@ -837,6 +838,7 @@ public abstract class BonusSettleHandle {
|
|||
.repurPushIncome(BigDecimal.ZERO)
|
||||
.repurRangeIncome(BigDecimal.ZERO)
|
||||
.repurExpandIncome(BigDecimal.ZERO)
|
||||
.repurCoachIncome(BigDecimal.ZERO)
|
||||
.repurRealSubtotal(BigDecimal.ZERO)
|
||||
.cloudDirectIncome(BigDecimal.ZERO)
|
||||
.cloudPurIncome(BigDecimal.ZERO)
|
||||
|
@ -1080,7 +1082,9 @@ public abstract class BonusSettleHandle {
|
|||
// 处理扣项
|
||||
setBonusDeduct(bdBonusDeduct, cuMemberBonus, bonusDetail);
|
||||
BigDecimal realIncome = ReflectUtils.invokeGetter(bonusDetail, BonusFieldConstants.REAL_INCOME);
|
||||
// 复购实发小计
|
||||
cuMemberBonus.setRepurRealSubtotal(ComputeUtil.computeAdd(cuMemberBonus.getRepurRealSubtotal(), realIncome));
|
||||
// 实发收益总计
|
||||
cuMemberBonus.setRealIncomeTotal(ComputeUtil.computeAdd(cuMemberBonus.getRealIncomeTotal(), realIncome));
|
||||
}
|
||||
|
||||
|
|
|
@ -139,12 +139,12 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle {
|
|||
* @param cuMemberBonusMap 所有计算出来的奖金汇总
|
||||
*/
|
||||
List<CuMemberBonusExpand> calculateRepurchaseExpandBonus(Map<Long, CuMemberRiskControl> riskControlMap, Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, String settleTableName, String settleDateStr,
|
||||
BonusConfigDTO bonusConfigDTO, Map<String, String> systemConfigMap, List<SaOrderExt> purchaseOrderList, Integer period, Integer yesterdayPeriod,
|
||||
BonusConfigDTO bonusConfigDTO, Map<String, String> systemConfigMap, List<SaOrderExt> purchaseOrderList, Integer period,
|
||||
Map<Long, CuMemberBonus> weekMemberBonusMap, Map<Long, CuMemberBonus> cuMemberBonusMap, Map<Long, CuBonusExpandExt> cuBonusExpandExtMap) {
|
||||
List<CuMemberBonusExpand> cuMemberBonusExpandList = new ArrayList<>();
|
||||
// 获取所有订单的上级,根据订单往上一步步计算
|
||||
// key:订单ID,value:订单向上找安置人列表
|
||||
Map<Long, List<CuMemberSettleExt>> memberSettleMap = iCuMemberTreeService.batchQueryCuMemberSettlePlaceParent(settleTableName, period, yesterdayPeriod, purchaseOrderList);
|
||||
Map<Long, List<CuMemberSettleExt>> memberSettleMap = iCuMemberTreeService.batchQueryCuMemberSettlePlaceParent(settleTableName, period, purchaseOrderList);
|
||||
|
||||
// 订单安置上找所有会员列表
|
||||
List<CuMemberSettleExt> memberSettleExtList = new ArrayList<>();
|
||||
|
@ -1032,7 +1032,7 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle {
|
|||
BigDecimal maxIncome = ComputeUtil.computeBonusMultiply(cuMemberBonusExpand.getCalAchieve(), gradeExpandRatio);
|
||||
// actualIncome = 业绩 * 等级扩展比例
|
||||
BigDecimal actualIncome = ComputeUtil.computeBonusMultiply(cuMemberBonusExpand.getCalAchieve(), countryExpandRatio);
|
||||
log.info("复购. maxIncome: {}, actualIncome: {}", maxIncome, actualIncome);
|
||||
log.info("复购. maxIncome: {}, gradeExpandRatio: {}; actualIncome: {}, countryExpandRatio: {}", maxIncome, gradeExpandRatio, actualIncome, countryExpandRatio);
|
||||
|
||||
// 获取等级对应的封顶值(累计复购扩展 + 当前等级对应订单的最大收益)
|
||||
BigDecimal expandIncome = ComputeUtil.computeAdd(ComputeUtil.computeAdd(cuMemberBonus.getRepurExpandIncome(), actualIncome), weekRepExpandIncome);
|
||||
|
|
|
@ -236,7 +236,13 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
// 计算领导奖
|
||||
Map<Long, SaOrderExt> saOrderExtMap = new HashMap<>(1);
|
||||
saOrderExtMap.put(saOrderExt.getPkId(), saOrderExt);
|
||||
List<CuMemberBonusCoach> cuMemberBonusCoachList = bonusSettleFirstPurchaseHandle.calculateCoachBonusOne(cuMemberSettleExtMap, settleTableName, settleDate, bonusConfigDTO, cuMemberBonusExpandList, period, cuMemberBonusMap, saOrderExtMap, cuAwardsControlMap, riskControlMap, awardsList);
|
||||
|
||||
// 领导奖现在首购、复购都有,此处需要传入参数区分
|
||||
boolean firstFlag = EOrderType.SPECIAL_REGISTER_ORDER.getValue() == saOrderExt.getOrderType()
|
||||
|| EOrderType.SPECIAL_UPGRADE_ORDER.getValue() == saOrderExt.getOrderType();
|
||||
// 领导奖处理
|
||||
List<CuMemberBonusCoach> cuMemberBonusCoachList = bonusSettleFirstPurchaseHandle.calculateCoachBonusOne(cuMemberSettleExtMap, settleTableName, settleDate, bonusConfigDTO, cuMemberBonusExpandList, period, cuMemberBonusMap, saOrderExtMap, cuAwardsControlMap, riskControlMap, awardsList, firstFlag);
|
||||
|
||||
// 计算报单服务费
|
||||
CuMemberBonusDetail cuMemberBonusDetail = bonusSettleFirstPurchaseHandle.calculateServiceBonusOne(settleDate, cuMemberAssessMap, cuMemberSettleExtMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt);
|
||||
// 复购券
|
||||
|
@ -248,9 +254,11 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
cuMemberBonusExpandList.forEach(cuMemberBonusExpand ->
|
||||
cuMemberBonusExpand.setPkBonus(cuMemberBonusMap.get(cuMemberBonusExpand.getPkBonus()).getPkId()));
|
||||
iCuMemberBonusExpandService.batchInsertCuMemberBonusExpand(cuMemberBonusExpandList, memberIdSet);
|
||||
|
||||
cuMemberBonusCoachList.forEach(cuMemberBonusCoach ->
|
||||
cuMemberBonusCoach.setPkBonus(cuMemberBonusMap.get(cuMemberBonusCoach.getPkBonus()).getPkId()));
|
||||
iCuMemberBonusCoachService.batchInsertCuMemberBonusCoach(cuMemberBonusCoachList, memberIdSet);
|
||||
|
||||
List<CuMemberBonusDetail> cuMemberBonusDetailList = new ArrayList<>();
|
||||
if (cuMemberBonusDetail != null) {
|
||||
cuMemberBonusDetailList.add(cuMemberBonusDetail);
|
||||
|
@ -678,7 +686,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
cuBonusExpandExtList.forEach(cuBonusExpandExt -> cuBonusExpandExtMap.put(cuBonusExpandExt.getPkMember(), cuBonusExpandExt));
|
||||
if (firPurchaseOrderList.size() > 0) {
|
||||
calculateFirPurchaseOrder(riskControlMap, cuMemberSettleExtMap, currentSettleTableName, settleDate, systemConfigMap, bonusConfigDTO,
|
||||
firPurchaseOrderList, period, yesterdayPeriod, weekMemberBonusMap, cuMemberBonusMap, recordDetailVO, awardsMap, awardsList, cuAwardsControlMap, cuBonusExpandExtMap);
|
||||
firPurchaseOrderList, period, weekMemberBonusMap, cuMemberBonusMap, recordDetailVO, awardsMap, awardsList, cuAwardsControlMap, cuBonusExpandExtMap);
|
||||
}
|
||||
List<CuMemberRepeatBonus> cuMemberBonusList = new ArrayList<>();
|
||||
for (CuMemberBonus cuMemberBonus : cuMemberBonusMap.values()) {
|
||||
|
@ -827,12 +835,12 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
// 计算复购
|
||||
if (repurchaseOrderList.size() > 0) {
|
||||
leXueRangeParam = calculatePurchaseOrder(riskControlMap, cuMemberSettleExtMap, currentSettleTableName, settleDate, systemConfigMap, bonusConfigDTO,
|
||||
repurchaseOrderList, period, yesterdayPeriod, weekMemberBonusMap, cuMemberBonusMap, recordDetailVO, awardsMap, cuAwardsControlMap, cuBonusExpandExtMap, rangeDtoMap);
|
||||
repurchaseOrderList, period, weekMemberBonusMap, cuMemberBonusMap, recordDetailVO, awardsMap, awardsList, cuAwardsControlMap, cuBonusExpandExtMap, rangeDtoMap);
|
||||
}
|
||||
// 计算首购
|
||||
if (firPurchaseOrderList.size() > 0) {
|
||||
calculateFirPurchaseOrder(riskControlMap, cuMemberSettleExtMap, currentSettleTableName, settleDate, systemConfigMap, bonusConfigDTO,
|
||||
firPurchaseOrderList, period, yesterdayPeriod, weekMemberBonusMap, cuMemberBonusMap, recordDetailVO, awardsMap, awardsList, cuAwardsControlMap, cuBonusExpandExtMap);
|
||||
firPurchaseOrderList, period, weekMemberBonusMap, cuMemberBonusMap, recordDetailVO, awardsMap, awardsList, cuAwardsControlMap, cuBonusExpandExtMap);
|
||||
}
|
||||
// 计算商城业绩
|
||||
if (mallOrderList.size() > 0) {
|
||||
|
@ -870,9 +878,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
*
|
||||
* @param cuMemberBonusMap 奖金主表
|
||||
* @param bonusRecordDetailVO 奖金明细表
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2022/12/13 11:52
|
||||
*/
|
||||
void insertCuMemberBonus(String settleDate, Integer period, Map<Long, CuMemberBonus> cuMemberBonusMap, BonusRecordDetailVO bonusRecordDetailVO) {
|
||||
// 删除 直推收益明细表
|
||||
|
@ -885,9 +890,9 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
iCuMemberBonusDetailService.deleteCuMemberBonusDetail(period);
|
||||
// 删除 奖金收益明细表(复购极差)
|
||||
iCuMemberBonusRangeService.deleteCuMemberBonusRange(period);
|
||||
// TODO new 删除拓展收益延缓主表
|
||||
// new 删除拓展收益延缓主表
|
||||
iCuMemberBonusDelayService.deleteCuMemberBonusDelay(period);
|
||||
// TODO new 删除拓展收益延缓明细表
|
||||
// new 删除拓展收益延缓明细表
|
||||
iCuMemberBonusDelayDetailService.deleteCuMemberBonusDelayDetail(period);
|
||||
// 删除 会员奖金汇总表
|
||||
iCuMemberBonusService.deleteCuMemberBonus(period);
|
||||
|
@ -979,14 +984,12 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
}
|
||||
|
||||
/**
|
||||
* 根据订单类型封装为不同订单列表
|
||||
*
|
||||
* @param firPurchaseOrderList 首购
|
||||
* @param repurchaseOrderList 复购
|
||||
* @param mallOrderList 商城
|
||||
* @param saOrderExt 来源订单
|
||||
* @Description: 根据订单类型封装为不同订单列表
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2023/2/13 15:08
|
||||
*/
|
||||
private void packageSaOrderListByType(List<SaOrderExt> firPurchaseOrderList, List<SaOrderExt> repurchaseOrderList,
|
||||
List<SaOrderExt> mallOrderList, SaOrderExt saOrderExt) {
|
||||
|
@ -1018,7 +1021,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
* @param firPurchaseOrderList 首购订单
|
||||
*/
|
||||
private void calculateFirPurchaseOrder(Map<Long, CuMemberRiskControl> riskControlMap, Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, String settleTableName, String settleDate,
|
||||
Map<String, String> systemConfigMap, BonusConfigDTO bonusConfigDTO, List<SaOrderExt> firPurchaseOrderList, Integer period, Integer yesterdayPeriod,
|
||||
Map<String, String> systemConfigMap, BonusConfigDTO bonusConfigDTO, List<SaOrderExt> firPurchaseOrderList, Integer period,
|
||||
Map<Long, CuMemberBonus> weekMemberBonusMap, Map<Long, CuMemberBonus> cuMemberBonusMap, BonusRecordDetailVO bonusRecordDetailVO,
|
||||
Map<String, BdAwards> awardsMap, List<BdAwards> awardsList, Map<Long, CuAwardsControl> cuAwardsControlMap, Map<Long, CuBonusExpandExt> cuBonusExpandExtMap) {
|
||||
// 获得国家是三单循环还是四单循环
|
||||
|
@ -1031,7 +1034,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
|
||||
//****************************计算量奖(拓展收益)*****************************/
|
||||
List<CuMemberBonusExpand> cuMemberBonusExpandList = bonusSettleFirstPurchaseHandle.calculateExpandBonus(cuMemberSettleExtMap, settleDate, settleTableName, bonusConfigDTO, systemConfigMap,
|
||||
firPurchaseOrderList, period, yesterdayPeriod, weekMemberBonusMap, cuMemberBonusMap, riskControlMap, cuBonusExpandExtMap);
|
||||
firPurchaseOrderList, period, weekMemberBonusMap, cuMemberBonusMap, riskControlMap, cuBonusExpandExtMap);
|
||||
if (cuMemberBonusExpandList.size() > 0) {
|
||||
if (null == bonusRecordDetailVO.getCuMemberBonusExpandList()) {
|
||||
bonusRecordDetailVO.setCuMemberBonusExpandList(cuMemberBonusExpandList);
|
||||
|
@ -1043,10 +1046,10 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
bonusSettlePurchaseHandle.handleFirExpandDelay(cuMemberBonusExpandList, period, bonusRecordDetailVO);
|
||||
}
|
||||
|
||||
//*********************************计算领导奖(辅导收益)************************/
|
||||
//*********************************计算领导奖(首购辅导收益)************************/
|
||||
// 判断是否有量奖,有量奖有辅导奖
|
||||
List<CuMemberBonusCoach> cuMemberBonusCoachList = bonusSettleFirstPurchaseHandle.calculateCoachBonus(cuMemberSettleExtMap, settleTableName, settleDate, bonusConfigDTO, firPurchaseOrderList,
|
||||
cuMemberBonusExpandList, period, cuMemberBonusMap, cuAwardsControlMap, riskControlMap, awardsList);
|
||||
cuMemberBonusExpandList, period, cuMemberBonusMap, cuAwardsControlMap, riskControlMap, awardsList, true);
|
||||
bonusRecordDetailVO.setCuMemberBonusCoachList(cuMemberBonusCoachList);
|
||||
|
||||
//*********************************计算服务奖************************/
|
||||
|
@ -1062,10 +1065,10 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
MemberBonusDetailCalVO memberBonusDetailCalVO = calculateOrderRatio(memberBonusDetailCalVoMap, cuMemberBonusExpand);
|
||||
memberBonusDetailCalVO.setExpandIncome(ComputeUtil.computeAdd(memberBonusDetailCalVO.getExpandIncome(), cuMemberBonusExpand.getRealIncome()));
|
||||
});
|
||||
// cuMemberBonusCoachList.forEach(cuMemberBonusCoach -> {
|
||||
// MemberBonusDetailCalVO memberBonusDetailCalVO = calculateOrderRatio(memberBonusDetailCalVoMap, cuMemberBonusCoach);
|
||||
// memberBonusDetailCalVO.setCoachIncome(ComputeUtil.computeAdd(memberBonusDetailCalVO.getCoachIncome(), cuMemberBonusCoach.getRealIncome()));
|
||||
// });
|
||||
cuMemberBonusCoachList.forEach(cuMemberBonusCoach -> {
|
||||
MemberBonusDetailCalVO memberBonusDetailCalVO = calculateOrderRatio(memberBonusDetailCalVoMap, cuMemberBonusCoach);
|
||||
memberBonusDetailCalVO.setCoachIncome(ComputeUtil.computeAdd(memberBonusDetailCalVO.getCoachIncome(), cuMemberBonusCoach.getRealIncome()));
|
||||
});
|
||||
cuMemberBonusDetailList.forEach(cuMemberBonusDetail -> {
|
||||
MemberBonusDetailCalVO memberBonusDetailCalVO = calculateOrderRatio(memberBonusDetailCalVoMap, cuMemberBonusDetail);
|
||||
memberBonusDetailCalVO.setServiceIncome(ComputeUtil.computeAdd(memberBonusDetailCalVO.getServiceIncome(), cuMemberBonusDetail.getRealIncome()));
|
||||
|
@ -1088,12 +1091,12 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
cuMemberBonusExpand.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount()));
|
||||
});
|
||||
// 辅导收益
|
||||
// cuMemberBonusCoachList.forEach(cuMemberBonusCoach -> {
|
||||
// MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusCoach.getPkOrder());
|
||||
// SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder());
|
||||
// cuMemberBonusCoach.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getCoachIncome(), memberBonusDetailCalVO.getRealIncome()));
|
||||
// cuMemberBonusCoach.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount()));
|
||||
// });
|
||||
cuMemberBonusCoachList.forEach(cuMemberBonusCoach -> {
|
||||
MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusCoach.getPkOrder());
|
||||
SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder());
|
||||
cuMemberBonusCoach.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getCoachIncome(), memberBonusDetailCalVO.getRealIncome()));
|
||||
cuMemberBonusCoach.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount()));
|
||||
});
|
||||
// 报单服务费
|
||||
cuMemberBonusDetailList.forEach(cuMemberBonusDetail -> {
|
||||
MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusDetail.getPkOrder());
|
||||
|
@ -1140,9 +1143,9 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
* @param rangeDtoMap 乐学奖金使用的汇率map
|
||||
*/
|
||||
private LeXueRangeParam calculatePurchaseOrder(Map<Long, CuMemberRiskControl> riskControlMap, Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, String settleTableName, String settleDate,
|
||||
Map<String, String> systemConfigMap, BonusConfigDTO bonusConfigDTO, List<SaOrderExt> purchaseOrderList, Integer period, Integer yesterdayPeriod,
|
||||
Map<String, String> systemConfigMap, BonusConfigDTO bonusConfigDTO, List<SaOrderExt> purchaseOrderList, Integer period,
|
||||
Map<Long, CuMemberBonus> weekMemberBonusMap, Map<Long, CuMemberBonus> cuMemberBonusMap, BonusRecordDetailVO bonusRecordDetailVO,
|
||||
Map<String, BdAwards> awardsMap, Map<Long, CuAwardsControl> cuAwardsControlMap, Map<Long, CuBonusExpandExt> cuBonusExpandExtMap, Map<String, RangeDTO> rangeDtoMap) {
|
||||
Map<String, BdAwards> awardsMap, List<BdAwards> awardsList, Map<Long, CuAwardsControl> cuAwardsControlMap, Map<Long, CuBonusExpandExt> cuBonusExpandExtMap, Map<String, RangeDTO> rangeDtoMap) {
|
||||
//****************************复购直推*****************************
|
||||
// 查找10代血缘,验证复购考核,考核通过的给与奖金 紧缩
|
||||
// List<CuMemberBonusPush> cuMemberBonusPushList = bonusSettlePurchaseHandle.calculateRepurchasePushBonus(cuMemberSettleExtMap, settleTableName, settleDate, bonusConfigDTO, purchaseOrderList, period, cuMemberBonusMap);
|
||||
|
@ -1155,7 +1158,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
// }
|
||||
//****************************计算量奖(拓展收益)*****************************/
|
||||
List<CuMemberBonusExpand> cuMemberBonusExpandList = bonusSettlePurchaseHandle.calculateRepurchaseExpandBonus(riskControlMap, cuMemberSettleExtMap, settleTableName, settleDate,
|
||||
bonusConfigDTO, systemConfigMap, purchaseOrderList, period, yesterdayPeriod, weekMemberBonusMap, cuMemberBonusMap, cuBonusExpandExtMap);
|
||||
bonusConfigDTO, systemConfigMap, purchaseOrderList, period, weekMemberBonusMap, cuMemberBonusMap, cuBonusExpandExtMap);
|
||||
if (cuMemberBonusExpandList.size() > 0) {
|
||||
if (null == bonusRecordDetailVO.getCuMemberBonusExpandList()) {
|
||||
bonusRecordDetailVO.setCuMemberBonusExpandList(cuMemberBonusExpandList);
|
||||
|
@ -1167,6 +1170,12 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
bonusSettlePurchaseHandle.handleRepExpandDelay(cuMemberBonusExpandList, period, bonusRecordDetailVO);
|
||||
}
|
||||
|
||||
//*********************************计算领导奖(复购辅导收益)************************/
|
||||
// 判断是否有量奖,有量奖有辅导奖
|
||||
List<CuMemberBonusCoach> cuMemberBonusCoachList = bonusSettleFirstPurchaseHandle.calculateCoachBonus(cuMemberSettleExtMap, settleTableName, settleDate, bonusConfigDTO, purchaseOrderList,
|
||||
cuMemberBonusExpandList, period, cuMemberBonusMap, cuAwardsControlMap, riskControlMap, awardsList, false);
|
||||
bonusRecordDetailVO.setCuMemberBonusCoachList(cuMemberBonusCoachList);
|
||||
|
||||
//****************************乐学极差(复购)*****************************/
|
||||
LeXueRangeParam leXueRangeParam = new LeXueRangeParam();
|
||||
List<CuMemberBonusRange> cuMemberBonusRangeList = bonusSettlePurchaseHandle.calculateRepurchaseRangeBonus(cuMemberSettleExtMap, settleTableName, settleDate, rangeDtoMap, awardsMap,
|
||||
|
@ -1178,6 +1187,10 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
MemberBonusDetailCalVO memberBonusDetailCalVO = calculateOrderRatio(memberBonusDetailCalVoMap, cuMemberBonusExpand);
|
||||
memberBonusDetailCalVO.setRepExpandIncome(ComputeUtil.computeAdd(memberBonusDetailCalVO.getRepExpandIncome(), cuMemberBonusExpand.getRealIncome()));
|
||||
});
|
||||
cuMemberBonusCoachList.forEach(cuMemberBonusCoach -> {
|
||||
MemberBonusDetailCalVO memberBonusDetailCalVO = calculateOrderRatio(memberBonusDetailCalVoMap, cuMemberBonusCoach);
|
||||
memberBonusDetailCalVO.setRepCoachIncome(ComputeUtil.computeAdd(memberBonusDetailCalVO.getRepCoachIncome(), cuMemberBonusCoach.getRealIncome()));
|
||||
});
|
||||
cuMemberBonusRangeList.forEach(cuMemberBonusRange -> {
|
||||
MemberBonusDetailCalVO memberBonusDetailCalVO = calculateOrderRatio(memberBonusDetailCalVoMap, cuMemberBonusRange);
|
||||
memberBonusDetailCalVO.setRepRangeIncome(ComputeUtil.computeAdd(memberBonusDetailCalVO.getRepRangeIncome(), cuMemberBonusRange.getRealIncome()));
|
||||
|
@ -1193,6 +1206,13 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
cuMemberBonusExpand.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRepExpandIncome(), memberBonusDetailCalVO.getRealIncome()));
|
||||
cuMemberBonusExpand.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount()));
|
||||
});
|
||||
// 辅导收益
|
||||
cuMemberBonusCoachList.forEach(cuMemberBonusCoach -> {
|
||||
MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusCoach.getPkOrder());
|
||||
SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder());
|
||||
cuMemberBonusCoach.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRepCoachIncome(), memberBonusDetailCalVO.getRealIncome()));
|
||||
cuMemberBonusCoach.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount()));
|
||||
});
|
||||
// 复购极差
|
||||
cuMemberBonusRangeList.forEach(cuMemberBonusRange -> {
|
||||
MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusRange.getPkOrder());
|
||||
|
@ -1324,6 +1344,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
.coachIncome(BigDecimal.ZERO)
|
||||
.serviceIncome(BigDecimal.ZERO)
|
||||
.repExpandIncome(BigDecimal.ZERO)
|
||||
.repCoachIncome(BigDecimal.ZERO)
|
||||
.repRangeIncome(BigDecimal.ZERO)
|
||||
.hiFunIncome(BigDecimal.ZERO)
|
||||
.haiFunIncome(BigDecimal.ZERO)
|
||||
|
|
|
@ -13,9 +13,7 @@ import java.util.List;
|
|||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员奖金-辅导收益明细表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-11-15
|
||||
|
@ -50,7 +48,6 @@ public class CuMemberBonusCoachServiceImpl extends ServiceImpl<CuMemberBonusCoac
|
|||
return;
|
||||
}
|
||||
List<List<?>> lists = cuMemberBonusSettle.handleCutList(cuMemberBonusCoaches);
|
||||
lists.forEach(list ->
|
||||
baseMapper.batchInsertCuMemberBonusCoach(list));
|
||||
lists.forEach(list -> baseMapper.batchInsertCuMemberBonusCoach(list));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -592,8 +592,7 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
|
|||
return;
|
||||
}
|
||||
List<List<?>> lists = cuMemberBonusSettle.handleCutList(cuMemberBonusList);
|
||||
lists.forEach(list ->
|
||||
baseMapper.batchInsertCuMemberBonus(list));
|
||||
lists.forEach(list -> baseMapper.batchInsertCuMemberBonus(list));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -618,10 +617,10 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
|
|||
@Override
|
||||
public List<CuMemberBonus> queryCuMemberBonusByCondition(Integer pkCountry, Integer grantStatus, Integer startPeriod, Integer endPeriod) {
|
||||
QueryWrapper<CuMemberBonus> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.select("pk_member,pk_rate,pk_country,sum(direct_income) direct_income,sum(expand_income) expand_income,sum(expand_no_capping) expand_no_capping," +
|
||||
"sum(expand_capping) expand_capping,sum(coach_income) coach_income,sum(share_income) share_income," +
|
||||
"sum(service_income) service_income,sum(back_points) back_points,sum(service_spend) service_spend," +
|
||||
"sum(pur_real_subtotal) pur_real_subtotal,sum(repur_range_income) repur_range_income,sum(repur_expand_income) repur_expand_income," +
|
||||
queryWrapper.select("pk_member, pk_rate, pk_country, sum(direct_income) direct_income, " +
|
||||
"sum(expand_income) expand_income, sum(expand_no_capping) expand_no_capping, sum(expand_capping) expand_capping, sum(coach_income) coach_income, " +
|
||||
"sum(share_income) share_income, sum(service_income) service_income, sum(back_points) back_points, sum(service_spend) service_spend, " +
|
||||
"sum(pur_real_subtotal) pur_real_subtotal, sum(repur_range_income) repur_range_income, sum(repur_expand_income) repur_expand_income, sum(repur_coach_income) repur_coach_income, " +
|
||||
"sum(repur_real_subtotal) repur_real_subtotal, sum(cloud_direct_income) cloud_direct_income, sum(cloud_pur_income) cloud_pur_income, " +
|
||||
"sum(cloud_repur_income) cloud_repur_income, sum(cloud_real_subtotal) cloud_real_subtotal, sum(repur_coupon) repur_coupon, " +
|
||||
"sum(REPUR_COUPON_SHARE) REPUR_COUPON_SHARE, sum(REPUR_COUPON_SUBTOTAL) REPUR_COUPON_SUBTOTAL, " +
|
||||
|
|
|
@ -26,7 +26,7 @@ public class CuMemberBonusVO implements Serializable {
|
|||
"directIncome", "expandIncome", "expandNoCapping", "expandCapping",
|
||||
"coachIncome", "shareIncome", "serviceIncome", "cloudDirectIncome",
|
||||
"cloudPurIncome", "cloudRepurIncome", "repurPushIncome", "repurRangeIncome", "repurExpandIncome",
|
||||
"repurCoupon", "repurCouponShare", "backPoints", "serviceSpend",
|
||||
"repurCoachIncome", "repurCoupon", "repurCouponShare", "backPoints", "serviceSpend",
|
||||
"globalPoints", "carAwardPoints", "storeIncome", "hiFunIncome",
|
||||
"makerDirectIncome", "makerShareIncome", "makerRealSubtotal", "purRealSubtotal",
|
||||
"cloudRealSubtotal", "repurRealSubtotal", "repurCouponSubtotal", "realIncomeTotal"};
|
||||
|
@ -257,6 +257,17 @@ public class CuMemberBonusVO implements Serializable {
|
|||
@Excel(name = "复购拓展收益($)", scale = 2)
|
||||
private BigDecimal repurExpandIncome;
|
||||
|
||||
/**
|
||||
* 复购拓展收益
|
||||
*/
|
||||
@Excel(name = "复购拓展收益", scale = 2)
|
||||
private BigDecimal repurCoachIncomeOri;
|
||||
/**
|
||||
* 复购拓展收益
|
||||
*/
|
||||
@Excel(name = "复购拓展收益($)", scale = 2)
|
||||
private BigDecimal repurCoachIncome;
|
||||
|
||||
/**
|
||||
* 复购卷
|
||||
*/
|
||||
|
|
|
@ -80,6 +80,11 @@ public class MemberBonusDetailCalVO implements Serializable {
|
|||
*/
|
||||
private BigDecimal repExpandIncome;
|
||||
|
||||
/**
|
||||
* 复购辅导收益
|
||||
*/
|
||||
private BigDecimal repCoachIncome;
|
||||
|
||||
/**
|
||||
* 复购极差收益
|
||||
*/
|
||||
|
|
|
@ -1370,8 +1370,13 @@
|
|||
left join (
|
||||
select cmbd.pk_member, cmbd.after_grant_income
|
||||
from CU_MEMBER_BONUS_DELAY cmbd
|
||||
where exists (select 1
|
||||
from (select cmbd.pk_member, max(cmbd.period) period
|
||||
from cu_member_bonus_delay cmbd
|
||||
where cmbd.del_flag = 0
|
||||
and cmbd.period = #{yesterdayPeriod}
|
||||
group by cmbd.pk_member) t
|
||||
where t.pk_member = cmbd.pk_member
|
||||
and t.period = cmbd.period)
|
||||
) cmb
|
||||
on cmb.pk_member = a.pk_member
|
||||
order by a.pk_order, a.sort
|
||||
|
@ -2317,7 +2322,7 @@
|
|||
nvl(t.b_sum_pv, 0) + nvl(t.rep_b_sum_pv, 0) - nvl(cms.b_sum_pv, 0) - nvl(cms.rep_b_sum_pv, 0) b_sum_pv
|
||||
from (
|
||||
select cms.*, ba.awards_value
|
||||
from (select cms.pk_member, cms.pk_awards
|
||||
from (select cms.pk_member, cms.a_sum_pv, cms.b_sum_pv, cms.rep_a_sum_pv, cms.rep_b_sum_pv, cms.pk_awards
|
||||
from ${settleTableName} cms
|
||||
where cms.pk_member in
|
||||
<foreach collection="pkMemberList" item="item" open="(" close=")" separator=",">
|
||||
|
|
|
@ -51,7 +51,6 @@
|
|||
<result column="SETTLE_COUNTRY" property="settleCountry"/>
|
||||
<result column="PERIOD" property="period"/>
|
||||
<result column="OUT_EXCHANGE_RATE" property="outExchangeRate"/>
|
||||
|
||||
<result column="service_code" property="serviceCode"/>
|
||||
<result column="pk_vertex" property="pkVertex"/>
|
||||
<result column="nick_name" property="nickName"/>
|
||||
|
@ -60,23 +59,28 @@
|
|||
<insert id="batchInsertCuMemberBonusCoach">
|
||||
insert ALL
|
||||
<foreach item="item" index="index" collection="cuMemberBonusCoachList" separator=" ">
|
||||
into cu_member_bonus_coach(pk_bonus,pk_order,pk_bonus_items,income_status,
|
||||
cal_type,cal_achieve,cal_value,pretax_income,
|
||||
income_tax,real_income,current_generation,coach_generation,coach_no_capping,
|
||||
coach_capping,coach_normal_half,coach_normal_real,remark,
|
||||
income_ratio,income_dial_ratio,order_dial_ratio,pk_country,pk_creator)
|
||||
values
|
||||
(
|
||||
into cu_member_bonus_coach (
|
||||
pk_bonus, pk_order, pk_bonus_items, income_status,
|
||||
cal_type, cal_achieve, cal_value,
|
||||
pretax_income, income_tax, real_income, current_generation,
|
||||
coach_generation, coach_no_capping, coach_capping,
|
||||
coach_normal_half, coach_normal_real, remark,
|
||||
income_ratio, income_dial_ratio, order_dial_ratio,
|
||||
pk_country, pk_creator
|
||||
)
|
||||
values (
|
||||
#{item.pkBonus}, #{item.pkOrder}, #{item.pkBonusItems}, #{item.incomeStatus},
|
||||
#{item.calType},#{item.calAchieve},#{item.calValue},#{item.pretaxIncome},
|
||||
#{item.incomeTax},#{item.realIncome},#{item.currentGeneration},#{item.coachGeneration},
|
||||
#{item.coachNoCapping},#{item.coachCapping},#{item.coachNormalHalf},#{item.coachNormalReal},
|
||||
#{item.remark},#{item.incomeRatio},#{item.incomeDialRatio},#{item.orderDialRatio},
|
||||
#{item.calType}, #{item.calAchieve}, #{item.calValue},
|
||||
#{item.pretaxIncome}, #{item.incomeTax}, #{item.realIncome}, #{item.currentGeneration},
|
||||
#{item.coachGeneration}, #{item.coachNoCapping}, #{item.coachCapping},
|
||||
#{item.coachNormalHalf},#{item.coachNormalReal}, #{item.remark},
|
||||
#{item.incomeRatio}, #{item.incomeDialRatio}, #{item.orderDialRatio},
|
||||
#{item.pkCountry}, #{item.pkCreator}
|
||||
)
|
||||
</foreach>
|
||||
SELECT 1 FROM dual
|
||||
</insert>
|
||||
|
||||
<delete id="deleteCuMemberBonusCoach">
|
||||
delete
|
||||
from CU_MEMBER_BONUS_COACH
|
||||
|
@ -89,7 +93,8 @@
|
|||
|
||||
<select id="queryMemberBonusCoachByBonusItems" resultMap="CuMemberBonusCoach">
|
||||
select b.period,cp.settle_date,so.order_code,so.order_type,bt.short_name source_country_name,
|
||||
cu.member_code source_member_code,cu.member_name source_member_name,so.pk_rate,so.pk_country pk_source_country,bc.out_exchange_rate,so.order_amount,
|
||||
cu.member_code source_member_code,cu.member_name source_member_name,so.pk_rate,so.pk_country
|
||||
pk_source_country,bc.out_exchange_rate,so.order_amount,
|
||||
so.order_achieve,b.pk_country,b.pk_bonus_items,b.pretax_income,b.income_tax,b.real_income,b.income_status,
|
||||
tar.member_code,tar.member_name,bg.pk_transaction pk_settle_grade,ba.pk_transaction pk_awards,bv.vertex_name,ct.team_name,
|
||||
b.remark,b.income_ratio,b.income_dial_ratio,b.order_dial_ratio,b.current_generation,b.coach_generation,
|
||||
|
@ -99,7 +104,8 @@
|
|||
cu.nick_name
|
||||
from sa_order so
|
||||
inner join (
|
||||
select cb.pk_member,cc.pk_order,cb.period,cb.pk_country,cc.pk_bonus_items,cc.income_status,cc.CAL_ACHIEVE,cc.pretax_income,cc.income_tax,cc.real_income,
|
||||
select
|
||||
cb.pk_member,cc.pk_order,cb.period,cb.pk_country,cc.pk_bonus_items,cc.income_status,cc.CAL_ACHIEVE,cc.pretax_income,cc.income_tax,cc.real_income,
|
||||
cc.remark,cc.income_ratio,cc.income_dial_ratio,cc.order_dial_ratio,cc.current_generation,cc.coach_generation,cc.coach_no_capping,
|
||||
cc.coach_capping,cc.coach_normal_half,cc.coach_normal_real from
|
||||
cu_member_bonus cb
|
||||
|
@ -153,6 +159,7 @@
|
|||
</where>
|
||||
order by b.period,b.pk_bonus_items,b.real_income desc
|
||||
</select>
|
||||
|
||||
<select id="queryMemberBonusCoachByBonusItemsForServer" resultMap="CuMemberBonusCoach">
|
||||
select b.period,cp.settle_date,so.order_code,so.order_type,bt.short_name source_country_name,
|
||||
cu.member_code source_member_code,cu.member_name source_member_name,so.pk_rate,bc.out_exchange_rate,so.order_amount,
|
||||
|
@ -161,7 +168,8 @@
|
|||
b.remark,b.income_ratio,b.income_dial_ratio,b.order_dial_ratio,b.current_generation,b.coach_generation,
|
||||
b.coach_no_capping,b.coach_capping,b.coach_normal_half,b.coach_normal_real,bct.short_name settle_country from sa_order so
|
||||
inner join (
|
||||
select cb.pk_member,cc.pk_order,cb.period,cb.pk_country,cc.pk_bonus_items,cc.income_status,cc.CAL_ACHIEVE,cc.pretax_income,cc.income_tax,cc.real_income,
|
||||
select
|
||||
cb.pk_member,cc.pk_order,cb.period,cb.pk_country,cc.pk_bonus_items,cc.income_status,cc.CAL_ACHIEVE,cc.pretax_income,cc.income_tax,cc.real_income,
|
||||
cc.remark,cc.income_ratio,cc.income_dial_ratio,cc.order_dial_ratio,cc.current_generation,cc.coach_generation,
|
||||
cc.coach_no_capping,cc.coach_capping,cc.coach_normal_half,cc.coach_normal_real from cu_member_bonus cb
|
||||
inner join cu_member_bonus_coach cc
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
<result column="REPUR_PUSH_INCOME" property="repurPushIncome"/>
|
||||
<result column="REPUR_RANGE_INCOME" property="repurRangeIncome"/>
|
||||
<result column="REPUR_EXPAND_INCOME" property="repurExpandIncome"/>
|
||||
<result column="REPUR_COACH_INCOME" property="repurCoachIncome"/>
|
||||
<result column="REPUR_REAL_SUBTOTAL" property="repurRealSubtotal"/>
|
||||
<result column="CLOUD_DIRECT_INCOME" property="cloudDirectIncome"/>
|
||||
<result column="CLOUD_PUR_INCOME" property="cloudPurIncome"/>
|
||||
|
@ -62,7 +63,6 @@
|
|||
<result column="PK_VERTEX" property="pkVertex"/>
|
||||
<result column="SERVICE_CODE" property="serviceCode"/>
|
||||
<result column="NICK_NAME" property="nickName"/>
|
||||
|
||||
</resultMap>
|
||||
|
||||
<update id="updateCuMemberBonusStatus">
|
||||
|
@ -83,51 +83,53 @@
|
|||
and grant_status <= 2
|
||||
</delete>
|
||||
|
||||
<!-- 批量插入会员奖金主表 -->
|
||||
<insert id="batchInsertCuMemberBonus">
|
||||
merge into cu_member_bonus cb
|
||||
using(
|
||||
select pk_id, pk_member, period, pk_rate, direct_income, expand_income, expand_no_capping,
|
||||
expand_capping, coach_income, share_income, service_income, back_points, service_spend,
|
||||
pur_real_subtotal,repur_push_income,repur_range_income,repur_expand_income,repur_real_subtotal,
|
||||
pur_real_subtotal, repur_push_income, repur_range_income, repur_expand_income, repur_coach_income, repur_real_subtotal,
|
||||
cloud_direct_income, cloud_pur_income, cloud_repur_income, cloud_real_subtotal,
|
||||
repur_coupon, repur_coupon_share, repur_coupon_subtotal, global_points,
|
||||
car_award_points, store_income, hi_fun_income, hai_fun_income,
|
||||
maker_direct_income, maker_share_income, maker_real_subtotal, real_income_total,
|
||||
pk_country,pk_creator,grant_status,income_status from(
|
||||
pk_country, pk_creator, grant_status, income_status
|
||||
from (
|
||||
<foreach item="item" index="index" collection="cuMemberBonusList" separator=" union ">
|
||||
select #{item.pkId} pk_id,#{item.pkMember} pk_member,#{item.period} period,#{item.pkRate,jdbcType=INTEGER}
|
||||
pk_rate,
|
||||
#{item.directIncome} direct_income,#{item.expandIncome} expand_income,#{item.expandNoCapping}
|
||||
expand_no_capping,
|
||||
select
|
||||
#{item.pkId} pk_id, #{item.pkMember} pk_member, #{item.period} period, #{item.pkRate,jdbcType=INTEGER} pk_rate,
|
||||
#{item.directIncome} direct_income, #{item.expandIncome} expand_income, #{item.expandNoCapping} expand_no_capping,
|
||||
#{item.expandCapping} expand_capping, #{item.coachIncome} coach_income, #{item.shareIncome} share_income,
|
||||
#{item.serviceIncome} service_income, #{item.backPoints} back_points, #{item.serviceSpend} service_spend,
|
||||
#{item.purRealSubtotal} pur_real_subtotal,#{item.repurPushIncome} repur_push_income,#{item.repurRangeIncome}
|
||||
repur_range_income,
|
||||
#{item.repurExpandIncome} repur_expand_income,#{item.repurRealSubtotal} repur_real_subtotal,
|
||||
#{item.purRealSubtotal} pur_real_subtotal, #{item.repurPushIncome} repur_push_income, #{item.repurRangeIncome} repur_range_income,
|
||||
#{item.repurExpandIncome} repur_expand_income, #{item.repurCoachIncome} repur_coach_income, #{item.repurRealSubtotal} repur_real_subtotal,
|
||||
#{item.cloudDirectIncome} cloud_direct_income, #{item.cloudPurIncome} cloud_pur_income,
|
||||
#{item.cloudRepurIncome} cloud_repur_income, #{item.cloudRealSubtotal} cloud_real_subtotal,
|
||||
#{item.repurCoupon} repur_coupon, #{item.repurCouponShare} repur_coupon_share,
|
||||
#{item.repurCouponSubtotal} repur_coupon_subtotal, #{item.globalPoints} global_points,
|
||||
#{item.carAwardPoints} car_award_points, #{item.storeIncome} store_income, #{item.hiFunIncome} hi_fun_income,
|
||||
#{item.haiFunIncome} hai_fun_income, #{item.makerDirectIncome} maker_direct_income,
|
||||
#{item.makerShareIncome} maker_share_income,#{item.makerRealSubtotal}
|
||||
maker_real_subtotal,#{item.realIncomeTotal} real_income_total,
|
||||
#{item.pkCountry} pk_country,#{item.pkCreator} pk_creator,#{item.grantStatus}
|
||||
grant_status,#{item.incomeStatus} income_status from dual
|
||||
</foreach>) )b
|
||||
#{item.makerShareIncome} maker_share_income, #{item.makerRealSubtotal} maker_real_subtotal, #{item.realIncomeTotal} real_income_total,
|
||||
#{item.pkCountry} pk_country, #{item.pkCreator} pk_creator, #{item.grantStatus} grant_status, #{item.incomeStatus} income_status
|
||||
from dual
|
||||
</foreach>)
|
||||
)b
|
||||
on (cb.pk_member = b.pk_member and cb.period = b.period)
|
||||
WHEN NOT MATCHED THEN
|
||||
insert(pk_id,pk_member,period,pk_rate,direct_income,expand_income,expand_no_capping,
|
||||
insert (
|
||||
pk_id, pk_member, period, pk_rate, direct_income, expand_income, expand_no_capping,
|
||||
expand_capping, coach_income, share_income, service_income, back_points, service_spend,
|
||||
pur_real_subtotal,repur_push_income,repur_range_income,repur_expand_income,repur_real_subtotal,
|
||||
pur_real_subtotal, repur_push_income, repur_range_income, repur_expand_income, repur_coach_income, repur_real_subtotal,
|
||||
cloud_direct_income, cloud_pur_income, cloud_repur_income, cloud_real_subtotal,
|
||||
repur_coupon, repur_coupon_share, repur_coupon_subtotal, global_points,
|
||||
car_award_points, store_income, hi_fun_income, hai_fun_income,
|
||||
maker_direct_income, maker_share_income, maker_real_subtotal, real_income_total,
|
||||
pk_country, pk_creator, grant_status, income_status)
|
||||
values(b.pk_id,b.pk_member,b.period,b.pk_rate,b.direct_income,b.expand_income,b.expand_no_capping,
|
||||
values (
|
||||
b.pk_id, b.pk_member, b.period, b.pk_rate, b.direct_income, b.expand_income, b.expand_no_capping,
|
||||
b.expand_capping, b.coach_income, b.share_income, b.service_income, b.back_points, b.service_spend,
|
||||
b.pur_real_subtotal,b.repur_push_income,b.repur_range_income,b.repur_expand_income,b.repur_real_subtotal,
|
||||
b.pur_real_subtotal, b.repur_push_income, b.repur_range_income, b.repur_expand_income, b.repur_coach_income, b.repur_real_subtotal,
|
||||
b.cloud_direct_income, b.cloud_pur_income, b.cloud_repur_income, b.cloud_real_subtotal,
|
||||
b.repur_coupon, b.repur_coupon_share, b.repur_coupon_subtotal, b.global_points,
|
||||
b.car_award_points, b.store_income, b.hi_fun_income, b.hai_fun_income,
|
||||
|
@ -140,7 +142,7 @@
|
|||
using(
|
||||
select pk_id,pk_member,period,pk_rate,direct_income,expand_income,expand_no_capping,
|
||||
expand_capping,coach_income,share_income,service_income,back_points,service_spend,
|
||||
pur_real_subtotal,repur_push_income,repur_range_income,repur_expand_income,repur_real_subtotal,
|
||||
pur_real_subtotal,repur_push_income,repur_range_income,repur_expand_income, repur_coach_income, repur_real_subtotal,
|
||||
cloud_direct_income,cloud_pur_income,cloud_repur_income,cloud_real_subtotal,
|
||||
repur_coupon,repur_coupon_subtotal,global_points,
|
||||
car_award_points,hi_fun_income,hai_fun_income,
|
||||
|
@ -152,7 +154,7 @@
|
|||
#{item.expandCapping} expand_capping,#{item.coachIncome} coach_income,#{item.shareIncome} share_income,
|
||||
#{item.serviceIncome} service_income,#{item.backPoints} back_points,#{item.serviceSpend} service_spend,
|
||||
#{item.purRealSubtotal} pur_real_subtotal,#{item.repurPushIncome} repur_push_income,
|
||||
#{item.repurRangeIncome} repur_range_income,#{item.repurExpandIncome} repur_expand_income,
|
||||
#{item.repurRangeIncome} repur_range_income,#{item.repurExpandIncome} repur_expand_income, #{item.repurCoachIncome} repur_coach_income,
|
||||
#{item.repurRealSubtotal} repur_real_subtotal,#{item.cloudDirectIncome} cloud_direct_income,
|
||||
#{item.cloudPurIncome} cloud_pur_income,#{item.cloudRepurIncome} cloud_repur_income,
|
||||
#{item.cloudRealSubtotal} cloud_real_subtotal,#{item.repurCoupon} repur_coupon,
|
||||
|
@ -173,6 +175,7 @@
|
|||
a.service_income=a.service_income+b.service_income,a.back_points=a.back_points+b.back_points,a.service_spend=a.service_spend+b.service_spend,
|
||||
a.pur_real_subtotal=a.pur_real_subtotal+b.pur_real_subtotal,a.repur_push_income=a.repur_push_income+b.repur_push_income,
|
||||
a.repur_range_income=a.repur_range_income+b.repur_range_income,a.repur_expand_income=a.repur_expand_income+b.repur_expand_income,
|
||||
a.repur_coach_income=a.repur_coach_income+b.repur_coach_income,
|
||||
a.repur_real_subtotal=a.repur_real_subtotal+b.repur_real_subtotal,a.cloud_direct_income=a.cloud_direct_income+b.cloud_direct_income,
|
||||
a.cloud_pur_income=a.cloud_pur_income+b.cloud_pur_income,a.cloud_repur_income=a.cloud_repur_income+b.cloud_repur_income,
|
||||
a.cloud_real_subtotal=a.cloud_real_subtotal+b.cloud_real_subtotal,a.repur_coupon=a.repur_coupon+b.repur_coupon,
|
||||
|
@ -181,13 +184,13 @@
|
|||
when not matched then
|
||||
insert (pk_id,pk_member,period,pk_rate,direct_income,expand_income,expand_no_capping,
|
||||
expand_capping,coach_income,share_income,service_income,back_points,service_spend,
|
||||
pur_real_subtotal,repur_push_income,repur_range_income,repur_expand_income,repur_real_subtotal,
|
||||
pur_real_subtotal,repur_push_income,repur_range_income,repur_expand_income, repur_coach_income, repur_real_subtotal,
|
||||
cloud_direct_income,cloud_pur_income,cloud_repur_income,cloud_real_subtotal,
|
||||
repur_coupon,global_points,car_award_points,hi_fun_income,real_income_total,
|
||||
pk_country,pk_creator,grant_status,income_status)
|
||||
values(b.pk_id,b.pk_member,b.period,b.pk_rate,b.direct_income,b.expand_income,b.expand_no_capping,
|
||||
b.expand_capping,b.coach_income,b.share_income,b.service_income,b.back_points,b.service_spend,
|
||||
b.pur_real_subtotal,b.repur_push_income,b.repur_range_income,b.repur_expand_income,b.repur_real_subtotal,
|
||||
b.pur_real_subtotal,b.repur_push_income,b.repur_range_income,b.repur_expand_income, b.repur_coach_income, b.repur_real_subtotal,
|
||||
b.cloud_direct_income,b.cloud_pur_income,b.cloud_repur_income,b.cloud_real_subtotal,
|
||||
b.repur_coupon,b.global_points,b.car_award_points,b.hi_fun_income,b.real_income_total,
|
||||
b.pk_country,b.pk_creator,b.grant_status,b.income_status)
|
||||
|
@ -254,19 +257,17 @@
|
|||
order by cp.settle_date desc
|
||||
</select>
|
||||
|
||||
<!-- 根据查询条件查询会员奖金 -->
|
||||
<select id="queryMemberBonusByConditionForServer" resultMap="CuMemberBonus">
|
||||
select cm.member_code, cm.member_name, cm.pk_settle_grade, cm.pk_awards, bv.vertex_name, ct.team_name,
|
||||
cb.period, cp.settle_date, cb.direct_income, cb.expand_income, cb.expand_no_capping,
|
||||
cb.expand_capping, cb.coach_income, cb.share_income, cb.service_income, cb.back_points, cb.service_spend,
|
||||
cb.pur_real_subtotal,cb.repur_push_income,cb.repur_range_income,cb.repur_expand_income,cb.repur_real_subtotal,
|
||||
cb.cloud_direct_income,cb.cloud_pur_income,cb.cloud_repur_income,cb.cloud_real_subtotal,
|
||||
cb.pur_real_subtotal, cb.repur_push_income, cb.repur_range_income, cb.repur_expand_income, cb.repur_coach_income,
|
||||
cb.repur_real_subtotal, cb.cloud_direct_income, cb.cloud_pur_income, cb.cloud_repur_income, cb.cloud_real_subtotal,
|
||||
cb.repur_coupon, cb.repur_coupon_share, cb.repur_coupon_subtotal, cb.store_income,
|
||||
cb.maker_direct_income, cb.maker_share_income, cb.maker_real_subtotal, cb.hai_fun_income,
|
||||
cb.global_points, cb.car_award_points, cb.hi_fun_income, cb.pk_rate,bc.out_exchange_rate,
|
||||
cb.real_income_total,
|
||||
cm.pk_vertex,
|
||||
cm.service_code,
|
||||
cm.nick_name
|
||||
cb.real_income_total, cm.pk_vertex, cm.service_code, cm.nick_name
|
||||
from cu_member_bonus cb
|
||||
inner join cu_member cm
|
||||
on cb.pk_member = cm.pk_id
|
||||
|
@ -350,6 +351,7 @@
|
|||
nvl(sum(cb.repur_push_income),0) repur_push_income,
|
||||
nvl(sum(cb.repur_range_income),0) repur_range_income,
|
||||
nvl(sum(cb.repur_expand_income),0) repur_expand_income,
|
||||
nvl(sum(cb.repur_coach_income),0) repur_coach_income,
|
||||
nvl(sum(cb.repur_real_subtotal),0) repur_real_subtotal,
|
||||
nvl(sum(cb.cloud_direct_income),0) cloud_direct_income,
|
||||
nvl(sum(cb.cloud_pur_income),0) cloud_pur_income,
|
||||
|
@ -437,19 +439,22 @@
|
|||
</select>
|
||||
|
||||
<select id="queryBonusTotalVoByConditionForServer" resultMap="CuMemberBonus">
|
||||
select cb.period,cp.settle_date,nvl(min(bc.out_exchange_rate),1) out_exchange_rate,sum(cb.direct_income) direct_income,sum(cb.expand_income) expand_income,
|
||||
select cb.period ,cp.settle_date, nvl(min(bc.out_exchange_rate),1) out_exchange_rate,
|
||||
sum(cb.direct_income) direct_income, sum(cb.expand_income) expand_income,
|
||||
sum(cb.expand_no_capping) expand_no_capping, sum(cb.expand_capping) expand_capping, sum(cb.coach_income) coach_income,
|
||||
sum(cb.share_income) share_income, sum(cb.service_income) service_income, sum(cb.back_points) back_points,
|
||||
sum(cb.service_spend) service_spend, sum(cb.pur_real_subtotal) pur_real_subtotal,
|
||||
sum(cb.repur_push_income) repur_push_income, sum(cb.repur_range_income) repur_range_income,
|
||||
sum(cb.repur_expand_income) repur_expand_income,sum(cb.repur_real_subtotal) repur_real_subtotal,sum(cb.cloud_direct_income) cloud_direct_income,
|
||||
sum(cb.cloud_pur_income) cloud_pur_income,sum(cb.cloud_repur_income) cloud_repur_income,sum(cb.cloud_real_subtotal) cloud_real_subtotal,
|
||||
sum(cb.repur_expand_income) repur_expand_income, sum(cb.repur_coach_income) repur_coach_income, sum(cb.repur_real_subtotal) repur_real_subtotal,
|
||||
sum(cb.cloud_direct_income) cloud_direct_income, sum(cb.cloud_pur_income) cloud_pur_income,
|
||||
sum(cb.cloud_repur_income) cloud_repur_income, sum(cb.cloud_real_subtotal) cloud_real_subtotal,
|
||||
sum(cb.repur_coupon) repur_coupon, sum(repur_coupon_share) repur_coupon_share,
|
||||
sum(cb.repur_coupon_subtotal) repur_coupon_subtotal, sum(cb.global_points) global_points,
|
||||
sum(cb.car_award_points) car_award_points, sum(cb.hi_fun_income) hi_fun_income,
|
||||
sum(store_income) store_income, sum(cb.maker_direct_income) maker_direct_income,
|
||||
sum(cb.maker_share_income) maker_share_income, sum(cb.maker_real_subtotal) maker_real_subtotal,
|
||||
sum(cb.real_income_total) real_income_total from cu_member_bonus cb
|
||||
sum(cb.real_income_total) real_income_total
|
||||
from cu_member_bonus cb
|
||||
inner join cu_member_settle_period cp
|
||||
on cb.period = cp.pk_id
|
||||
left join bd_currency bc
|
||||
|
|
|
@ -5,15 +5,15 @@
|
|||
<insert id="insertCuMemberRepeatBonus">
|
||||
insert ALL
|
||||
<foreach item="item" index="index" collection="cuMemberRepeatBonusList" separator=" ">
|
||||
into CU_MEMBER_REPEAT_BONUS(pk_member,period,pk_rate,direct_income,expand_income,
|
||||
coach_income,share_income,service_income,back_points,service_spend,
|
||||
pur_real_subtotal,maker_direct_income,maker_share_income,maker_real_subtotal,real_income_total,
|
||||
into CU_MEMBER_REPEAT_BONUS(pk_member, period, pk_rate,
|
||||
direct_income, expand_income, coach_income, share_income, service_income,
|
||||
back_points, service_spend, pur_real_subtotal,
|
||||
maker_direct_income, maker_share_income, maker_real_subtotal, real_income_total,
|
||||
pk_country, pk_creator)
|
||||
values
|
||||
(#{item.pkMember},#{item.period},#{item.pkRate,jdbcType=INTEGER},#{item.directIncome},
|
||||
#{item.expandIncome},#{item.coachIncome},#{item.shareIncome},#{item.serviceIncome},
|
||||
#{item.backPoints},#{item.serviceSpend},#{item.purRealSubtotal},#{item.makerDirectIncome},
|
||||
#{item.makerShareIncome},#{item.makerRealSubtotal},#{item.realIncomeTotal},
|
||||
values (#{item.pkMember}, #{item.period}, #{item.pkRate, jdbcType=INTEGER},
|
||||
#{item.directIncome}, #{item.expandIncome}, #{item.coachIncome}, #{item.shareIncome}, #{item.serviceIncome},
|
||||
#{item.backPoints}, #{item.serviceSpend}, #{item.purRealSubtotal},
|
||||
#{item.makerDirectIncome}, #{item.makerShareIncome}, #{item.makerRealSubtotal}, #{item.realIncomeTotal},
|
||||
#{item.pkCountry}, #{item.pkCreator})
|
||||
</foreach>
|
||||
SELECT 1 FROM dual
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
<result column="REPUR_PUSH_INCOME" property="repurPushIncome"/>
|
||||
<result column="REPUR_RANGE_INCOME" property="repurRangeIncome"/>
|
||||
<result column="REPUR_EXPAND_INCOME" property="repurExpandIncome"/>
|
||||
<result column="REPUR_COACH_INCOME" property="repurCoachIncome"/>
|
||||
<result column="REPUR_REAL_SUBTOTAL" property="repurRealSubtotal"/>
|
||||
<result column="CLOUD_DIRECT_INCOME" property="cloudDirectIncome"/>
|
||||
<result column="CLOUD_PUR_INCOME" property="cloudPurIncome"/>
|
||||
|
|
|
@ -544,11 +544,11 @@ public class SaOrderHandle {
|
|||
});
|
||||
int level = cuMember.getPkSettleGrade();
|
||||
int rangeType = ERangeType.GRADE.getValue();
|
||||
BdAwards bdAwards = awardsServiceApi.getAwardsOne(cuMember.getPkAwards()).getData();
|
||||
if (bdAwards.getAwardsValue() > EAwards.MEMBER.getValue()) {
|
||||
level = cuMember.getPkAwards();
|
||||
rangeType = ERangeType.AWARDS.getValue();
|
||||
}
|
||||
// BdAwards bdAwards = awardsServiceApi.getAwardsOne(cuMember.getPkAwards()).getData();
|
||||
// if (bdAwards.getAwardsValue() > EAwards.MEMBER.getValue()) {
|
||||
// level = cuMember.getPkAwards();
|
||||
// rangeType = ERangeType.AWARDS.getValue();
|
||||
// }
|
||||
if (specsSkuList.size() == 0) {
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -4,11 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
import com.hzs.common.core.constant.SystemFieldConstants;
|
||||
import com.hzs.common.core.enums.EAwards;
|
||||
import com.hzs.common.core.enums.ERangeType;
|
||||
import com.hzs.common.domain.member.base.CuMember;
|
||||
import com.hzs.common.domain.sale.wares.BdWaresRange;
|
||||
import com.hzs.common.domain.system.config.BdAwards;
|
||||
import com.hzs.sale.wares.mapper.BdWaresRangeMapper;
|
||||
import com.hzs.sale.wares.service.IBdWaresRangeService;
|
||||
import com.hzs.system.config.IAwardsServiceApi;
|
||||
|
@ -38,11 +36,11 @@ public class BdWaresRangeServiceImpl extends ServiceImpl<BdWaresRangeMapper, BdW
|
|||
public List<BdWaresRange> queryWaresRangeByCondition(CuMember cuMember, List<Integer> pkWareList) {
|
||||
int level = cuMember.getPkSettleGrade();
|
||||
int rangeType = ERangeType.GRADE.getValue();
|
||||
BdAwards bdAwards = awardsServiceApi.getAwardsOne(cuMember.getPkAwards()).getData();
|
||||
if (bdAwards.getAwardsValue() > EAwards.MEMBER.getValue()) {
|
||||
level = cuMember.getPkAwards();
|
||||
rangeType = ERangeType.AWARDS.getValue();
|
||||
}
|
||||
// BdAwards bdAwards = awardsServiceApi.getAwardsOne(cuMember.getPkAwards()).getData();
|
||||
// if (bdAwards.getAwardsValue() > EAwards.MEMBER.getValue()) {
|
||||
// level = cuMember.getPkAwards();
|
||||
// rangeType = ERangeType.AWARDS.getValue();
|
||||
// }
|
||||
RangeDTO rangeDTO = rangeServiceApi.queryRangeDtoByCondition(cuMember.getPkSettleCountry(), rangeType, level).getData();
|
||||
if (rangeDTO == null) {
|
||||
return new ArrayList<>();
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
package com.hzs.system.config.controller.manage;
|
||||
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.hzs.common.core.annotation.Log;
|
||||
import com.hzs.common.core.constant.CacheConstants;
|
||||
import com.hzs.common.core.constant.msg.ConfigMsgConstants;
|
||||
|
@ -32,9 +31,7 @@ import java.util.Date;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 奖项配置 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author zhangjing
|
||||
* @since 2022-11-09
|
||||
|
@ -44,16 +41,12 @@ import java.util.List;
|
|||
public class BdBonusItemsController extends BaseController {
|
||||
|
||||
@Autowired
|
||||
private IBdBonusItemsService bonusItemsService;
|
||||
@DubboReference
|
||||
private ITransactionServiceApi iTransactionServiceApi;
|
||||
private IBdBonusItemsService iBdBonusItemsService;
|
||||
@Autowired
|
||||
private RedisService redisService;
|
||||
|
||||
@Autowired
|
||||
public void setRedisService(RedisService redisService) {
|
||||
this.redisService = redisService;
|
||||
}
|
||||
|
||||
@DubboReference
|
||||
ITransactionServiceApi iTransactionServiceApi;
|
||||
|
||||
/**
|
||||
* @description: 查询奖项配置列表
|
||||
|
@ -66,14 +59,14 @@ public class BdBonusItemsController extends BaseController {
|
|||
@GetMapping("/list")
|
||||
public TableDataInfo list(BdBonusItems bonusItems) {
|
||||
startPage();
|
||||
QueryWrapper<BdBonusItems> queryWrapper = new QueryWrapper();
|
||||
queryWrapper.eq("PK_COUNTRY", SecurityUtils.getPkCountry());
|
||||
LambdaQueryWrapper<BdBonusItems> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(BdBonusItems::getPkCountry, SecurityUtils.getPkCountry());
|
||||
if (StringUtils.isNotNull(bonusItems.getBonusName())) {
|
||||
queryWrapper.eq("BONUS_NAME",bonusItems.getBonusName());
|
||||
queryWrapper.eq(BdBonusItems::getBonusName, bonusItems.getBonusName());
|
||||
}
|
||||
queryWrapper.orderByAsc("PK_ID");
|
||||
queryWrapper.orderByAsc(BdBonusItems::getPkId);
|
||||
List<BdBonusItemsExt> listExt = new ArrayList<>();
|
||||
List<BdBonusItems> list = bonusItemsService.list(queryWrapper);
|
||||
List<BdBonusItems> list = iBdBonusItemsService.list(queryWrapper);
|
||||
list.forEach(item -> listExt.add(BeanUtil.copyProperties(item, BdBonusItemsExt.class)));
|
||||
TableDataInfo tableDataInfo = getDataTable(list);
|
||||
tableDataInfo.setRows(listExt);
|
||||
|
@ -90,18 +83,19 @@ public class BdBonusItemsController extends BaseController {
|
|||
@Log(module = EOperationModule.BONUS_CONFIG, business = EOperationBusiness.BONUS_ITEMS, method = EOperationMethod.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(HttpServletResponse response, BdBonusItems bonusItems) {
|
||||
QueryWrapper<BdBonusItems> queryWrapper = new QueryWrapper();
|
||||
queryWrapper.eq("PK_COUNTRY", SecurityUtils.getPkCountry());
|
||||
LambdaQueryWrapper<BdBonusItems> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(BdBonusItems::getPkCountry, SecurityUtils.getPkCountry());
|
||||
if (StringUtils.isNotNull(bonusItems.getBonusName())) {
|
||||
queryWrapper.eq("BONUS_NAME",bonusItems.getBonusName());
|
||||
queryWrapper.eq(BdBonusItems::getBonusName, bonusItems.getBonusName());
|
||||
}
|
||||
queryWrapper.orderByAsc("PK_ID");
|
||||
queryWrapper.orderByAsc(BdBonusItems::getPkId);
|
||||
List<BdBonusItemsExt> listExt = new ArrayList<>();
|
||||
List<BdBonusItems> list = bonusItemsService.list(queryWrapper);
|
||||
List<BdBonusItems> list = iBdBonusItemsService.list(queryWrapper);
|
||||
list.forEach(item -> listExt.add(BeanUtil.copyProperties(item, BdBonusItemsExt.class)));
|
||||
ExcelUtil<BdBonusItemsExt> util = new ExcelUtil<>(BdBonusItemsExt.class);
|
||||
util.exportExcel(response, listExt, "奖项配置");
|
||||
}
|
||||
|
||||
/**
|
||||
* @description: 查询奖项配置列表(下拉选)
|
||||
* @author: zhang jing
|
||||
|
@ -112,14 +106,14 @@ public class BdBonusItemsController extends BaseController {
|
|||
@Log(module = EOperationModule.BONUS_CONFIG, business = EOperationBusiness.BONUS_ITEMS, method = EOperationMethod.SELECT)
|
||||
@GetMapping("/listNoPage")
|
||||
public TableDataInfo listNoPage(BdBonusItems bonusItems) {
|
||||
QueryWrapper<BdBonusItems> queryWrapper = new QueryWrapper();
|
||||
queryWrapper.eq("PK_COUNTRY", SecurityUtils.getPkCountry());
|
||||
LambdaQueryWrapper<BdBonusItems> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(BdBonusItems::getPkCountry, SecurityUtils.getPkCountry());
|
||||
if (StringUtils.isNotNull(bonusItems.getBonusName())) {
|
||||
queryWrapper.eq("BONUS_NAME",bonusItems.getBonusName());
|
||||
queryWrapper.eq(BdBonusItems::getBonusName, bonusItems.getBonusName());
|
||||
}
|
||||
queryWrapper.orderByAsc("PK_ID");
|
||||
queryWrapper.orderByAsc(BdBonusItems::getPkId);
|
||||
List<ApiBdBonusItemsVO> listVO = new ArrayList<>();
|
||||
List<BdBonusItems> list = bonusItemsService.list(queryWrapper);
|
||||
List<BdBonusItems> list = iBdBonusItemsService.list(queryWrapper);
|
||||
list.forEach(item -> listVO.add(BeanUtil.copyProperties(item, ApiBdBonusItemsVO.class)));
|
||||
return getDataTable(listVO);
|
||||
}
|
||||
|
@ -134,7 +128,7 @@ public class BdBonusItemsController extends BaseController {
|
|||
@Log(module = EOperationModule.BONUS_CONFIG, business = EOperationBusiness.BONUS_ITEMS, method = EOperationMethod.INSERT)
|
||||
@PostMapping("/generate")
|
||||
public AjaxResult generate(@RequestBody BdBonusItems bonusItems) {
|
||||
return AjaxResult.success(bonusItemsService.generate(bonusItems));
|
||||
return AjaxResult.success(iBdBonusItemsService.generate(bonusItems));
|
||||
}
|
||||
|
||||
|
||||
|
@ -185,13 +179,10 @@ public class BdBonusItemsController extends BaseController {
|
|||
bonusItems.setPkModified(SecurityUtils.getUserId());
|
||||
bonusItems.setModifiedTime(new Date());
|
||||
redisService.deleteObject(CacheConstants.BD_BONUS_ITEMS + pkCountry);
|
||||
return toAjax(bonusItemsService.updateById(bonusItems));
|
||||
return toAjax(iBdBonusItemsService.updateById(bonusItems));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @description: 查询单条奖项配置
|
||||
* @author: zhang jing
|
||||
|
@ -202,7 +193,7 @@ public class BdBonusItemsController extends BaseController {
|
|||
@Log(module = EOperationModule.BONUS_CONFIG, business = EOperationBusiness.BONUS_ITEMS, method = EOperationMethod.SELECT)
|
||||
@GetMapping("/getOne/{pkId}")
|
||||
public AjaxResult getOne(@PathVariable Long pkId) {
|
||||
BdBonusItems bonusItems = bonusItemsService.getById(pkId);
|
||||
BdBonusItems bonusItems = iBdBonusItemsService.getById(pkId);
|
||||
BdBonusItemsExt bonusItemsExt = BeanUtil.copyProperties(bonusItems, BdBonusItemsExt.class);
|
||||
return AjaxResult.success(bonusItemsExt);
|
||||
}
|
||||
|
@ -218,19 +209,19 @@ public class BdBonusItemsController extends BaseController {
|
|||
@Log(module = EOperationModule.BONUS_CONFIG, business = EOperationBusiness.BONUS_ITEMS, method = EOperationMethod.DELETE)
|
||||
@DeleteMapping("/{pkId}")
|
||||
public AjaxResult delete(@PathVariable Long pkId) {
|
||||
UpdateWrapper<BdBonusItems> updateWrapper = new UpdateWrapper<>();
|
||||
updateWrapper.eq("PK_ID", pkId);
|
||||
updateWrapper.set("DEL_FLAG", EDelFlag.DELETE.getValue());
|
||||
updateWrapper.set("PK_MODIFIED", SecurityUtils.getUserId());
|
||||
updateWrapper.set("MODIFIED_TIME", new Date());
|
||||
LambdaUpdateWrapper<BdBonusItems> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.eq(BdBonusItems::getPkId, pkId);
|
||||
updateWrapper.set(BdBonusItems::getDelFlag, EDelFlag.DELETE.getValue());
|
||||
updateWrapper.set(BdBonusItems::getPkModified, SecurityUtils.getUserId());
|
||||
updateWrapper.set(BdBonusItems::getModifiedTime, new Date());
|
||||
redisService.deleteObject(CacheConstants.BD_BONUS_ITEMS + SecurityUtils.getPkCountry());
|
||||
//删除翻译
|
||||
BdBonusItems bdBonusItems=bonusItemsService.getById(pkId);
|
||||
BdBonusItems bdBonusItems = iBdBonusItemsService.getById(pkId);
|
||||
List<Long> pkIdList = new ArrayList<>();
|
||||
if (null != bdBonusItems.getPkTransaction()) {
|
||||
pkIdList.add(bdBonusItems.getPkTransaction().longValue());
|
||||
R<Boolean> b = iTransactionServiceApi.removeTransactionByPkId(pkIdList);
|
||||
}
|
||||
return toAjax(bonusItemsService.update(updateWrapper));
|
||||
return toAjax(iBdBonusItemsService.update(updateWrapper));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -114,6 +114,7 @@ public class BonusMsgConstants {
|
|||
// public static String REPURCHASE_EXPAND = "MSG_BONUS_016";
|
||||
public static String REPURCHASE_EXPAND = "当前是第%d碰,共%d碰,订单编号%s,%s为%s贡献了复购拓展收益,计算业绩%f,拓展比例%f。";
|
||||
|
||||
public static String REPURCHASE_COACH = "当前是第%d代,共#代,订单编号%s,%s为%s贡献了复购辅导收益,计算业绩%f,辅导比例%f。";
|
||||
|
||||
public static String BONUS_EXPAND_DELAY = "%s,拓展收益延缓发放";
|
||||
|
||||
|
|
|
@ -117,6 +117,11 @@ public enum EBonusItems {
|
|||
*/
|
||||
HELP_EACH_INCOME(24, "互助收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 24),
|
||||
|
||||
/**
|
||||
* 复购辅导收益
|
||||
*/
|
||||
REPURCHASE_COACHING_INCOME(25, "复购辅导收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 25),
|
||||
|
||||
;
|
||||
|
||||
public static EBonusItems getEnumByValue(int value) {
|
||||
|
|
|
@ -12,9 +12,7 @@ import lombok.EqualsAndHashCode;
|
|||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 奖金扣项配置
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-11-04
|
||||
|
|
|
@ -130,6 +130,12 @@ public class CuMemberBonus extends BaseEntity {
|
|||
@TableField("REPUR_EXPAND_INCOME")
|
||||
private BigDecimal repurExpandIncome;
|
||||
|
||||
/**
|
||||
* 复购辅导收益
|
||||
*/
|
||||
@TableField("REPUR_COACH_INCOME")
|
||||
private BigDecimal repurCoachIncome;
|
||||
|
||||
/**
|
||||
* 复购实发小计
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue