Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
sangelxiu1 2025-09-29 13:58:52 +08:00
commit 793429a502
10 changed files with 49 additions and 37 deletions

View File

@ -10,14 +10,11 @@ import com.hzs.bonus.bonus.vo.MemberBonusDetailSerVO;
import com.hzs.common.core.annotation.AccessPermissions; import com.hzs.common.core.annotation.AccessPermissions;
import com.hzs.common.core.annotation.ColumnAuthority; import com.hzs.common.core.annotation.ColumnAuthority;
import com.hzs.common.core.annotation.Log; import com.hzs.common.core.annotation.Log;
import com.hzs.common.core.constant.BonusFieldConstants;
import com.hzs.common.core.constant.EnumsPrefixConstants; import com.hzs.common.core.constant.EnumsPrefixConstants;
import com.hzs.common.core.enums.*; 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.DateUtils;
import com.hzs.common.core.utils.StringUtils; import com.hzs.common.core.utils.StringUtils;
import com.hzs.common.core.utils.poi.ExcelUtil; import com.hzs.common.core.utils.poi.ExcelUtil;
import com.hzs.common.core.utils.reflect.ReflectUtils;
import com.hzs.common.core.web.controller.BaseController; import com.hzs.common.core.web.controller.BaseController;
import com.hzs.common.core.web.page.TableDataInfo; import com.hzs.common.core.web.page.TableDataInfo;
import com.hzs.common.domain.member.ext.CuMemberBonusExt; import com.hzs.common.domain.member.ext.CuMemberBonusExt;
@ -180,13 +177,8 @@ public class CuMemberBonusController extends BaseController {
List<CuMemberBonusVO> cuMemberBonusVoList = new ArrayList<>(cuMemberBonusExtList.size()); List<CuMemberBonusVO> cuMemberBonusVoList = new ArrayList<>(cuMemberBonusExtList.size());
for (CuMemberBonusExt cuMemberBonusExt : cuMemberBonusExtList) { for (CuMemberBonusExt cuMemberBonusExt : cuMemberBonusExtList) {
CuMemberBonusVO cuMemberBonusVO = BeanUtil.copyProperties(cuMemberBonusExt, CuMemberBonusVO.class); CuMemberBonusVO cuMemberBonusVO = BeanUtil.copyProperties(cuMemberBonusExt, CuMemberBonusVO.class);
cuMemberBonusVO.setMemberCode(cuMemberBonusExt.getMemberCode()); cuMemberBonusVO.setMemberCode(cuMemberBonusExt.getMemberCode());
cuMemberBonusVO.setMemberName(cuMemberBonusExt.getMemberName()); cuMemberBonusVO.setMemberName(cuMemberBonusExt.getMemberName());
for (String key : CuMemberBonusVO.INCOME_ARRAY) {
ReflectUtils.invokeSetter(cuMemberBonusVO, key + BonusFieldConstants.INCOME_SUFFIX, ComputeUtil.computeMultiply(ReflectUtils.invokeGetter(cuMemberBonusExt, key), cuMemberBonusExt.getOutExchangeRate()));
}
cuMemberBonusVoList.add(cuMemberBonusVO); cuMemberBonusVoList.add(cuMemberBonusVO);
} }
return cuMemberBonusVoList; return cuMemberBonusVoList;

View File

@ -133,7 +133,6 @@ public abstract class BonusSettleHandle {
.period(period) .period(period)
.pkRate(pkRate) .pkRate(pkRate)
.incomeStatus(incomeStatus) .incomeStatus(incomeStatus)
.directIncome(BigDecimal.ZERO)
.expandIncome(BigDecimal.ZERO) .expandIncome(BigDecimal.ZERO)
.expandNoCapping(BigDecimal.ZERO) .expandNoCapping(BigDecimal.ZERO)
.expandCapping(BigDecimal.ZERO) .expandCapping(BigDecimal.ZERO)
@ -154,23 +153,25 @@ public abstract class BonusSettleHandle {
.repurCoupon(BigDecimal.ZERO) .repurCoupon(BigDecimal.ZERO)
.repurCouponShare(BigDecimal.ZERO) .repurCouponShare(BigDecimal.ZERO)
.repurCouponSubtotal(BigDecimal.ZERO) .repurCouponSubtotal(BigDecimal.ZERO)
.globalPoints(BigDecimal.ZERO)
.carAwardPoints(BigDecimal.ZERO) .carAwardPoints(BigDecimal.ZERO)
.hiFunIncome(BigDecimal.ZERO) .hiFunIncome(BigDecimal.ZERO)
.haiFunIncome(BigDecimal.ZERO) .haiFunIncome(BigDecimal.ZERO)
.storeIncome(BigDecimal.ZERO)
.makerDirectIncome(BigDecimal.ZERO) .makerDirectIncome(BigDecimal.ZERO)
.makerShareIncome(BigDecimal.ZERO) .makerShareIncome(BigDecimal.ZERO)
.makerRealSubtotal(BigDecimal.ZERO) .makerRealSubtotal(BigDecimal.ZERO)
.realIncomeTotal(BigDecimal.ZERO) .realIncomeTotal(BigDecimal.ZERO)
.retailRangeIncome(BigDecimal.ZERO)
.retailSameLevelIncome(BigDecimal.ZERO)
.retailAreaIncome(BigDecimal.ZERO) .retailAreaIncome(BigDecimal.ZERO)
.retailBenefitRangeIncome(BigDecimal.ZERO) .retailBenefitRangeIncome(BigDecimal.ZERO)
.retailMonthRepurchaseIncome(BigDecimal.ZERO) .retailMonthRepurchaseIncome(BigDecimal.ZERO)
.retailBenefitAvgIncome(BigDecimal.ZERO) .retailBenefitAvgIncome(BigDecimal.ZERO)
.retailBenefitIncome(BigDecimal.ZERO) .retailBenefitIncome(BigDecimal.ZERO)
.retailRealSubtotal(BigDecimal.ZERO) .retailRealSubtotal(BigDecimal.ZERO)
.directIncome(BigDecimal.ZERO)
.globalPoints(BigDecimal.ZERO)
.retailRangeIncome(BigDecimal.ZERO)
.retailSameLevelIncome(BigDecimal.ZERO)
.storeIncome(BigDecimal.ZERO)
.build(); .build();
cuMemberBonus.setPkCreator(MagicNumberConstants.PK_ADMIN); cuMemberBonus.setPkCreator(MagicNumberConstants.PK_ADMIN);
cuMemberBonus.setPkCountry(pkCountry); cuMemberBonus.setPkCountry(pkCountry);

View File

@ -1048,8 +1048,8 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) { if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) {
cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember());
} }
// 累计业绩 = 团队累计消费业绩 // 累计业绩 = 团队累计消费业绩 + 个人累计消费业绩
BigDecimal consumePv = cuMemberRetailRangeExt.getTeamConsumePv(); BigDecimal consumePv = cuMemberRetailRangeExt.getTeamConsumePv().add(cuMemberRetailRangeExt.getConsumePv());
if (ComputeUtil.compareGreaterThan(consumePv, consumeBigPv)) { if (ComputeUtil.compareGreaterThan(consumePv, consumeBigPv)) {
// 累计业绩 > 大区业绩则累计就成为大区 // 累计业绩 > 大区业绩则累计就成为大区
consumeBigPv = consumePv; consumeBigPv = consumePv;

View File

@ -1,5 +1,6 @@
package com.hzs.bonus.bonus.service.impl; package com.hzs.bonus.bonus.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.bonus.achieve.service.impl.CuMemberBonusSettle; import com.hzs.bonus.achieve.service.impl.CuMemberBonusSettle;
import com.hzs.bonus.bonus.service.ICuMemberBonusPushService; import com.hzs.bonus.bonus.service.ICuMemberBonusPushService;
@ -28,7 +29,7 @@ public class CuMemberBonusPushServiceImpl extends ServiceImpl<CuMemberBonusPushM
@Override @Override
public void batchInsertCuMemberBonusPush(List<CuMemberBonusPush> cuMemberBonusPushList, Set<Long> memberIdSet) { public void batchInsertCuMemberBonusPush(List<CuMemberBonusPush> cuMemberBonusPushList, Set<Long> memberIdSet) {
if (cuMemberBonusPushList.size() == 0) { if (CollectionUtil.isEmpty(cuMemberBonusPushList)) {
return; return;
} }
List<CuMemberBonusPush> addMemberBonusPushList = new ArrayList<>(); List<CuMemberBonusPush> addMemberBonusPushList = new ArrayList<>();

View File

@ -1,5 +1,6 @@
package com.hzs.bonus.bonus.service.impl; package com.hzs.bonus.bonus.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.bonus.achieve.service.impl.CuMemberBonusSettle; import com.hzs.bonus.achieve.service.impl.CuMemberBonusSettle;
import com.hzs.bonus.bonus.service.ICuMemberBonusRangeService; import com.hzs.bonus.bonus.service.ICuMemberBonusRangeService;
@ -28,7 +29,7 @@ public class CuMemberBonusRangeServiceImpl extends ServiceImpl<CuMemberBonusRang
@Override @Override
public void batchInsertCuMemberBonusRange(List<CuMemberBonusRange> cuMemberBonusRangeList, Set<Long> memberIdSet) { public void batchInsertCuMemberBonusRange(List<CuMemberBonusRange> cuMemberBonusRangeList, Set<Long> memberIdSet) {
if (cuMemberBonusRangeList.size() == 0) { if (CollectionUtil.isEmpty(cuMemberBonusRangeList)) {
return; return;
} }
List<CuMemberBonusRange> cuMemberBonusRanges = new ArrayList<>(); List<CuMemberBonusRange> cuMemberBonusRanges = new ArrayList<>();

View File

@ -221,6 +221,9 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
cuMemberBonusExt.setRealIncomeTotal(ComputeUtil.computeAdd(cuMemberBonusExt.getRealIncomeTotal(), memberBonusExt.getRealIncomeTotal())); cuMemberBonusExt.setRealIncomeTotal(ComputeUtil.computeAdd(cuMemberBonusExt.getRealIncomeTotal(), memberBonusExt.getRealIncomeTotal()));
cuMemberBonusExt.setStoreIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getStoreIncome(), memberBonusExt.getStoreIncome())); cuMemberBonusExt.setStoreIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getStoreIncome(), memberBonusExt.getStoreIncome()));
cuMemberBonusExt.setRetailRangeIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRetailRangeIncome(), memberBonusExt.getRetailRangeIncome()));
cuMemberBonusExt.setRetailSameLevelIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRetailSameLevelIncome(), memberBonusExt.getRetailSameLevelIncome()));
// cuMemberBonusExt.setRepurRangeIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRepurRangeIncome(), memberBonusExt.getRepurRangeIncome())); // cuMemberBonusExt.setRepurRangeIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRepurRangeIncome(), memberBonusExt.getRepurRangeIncome()));
// cuMemberBonusExt.setRetailRangeIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRetailRangeIncome(), memberBonusExt.getRetailRangeIncome())); // cuMemberBonusExt.setRetailRangeIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRetailRangeIncome(), memberBonusExt.getRetailRangeIncome()));
// cuMemberBonusExt.setRetailSameLevelIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRetailSameLevelIncome(), memberBonusExt.getRetailSameLevelIncome())); // cuMemberBonusExt.setRetailSameLevelIncome(ComputeUtil.computeAdd(cuMemberBonusExt.getRetailSameLevelIncome(), memberBonusExt.getRetailSameLevelIncome()));
@ -258,6 +261,8 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
// cuMemberBonusExt.setRepurCouponSubtotal(BigDecimal.ZERO); // cuMemberBonusExt.setRepurCouponSubtotal(BigDecimal.ZERO);
cuMemberBonusExt.setStoreIncome(BigDecimal.ZERO); cuMemberBonusExt.setStoreIncome(BigDecimal.ZERO);
cuMemberBonusExt.setGlobalPoints(BigDecimal.ZERO); cuMemberBonusExt.setGlobalPoints(BigDecimal.ZERO);
cuMemberBonusExt.setRetailRangeIncome(BigDecimal.ZERO);
cuMemberBonusExt.setRetailSameLevelIncome(BigDecimal.ZERO);
// cuMemberBonusExt.setCarAwardPoints(BigDecimal.ZERO); // cuMemberBonusExt.setCarAwardPoints(BigDecimal.ZERO);
cuMemberBonusExt.setRealIncomeTotal(BigDecimal.ZERO); cuMemberBonusExt.setRealIncomeTotal(BigDecimal.ZERO);

View File

@ -87,15 +87,6 @@ public class CuMemberBonusVO implements Serializable {
*/ */
private Integer grantStatus; private Integer grantStatus;
/**
* 需要转换人民币的
*/
public static final String[] INCOME_ARRAY = new String[]{
"directIncome", "storeIncome", "globalPoints", "realIncomeTotal", "realIncomeTotalOri"};
private BigDecimal retailRangeIncome;
/** /**
* 注册直推收益-众康 * 注册直推收益-众康
*/ */
@ -115,12 +106,21 @@ public class CuMemberBonusVO implements Serializable {
private BigDecimal globalPoints; private BigDecimal globalPoints;
/** /**
* 实发收益总计 * 领导奖级差收益-众康
*/ */
@Excel(name = "实发收益总计", scale = 2) @Excel(name = "领导奖", scale = 2)
private BigDecimal realIncomeTotalOri; private BigDecimal retailRangeIncome;
/**
* 领导奖平级收益-众康
*/
@Excel(name = "平级奖", scale = 2)
private BigDecimal retailSameLevelIncome;
/** /**
* 实发收益总计 * 实发收益总计
*/ */
@Excel(name = "实发收益总计", scale = 2)
private BigDecimal realIncomeTotal; private BigDecimal realIncomeTotal;
} }

View File

@ -17,6 +17,8 @@
<result column="out_exchange_rate" property="outExchangeRate"/> <result column="out_exchange_rate" property="outExchangeRate"/>
<result column="DIRECT_INCOME" property="directIncome"/> <result column="DIRECT_INCOME" property="directIncome"/>
<result column="GLOBAL_POINTS" property="globalPoints"/> <result column="GLOBAL_POINTS" property="globalPoints"/>
<result column="RETAIL_RANGE_INCOME" property="retailRangeIncome"/>
<result column="RETAIL_SAME_LEVEL_INCOME" property="retailSameLevelIncome"/>
<result column="INCOME_STATUS" property="incomeStatus"/> <result column="INCOME_STATUS" property="incomeStatus"/>
<result column="GRANT_STATUS" property="grantStatus"/> <result column="GRANT_STATUS" property="grantStatus"/>
<result column="SETTLE_DATE" property="settleDate"/> <result column="SETTLE_DATE" property="settleDate"/>
@ -94,7 +96,8 @@
<insert id="batchInsertCuMemberBonus"> <insert id="batchInsertCuMemberBonus">
merge into cu_member_bonus cb merge into cu_member_bonus cb
using( using(
select pk_id, pk_member, period, pk_rate, direct_income, select pk_id, pk_member, period, pk_rate,
direct_income, global_points,
expand_income, expand_no_capping, expand_capping, coach_income, expand_income, expand_no_capping, expand_capping, coach_income,
share_income, service_income, back_points, service_spend, share_income, service_income, back_points, service_spend,
pur_real_subtotal, repur_push_income, repur_range_income, repur_expand_income, pur_real_subtotal, repur_push_income, repur_range_income, repur_expand_income,
@ -106,7 +109,8 @@
from ( from (
<foreach item="item" index="index" collection="cuMemberBonusList" separator=" union "> <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, 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.directIncome} direct_income, #{item.globalPoints} global_points,
#{item.expandIncome} expand_income, #{item.expandNoCapping} expand_no_capping,
#{item.expandCapping} expand_capping, #{item.coachIncome} coach_income, #{item.shareIncome} share_income, #{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.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.purRealSubtotal} pur_real_subtotal, #{item.repurPushIncome} repur_push_income, #{item.repurRangeIncome} repur_range_income,
@ -123,7 +127,8 @@
on (cb.pk_member = b.pk_member and cb.period = b.period) on (cb.pk_member = b.pk_member and cb.period = b.period)
WHEN NOT MATCHED THEN WHEN NOT MATCHED THEN
insert ( insert (
pk_id, pk_member, period, pk_rate, direct_income,expand_income,expand_no_capping, pk_id, pk_member, period, pk_rate, direct_income, global_points,
expand_income,expand_no_capping,
expand_capping,coach_income,share_income,service_income,back_points,service_spend, 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_real_subtotal,
repur_coupon,repur_coupon_share,repur_coupon_subtotal, repur_coupon,repur_coupon_share,repur_coupon_subtotal,
@ -133,7 +138,8 @@
retail_area_income, retail_benefit_range_income, retail_month_repurchase_income, retail_area_income, retail_benefit_range_income, retail_month_repurchase_income,
retail_benefit_avg_income, retail_benefit_income, retail_real_subtotal) retail_benefit_avg_income, retail_benefit_income, retail_real_subtotal)
values ( values (
b.pk_id, b.pk_member, b.period, b.pk_rate, b.direct_income,b.expand_income,b.expand_no_capping, b.pk_id, b.pk_member, b.period, b.pk_rate, b.direct_income, b.global_points,
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.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_real_subtotal,
b.repur_coupon,b.repur_coupon_share,b.repur_coupon_subtotal, b.repur_coupon,b.repur_coupon_share,b.repur_coupon_subtotal,
@ -293,6 +299,9 @@
cb.direct_income, cb.direct_income,
cb.store_income, cb.store_income,
cb.global_points, cb.global_points,
cb.retail_range_income,
cb.retail_same_level_income,
cb.real_income_total,
cb.pk_rate, cb.pk_rate,
bc.out_exchange_rate, bc.out_exchange_rate,
cm.pk_vertex, cm.pk_vertex,
@ -375,6 +384,8 @@
nvl( sum( cb.direct_income ), 0 ) direct_income, nvl( sum( cb.direct_income ), 0 ) direct_income,
nvl( sum( cb.store_income ), 0 ) store_income, nvl( sum( cb.store_income ), 0 ) store_income,
nvl( sum( cb.global_points ), 0 ) global_points, nvl( sum( cb.global_points ), 0 ) global_points,
nvl( sum( cb.retail_range_income ), 0 ) retail_range_income,
nvl( sum( cb.retail_same_level_income ), 0 ) retail_same_level_income,
sum(cb.real_income_total) real_income_total, sum(cb.real_income_total) real_income_total,
bc.out_exchange_rate bc.out_exchange_rate
from cu_member_bonus cb from cu_member_bonus cb

View File

@ -102,6 +102,7 @@
cma.modified_time = sysdate cma.modified_time = sysdate
where period = #{period} where period = #{period}
and up_type = 1 and up_type = 1
and cma.del_flag = 0
</delete> </delete>
<!-- 删除升级的奖衔 --> <!-- 删除升级的奖衔 -->

View File

@ -50,7 +50,7 @@ public class CuMemberBonus extends BaseEntity {
private Integer pkRate; private Integer pkRate;
/** /**
* 注册直推收益-众康 * 直推收益-众康
*/ */
@TableField("DIRECT_INCOME") @TableField("DIRECT_INCOME")
private BigDecimal directIncome; private BigDecimal directIncome;
@ -176,7 +176,7 @@ public class CuMemberBonus extends BaseEntity {
private BigDecimal repurCouponSubtotal; private BigDecimal repurCouponSubtotal;
/** /**
* 复购见点收益-众康 * 见点收益-众康
*/ */
@TableField("GLOBAL_POINTS") @TableField("GLOBAL_POINTS")
private BigDecimal globalPoints; private BigDecimal globalPoints;
@ -224,13 +224,13 @@ public class CuMemberBonus extends BaseEntity {
private BigDecimal makerRealSubtotal; private BigDecimal makerRealSubtotal;
/** /**
* 领导奖级差收益 * 领导奖级差收益-众康
*/ */
@TableField("RETAIL_RANGE_INCOME") @TableField("RETAIL_RANGE_INCOME")
private BigDecimal retailRangeIncome; private BigDecimal retailRangeIncome;
/** /**
* 领导奖平级收益 * 领导奖平级收益-众康
*/ */
@TableField("RETAIL_SAME_LEVEL_INCOME") @TableField("RETAIL_SAME_LEVEL_INCOME")
private BigDecimal retailSameLevelIncome; private BigDecimal retailSameLevelIncome;