forked from angelo/java-retail-app
## 奖金明细、奖金汇总接口调整;
This commit is contained in:
parent
e064d87223
commit
8eebb3fdfa
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue