3
0
Fork 0

## 奖金明细、奖金汇总接口调整;

This commit is contained in:
cabbage 2025-06-13 14:16:09 +08:00
parent e064d87223
commit 8eebb3fdfa
6 changed files with 112 additions and 105 deletions

View File

@ -32,7 +32,7 @@ import java.util.List;
public class ApiCuMemberBonusController extends BaseController {
@Autowired
private ICuMemberBonusService cuMemberBonusService;
private ICuMemberBonusService iCuMemberBonusService;
/**
* 新零售实时奖金查询会员实时奖金当日的奖金
@ -45,7 +45,7 @@ public class ApiCuMemberBonusController extends BaseController {
bonusParam.setEndDate(DateUtils.afterDate(1, ChronoUnit.DAYS, DateUtils.currentDate()));
bonusParam.setGrantStatus(EGrantStatus.SETTLED.getValue());
List<CuMemberBonusExt> cuMemberBonusList = cuMemberBonusService.queryMemberSecondBonusVoByCondition(bonusParam);
List<CuMemberBonusExt> cuMemberBonusList = iCuMemberBonusService.queryMemberSecondBonusVoByCondition(bonusParam);
List<MemberBonusVO> memberBonusVOList = new ArrayList<>();
cuMemberBonusList.forEach(cuMemberBonus -> {
if (ComputeUtil.compareValue(cuMemberBonus.getRealIncomeTotal())) {
@ -63,25 +63,19 @@ public class ApiCuMemberBonusController extends BaseController {
}
/**
* 查询会员某个时间段内的奖金默认查询15天内,查询直推
* 新零售实时奖金查询会员奖金列表
*/
@PostMapping("/query-bonus-first")
public TableDataInfo listFirstRepurchaseBonus(@RequestBody BonusParam bonusParam) {
setBonusParam(bonusParam);
List<CuMemberBonusExt> cuMemberBonusList = cuMemberBonusService.queryMemberBonusVoByCondition(bonusParam);
startPage();
List<CuMemberBonusExt> cuMemberBonusList = iCuMemberBonusService.queryMemberBonusVoByCondition(bonusParam);
List<MemberBonusFirstPurchaseVO> firstPurchaseVOList = new ArrayList<>();
cuMemberBonusList.forEach(cuMemberBonus -> {
MemberBonusFirstPurchaseVO memberBonusFirstPurchaseVO = BeanUtil.copyProperties(cuMemberBonus, MemberBonusFirstPurchaseVO.class, "settleDate");
packageSettleDate(cuMemberBonus, memberBonusFirstPurchaseVO);
BigDecimal serviceSpend = ComputeUtil.computeSubtract(ComputeUtil.computeAddNum(memberBonusFirstPurchaseVO.getDirectIncome(), memberBonusFirstPurchaseVO.getExpandIncome(),
memberBonusFirstPurchaseVO.getCoachIncome(), memberBonusFirstPurchaseVO.getServiceIncome(), memberBonusFirstPurchaseVO.getShareIncome(),
memberBonusFirstPurchaseVO.getRepurExpandIncome(), memberBonusFirstPurchaseVO.getRepurRangeIncome(), memberBonusFirstPurchaseVO.getRepurPushIncome()),
ComputeUtil.computeAdd(memberBonusFirstPurchaseVO.getPurRealSubtotal(), memberBonusFirstPurchaseVO.getRepurRealSubtotal()));
memberBonusFirstPurchaseVO.setBackPoints(ComputeUtil.computeMultiplyHalf(serviceSpend));
memberBonusFirstPurchaseVO.setServiceSpend(ComputeUtil.computeMultiplyHalf(serviceSpend));
memberBonusFirstPurchaseVO.setExpandIncome(ComputeUtil.computeAddNum(memberBonusFirstPurchaseVO.getExpandIncome(), memberBonusFirstPurchaseVO.getRepurExpandIncome(), memberBonusFirstPurchaseVO.getRepurPushIncome()));
memberBonusFirstPurchaseVO.setPurRealSubtotal(ComputeUtil.computeAdd(memberBonusFirstPurchaseVO.getPurRealSubtotal(), memberBonusFirstPurchaseVO.getRepurRealSubtotal()));
memberBonusFirstPurchaseVO.setPurRealSubtotal(ComputeUtil.computeAdd(memberBonusFirstPurchaseVO.getPurRealSubtotal(), memberBonusFirstPurchaseVO.getGlobalPoints()));
firstPurchaseVOList.add(memberBonusFirstPurchaseVO);
});
return getDataTable(firstPurchaseVOList);
@ -97,12 +91,13 @@ public class ApiCuMemberBonusController extends BaseController {
bonusParam.setEndDate(DateUtils.currentDate());
bonusParam.setStartDate(DateUtils.beforeDate(1, ChronoUnit.DAYS, bonusParam.getEndDate()));
List<CuMemberBonusExt> cuMemberBonusList = cuMemberBonusService.queryMemberBonusTotalByCondition(bonusParam);
List<CuMemberBonusExt> cuMemberBonusList = iCuMemberBonusService.queryMemberBonusTotalByCondition(bonusParam);
MemberRealIncomeVO memberRealIncomeVO = new MemberRealIncomeVO();
if (CollectionUtil.isEmpty(cuMemberBonusList)) {
memberRealIncomeVO.setRealIncomeTotal(BigDecimal.ZERO);
} else {
memberRealIncomeVO.setRealIncomeTotal(ComputeUtil.computeAdd(cuMemberBonusList.get(0).getRealIncomeTotal(), cuMemberBonusList.get(0).getBackPoints()));
// memberRealIncomeVO.setRealIncomeTotal(ComputeUtil.computeAdd(cuMemberBonusList.get(0).getRealIncomeTotal(), cuMemberBonusList.get(0).getBackPoints()));
memberRealIncomeVO.setRealIncomeTotal(cuMemberBonusList.get(0).getRealIncomeTotal());
}
return getDataTable(Collections.singletonList(memberRealIncomeVO));
}
@ -113,7 +108,7 @@ public class ApiCuMemberBonusController extends BaseController {
@PostMapping("/query-bonus-repurchase")
public TableDataInfo listRepurchaseBonus(@RequestBody BonusParam bonusParam) {
setBonusParam(bonusParam);
List<CuMemberBonusExt> cuMemberBonusList = cuMemberBonusService.queryMemberBonusVoByCondition(bonusParam);
List<CuMemberBonusExt> cuMemberBonusList = iCuMemberBonusService.queryMemberBonusVoByCondition(bonusParam);
List<MemberBonusPurchaseVO> memberBonusPurchaseVoList = new ArrayList<>();
cuMemberBonusList.forEach(cuMemberBonus -> {
MemberBonusPurchaseVO memberBonusPurchaseVO = BeanUtil.copyProperties(cuMemberBonus, MemberBonusPurchaseVO.class, "settleDate");
@ -136,7 +131,7 @@ public class ApiCuMemberBonusController extends BaseController {
@PostMapping("/query-bonus-hi-fun")
public TableDataInfo listHiFunBonus(@RequestBody BonusParam bonusParam) {
setBonusParam(bonusParam);
List<CuMemberBonusExt> cuMemberBonusList = cuMemberBonusService.queryMemberBonusVoByCondition(bonusParam);
List<CuMemberBonusExt> cuMemberBonusList = iCuMemberBonusService.queryMemberBonusVoByCondition(bonusParam);
List<MemberBonusHiFunVO> bonusHiFunVoList = new ArrayList<>();
cuMemberBonusList.forEach(cuMemberBonus -> {
MemberBonusHiFunVO memberBonusHiFunVO = BeanUtil.copyProperties(cuMemberBonus, MemberBonusHiFunVO.class, "settleDate");
@ -160,6 +155,7 @@ public class ApiCuMemberBonusController extends BaseController {
private void setBonusParam(@RequestBody BonusParam bonusParam) {
bonusParam.setPkCountry(SecurityUtils.getPkCountry());
bonusParam.setPkMember(SecurityUtils.getUserId());
Date startDate = DateUtils.beforeDate(15, ChronoUnit.DAYS, DateUtils.currentDate());
if (bonusParam.getStartDate() == null) {
bonusParam.setStartDate(startDate);
@ -180,7 +176,7 @@ public class ApiCuMemberBonusController extends BaseController {
public TableDataInfo listBonusSource(@RequestBody BonusParam bonusParam) {
setBonusParam(bonusParam);
startPage();
TableDataInfo tableDataInfo = cuMemberBonusService.queryMemberBonusDetailVoByCondition(bonusParam);
TableDataInfo tableDataInfo = iCuMemberBonusService.queryMemberBonusDetailVoByCondition(bonusParam);
return tableDataInfo;
}

View File

@ -21,7 +21,6 @@ import com.hzs.common.core.domain.R;
import com.hzs.common.core.enums.*;
import com.hzs.common.core.utils.ComputeUtil;
import com.hzs.common.core.utils.DateUtils;
import com.hzs.common.core.utils.StringUtils;
import com.hzs.common.core.web.page.TableDataInfo;
import com.hzs.common.domain.member.bonus.CuMemberBonus;
import com.hzs.common.domain.member.ext.*;
@ -135,27 +134,28 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
@Override
public List<CuMemberBonusExt> queryMemberBonusVoByCondition(BonusParam bonusParam) {
String value = iSystemConfigServiceApi.getBonusSystemConfig(bonusParam.getPkCountry(), ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData();
if (StringUtils.isNotEmpty(value) && Objects.equals(Integer.toString(EExpandCapMethod.WEEK_SETTLE.getValue()), value)) {
// 周结的话不能查询当前周的数据只能查询上周的数据
bonusParam.setEndDate(DateUtils.parseStringToDate(DateUtils.getRecentlyTuesday(bonusParam.getEndDate())));
}
return handleMemberBonusPurchase(getCuMemberBonusExtList(bonusParam), bonusParam, value);
// String value = iSystemConfigServiceApi.getBonusSystemConfig(bonusParam.getPkCountry(), ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData();
// if (StringUtils.isNotEmpty(value) && Objects.equals(Integer.toString(EExpandCapMethod.WEEK_SETTLE.getValue()), value)) {
// // 周结的话不能查询当前周的数据只能查询上周的数据
// bonusParam.setEndDate(DateUtils.parseStringToDate(DateUtils.getRecentlyTuesday(bonusParam.getEndDate())));
// }
return handleMemberBonusPurchase(getCuMemberBonusExtList(bonusParam), bonusParam);
}
private List<CuMemberBonusExt> handleMemberBonusPurchase(List<CuMemberBonusExt> cuMemberBonusExtList, BonusParam bonusParam, String value) {
if (StringUtils.isNotEmpty(value) && Objects.equals(Integer.toString(EExpandCapMethod.WEEK_SETTLE.getValue()), value)) {
Collections.reverse(cuMemberBonusExtList);
return cuMemberBonusExtList;
}
private List<CuMemberBonusExt> handleMemberBonusPurchase(List<CuMemberBonusExt> cuMemberBonusExtList, BonusParam bonusParam) {
// if (StringUtils.isNotEmpty(value) && Objects.equals(Integer.toString(EExpandCapMethod.WEEK_SETTLE.getValue()), value)) {
// Collections.reverse(cuMemberBonusExtList);
// return cuMemberBonusExtList;
// }
List<CuMemberBonusExt> memberBonusExtList = new ArrayList<>();
Map<String, CuMemberBonusExt> cuMemberBonusExtMap = new HashMap<>();
cuMemberBonusExtList.forEach(cuMemberBonusExt ->
cuMemberBonusExtMap.put(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, cuMemberBonusExt.getSettleDate()), cuMemberBonusExt));
cuMemberBonusExtList.forEach(cuMemberBonusExt -> cuMemberBonusExtMap.put(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, cuMemberBonusExt.getSettleDate()), cuMemberBonusExt));
Date endDate = DateUtils.beforeDate(1, ChronoUnit.DAYS, bonusParam.getEndDate());
Date compareDate = DateUtils.parseStringToDateTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.currentDate()) + " 13:00:00");
while (DateUtils.compareDateAfter(endDate, bonusParam.getStartDate()) ||
DateUtils.compareDateEqual(endDate, bonusParam.getStartDate())) {
while (DateUtils.compareDateAfter(endDate, bonusParam.getStartDate())
|| DateUtils.compareDateEqual(endDate, bonusParam.getStartDate())) {
String date = DateUtils.parseDateToFormat(DateUtils.YYYY_MM_DD, endDate);
if (cuMemberBonusExtMap.containsKey(date)) {
memberBonusExtList.add(cuMemberBonusExtMap.get(date));
@ -178,22 +178,14 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
cuMemberBonusExt.setRepurRangeIncome(BigDecimal.ZERO);
cuMemberBonusExt.setRepurExpandIncome(BigDecimal.ZERO);
cuMemberBonusExt.setRepurRealSubtotal(BigDecimal.ZERO);
cuMemberBonusExt.setCloudDirectIncome(BigDecimal.ZERO);
cuMemberBonusExt.setCloudPurIncome(BigDecimal.ZERO);
cuMemberBonusExt.setCloudRepurIncome(BigDecimal.ZERO);
cuMemberBonusExt.setCloudRealSubtotal(BigDecimal.ZERO);
cuMemberBonusExt.setRepurCoupon(BigDecimal.ZERO);
cuMemberBonusExt.setRepurCouponShare(BigDecimal.ZERO);
cuMemberBonusExt.setRepurCouponSubtotal(BigDecimal.ZERO);
cuMemberBonusExt.setMakerDirectIncome(BigDecimal.ZERO);
cuMemberBonusExt.setMakerShareIncome(BigDecimal.ZERO);
cuMemberBonusExt.setMakerRealSubtotal(BigDecimal.ZERO);
cuMemberBonusExt.setGlobalPoints(BigDecimal.ZERO);
cuMemberBonusExt.setCarAwardPoints(BigDecimal.ZERO);
cuMemberBonusExt.setHiFunIncome(BigDecimal.ZERO);
cuMemberBonusExt.setHaiFunIncome(BigDecimal.ZERO);
cuMemberBonusExt.setRealIncomeTotal(BigDecimal.ZERO);
cuMemberBonusExt.setStoreIncome(BigDecimal.ZERO);
cuMemberBonusExt.setRetailRangeIncome(BigDecimal.ZERO);
cuMemberBonusExt.setRetailSameLevelIncome(BigDecimal.ZERO);
cuMemberBonusExt.setRetailAreaIncome(BigDecimal.ZERO);

View File

@ -1,84 +1,111 @@
package com.hzs.bonus.bonus.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import com.hzs.common.core.annotation.BigDecimalFormat;
import lombok.*;
import java.math.BigDecimal;
/**
* @description: 查询首购奖金
* @author: sui q
* @time: 2023/4/28 10:33
* @classname: MemberBonusDirectVO
* @package_name: com.hzs.member.bonus.vo
* version 1.0.0
* 查询首购奖金
*/
@EqualsAndHashCode(callSuper = true)
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class MemberBonusFirstPurchaseVO extends PubMemberBonusVO {
/**
* 直推收益
*/
private BigDecimal directIncome;
/**
* 拓展收益
*/
private BigDecimal expandIncome;
/**
* 辅导收益
*/
private BigDecimal coachIncome;
/**
* 分红收益
*/
private BigDecimal shareIncome;
/**
* 报单收益
*/
private BigDecimal serviceIncome;
// /**
// * 直推收益
// */
// private BigDecimal directIncome;
//
// /**
// * 拓展收益
// */
// private BigDecimal expandIncome;
//
// /**
// * 辅导收益
// */
// private BigDecimal coachIncome;
//
// /**
// * 分红收益
// */
// private BigDecimal shareIncome;
//
// /**
// * 报单收益
// */
// private BigDecimal serviceIncome;
/**
* 商城重消
*/
@BigDecimalFormat
private BigDecimal backPoints;
//
// /**
// * 首购实发小计
// */
// private BigDecimal purRealSubtotal;
//
// /**
// * 复购推荐收益
// */
// private BigDecimal repurPushIncome;
//
// /**
// * 复购拓展收益
// */
// private BigDecimal repurExpandIncome;
//
// /**
// * 复购级差收益
// */
// private BigDecimal repurRangeIncome;
//
// /**
// * 复购实发小计
// */
// private BigDecimal repurRealSubtotal;
//
// /**
// * 乐学直推收益
// */
// private BigDecimal globalPoints;
/**
* 首购实发小计
* 新零售直推收益
*/
private BigDecimal purRealSubtotal;
@BigDecimalFormat
private BigDecimal retailRangeIncome;
/**
* 复购推荐收益
* 新零售平级收益
*/
private BigDecimal repurPushIncome;
@BigDecimalFormat
private BigDecimal retailSameLevelIncome;
/**
* 复购拓展收益
* 新零售区域分红
*/
private BigDecimal repurExpandIncome;
@BigDecimalFormat
private BigDecimal retailAreaIncome;
/**
* 复购级差收益
* 新零售收益小计
*/
private BigDecimal repurRangeIncome;
@BigDecimalFormat
private BigDecimal retailRealSubtotal;
/**
* 复购实发小计
* 实发收益总
*/
private BigDecimal repurRealSubtotal;
/**
* 乐学直推收益
*/
private BigDecimal globalPoints;
@BigDecimalFormat
private BigDecimal realIncomeTotal;
}

View File

@ -1,17 +1,13 @@
package com.hzs.bonus.bonus.vo;
import com.hzs.common.core.annotation.BigDecimalFormat;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @description: 会员实发收益
* @author: sui q
* @time: 2023/7/6 14:25
* @classname: MemberRealIncomeVO
* @package_name: com.hzs.member.bonus.vo
* version 1.0.0
* 会员实发收益
*/
@Data
public class MemberRealIncomeVO implements Serializable {
@ -19,5 +15,6 @@ public class MemberRealIncomeVO implements Serializable {
/**
* 实发收益总计
*/
@BigDecimalFormat
private BigDecimal realIncomeTotal;
}

View File

@ -10,6 +10,7 @@ import java.math.BigDecimal;
*/
@Data
public class PubMemberBonusVO implements Serializable {
/**
* 结算日期
*/
@ -19,4 +20,5 @@ public class PubMemberBonusVO implements Serializable {
* 平台服务费
*/
private BigDecimal serviceSpend;
}

View File

@ -1,7 +1,6 @@
package com.hzs.retail.member.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.hzs.common.core.annotation.BigDecimalFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
@ -17,12 +16,6 @@ import java.util.List;
/**
* 会员业绩
*
* @Description:
* @Author: ljc
* @Time: 2023/5/5 20:08
* @Classname: CuMemberAwardsUnderVO
* @Package_name: com.hzs.member.achieve.vo
*/
@Data
@Builder