## 秒结、日结处理会员激活状态;

This commit is contained in:
cabbage 2025-06-12 17:03:38 +08:00
parent f4c6516e10
commit 97b828b4b9
4 changed files with 53 additions and 91 deletions

View File

@ -26,58 +26,13 @@ import java.util.Collections;
import java.util.Date;
import java.util.List;
/**
* @Description:
* @Author: sui q
* @Time: 2023/1/13 9:39
* @Classname: ApiCuMemberBonusController
* @PackageName: com.hzs.member.bonus.controller.api
*/
@RestController
@RequestMapping("/api/bonus")
@Slf4j
public class ApiCuMemberBonusController extends BaseController {
private ICuMemberBonusService cuMemberBonusService;
@Autowired
public void setCuMemberBonusService(ICuMemberBonusService cuMemberBonusService) {
this.cuMemberBonusService = cuMemberBonusService;
}
// /**
// * 查询会员某个时间段内的奖金默认查询15天内,查询直推
// */
// @PostMapping("/query-bonus-first")
// public TableDataInfo listFirstRepurchaseBonus(@RequestBody BonusParam bonusParam){
// setBonusParam(bonusParam);
// List<CuMemberBonusExt> cuMemberBonusList = cuMemberBonusService.queryMemberBonusVoByCondition(bonusParam);
// List<MemberBonusFirstPurchaseVO> firstPurchaseVOList = new ArrayList<>();
// cuMemberBonusList.forEach(cuMemberBonus -> {
// MemberBonusFirstPurchaseVO memberBonusFirstPurchaseVO = BeanUtil.copyProperties(cuMemberBonus, MemberBonusFirstPurchaseVO.class, "settleDate");
// packageSettleDate(cuMemberBonus, memberBonusFirstPurchaseVO);
//// if(DateUtils.compareDate(cuMemberBonus.getSettleDate(), DateUtils.parseStringToDate("2024-09-09"))>0) {
// 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.getRepurRangeIncome(), memberBonusFirstPurchaseVO.getRepurPushIncome()));
// memberBonusFirstPurchaseVO.setPurRealSubtotal(ComputeUtil.computeAdd(memberBonusFirstPurchaseVO.getPurRealSubtotal(), memberBonusFirstPurchaseVO.getRepurRealSubtotal()));
//// }else{
//// BigDecimal serviceSpend = ComputeUtil.computeSubtract(ComputeUtil.computeAddNum(memberBonusFirstPurchaseVO.getDirectIncome(), memberBonusFirstPurchaseVO.getExpandIncome(),
//// memberBonusFirstPurchaseVO.getCoachIncome(), memberBonusFirstPurchaseVO.getServiceIncome(), memberBonusFirstPurchaseVO.getShareIncome(),
//// memberBonusFirstPurchaseVO.getRepurExpandIncome(), memberBonusFirstPurchaseVO.getRepurExpandIncome()),
//// ComputeUtil.computeAdd(memberBonusFirstPurchaseVO.getPurRealSubtotal(), memberBonusFirstPurchaseVO.getRepurRealSubtotal()));
//// memberBonusFirstPurchaseVO.setBackPoints(ComputeUtil.computeMultiplyHalf(serviceSpend));
//// memberBonusFirstPurchaseVO.setServiceSpend(ComputeUtil.computeMultiplyHalf(serviceSpend));
//// }
// firstPurchaseVOList.add(memberBonusFirstPurchaseVO);
// });
// return getDataTable(firstPurchaseVOList);
// }
private ICuMemberBonusService cuMemberBonusService;
/**
* 查询会员某个时间段内的奖金默认查询15天内,查询直推
@ -128,6 +83,7 @@ public class ApiCuMemberBonusController extends BaseController {
bonusParam.setStartDate(DateUtils.currentDate());
bonusParam.setEndDate(DateUtils.afterDate(1, ChronoUnit.DAYS, DateUtils.currentDate()));
bonusParam.setGrantStatus(EGrantStatus.SETTLED.getValue());
List<CuMemberBonusExt> cuMemberBonusList = cuMemberBonusService.queryMemberSecondBonusVoByCondition(bonusParam);
List<MemberBonusVO> memberBonusVOList = new ArrayList<>();
cuMemberBonusList.forEach(cuMemberBonus -> {

View File

@ -58,6 +58,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
private IBonusOrderService iBonusOrderService;
/**
* 秒结
* 实时计算秒结数据业绩盒数等级奖衔日奖
*/
List<CuMemberBonusRange> calculateCuMemberRetailRangeBonusBySecond(String settleDate, SaOrderExt saOrderExt, BonusConfigDTO bonusConfigDTO,
@ -143,9 +144,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 指定盒数商品
// 计算直推级差收益 + 平级收益
cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, currentPeriod, saOrderItems, saOrderExt));
// 注册升级 并且有盒数商品算激活
sourceMemberRangeExt.setEnableStatus(EYesNo.YES.getIntValue());
}
}
}
@ -470,14 +468,15 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 会员奖金明细
List<CuMemberBonusDetail> cuMemberBonusDetailList = new ArrayList<>();
for (SaOrderExt saOrderExt : retailOrderList) {
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() ||
EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) {
// 注册升级才能算激活状态
sourceMemberRangeExt.setEnableStatus(EYesNo.YES.getIntValue());
}
}
// 上面更新网体按会员表是否激活进行处理
// for (SaOrderExt saOrderExt : retailOrderList) {
// CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
// if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() ||
// EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) {
// // 注册升级才能算激活状态
// sourceMemberRangeExt.setEnableStatus(EYesNo.YES.getIntValue());
// }
// }
for (SaOrderExt saOrderExt : retailOrderList) {
// 计算自消费奖衔

View File

@ -1,7 +1,7 @@
package com.hzs.bonus.bonus.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.BigDecimalFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -12,11 +12,7 @@ import java.math.BigDecimal;
import java.util.Date;
/**
* @Description: 用于查询会员奖金
* @Author: sui q
* @Time: 2023/1/13 10:38
* @Classname: MemberBonusVO
* @PackageName: com.hzs.member.bonus.vo
* 用于查询会员奖金
*/
@Data
@Builder
@ -97,6 +93,7 @@ public class MemberBonusVO implements Serializable {
/**
* 商城重消
*/
@BigDecimalFormat
private BigDecimal backPoints;
/**
@ -117,6 +114,7 @@ public class MemberBonusVO implements Serializable {
/**
* 实发收益总计
*/
@BigDecimalFormat
private BigDecimal realIncomeTotal;
/**
@ -130,18 +128,21 @@ public class MemberBonusVO implements Serializable {
private Integer pkCountry;
/**
* 新零售差收益
* 新零售直推级差收益
*/
@BigDecimalFormat
private BigDecimal retailRangeIncome;
/**
* 新零售平级收益
*/
@BigDecimalFormat
private BigDecimal retailSameLevelIncome;
/**
* 新零售区域收益
*/
@BigDecimalFormat
private BigDecimal retailAreaIncome;
/**
@ -162,6 +163,7 @@ public class MemberBonusVO implements Serializable {
/**
* 新零售收益小计
*/
@BigDecimalFormat
private BigDecimal retailRealSubtotal;
/**

View File

@ -92,7 +92,8 @@
select pk_member,consume_box_num,new_box_num,team_box_num,month_box_num,team_new_box_num,enable_status,
consume_pv,month_consume_pv,new_consume_pv,team_consume_amount,team_consume_pv,pk_share_awards,
team_month_amount,team_month_pv,team_new_amount,team_new_pv,recommend_num,team_num,pk_grade,
big_box_num,small_box_num,big_team_pv,small_team_pv from ${yesterdayRangeTableName}
big_box_num,small_box_num,big_team_pv,small_team_pv
from ${yesterdayRangeTableName}
) b
on (a.pk_member=b.pk_member)
when matched then
@ -298,7 +299,7 @@
a.pk_country,
a.pk_settle_country,
a.pk_share_awards,
a.enable_status,
nvl(cm.is_activate, a.enable_status) enable_status
consume_box_num,
new_box_num,
team_box_num,
@ -334,6 +335,10 @@
start with pk_member = #{item}
connect by pk_member = prior pk_parent
) a
left join cu_member cm
on cm.pk_id = a.pk_member
and cm.del_flag = 0
and cm.category = 0
inner join bd_grade ba
on a.pk_grade = ba.pk_id
inner join bd_awards bw
@ -576,7 +581,7 @@
cm.income_status,
cm.pay_time,
b.pk_rate,
a.enable_status,
nvl(cm.is_activate, a.enable_status) enable_status,
nvl(b.consume_box_num, 0) + a.new_box_num consume_box_num,
a.new_box_num,
nvl(b.team_box_num, 0) + a.team_new_box_num team_box_num,