From 42214d9c3d515d4d3fa52da456ec76e003c89b88 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Thu, 4 Sep 2025 10:13:27 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E6=B7=BB=E5=8A=A0=E7=A7=92=E7=BB=93?= =?UTF-8?q?=E8=A1=A5=E5=81=BF=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/settle/IMemberSettleBonusApi.java | 5 ++++ .../provider/MemberSettleBonusProvider.java | 29 +++++++++++++++++++ .../com/hzs/third/job/BonusSettleJob.java | 9 ++++++ 3 files changed, 43 insertions(+) diff --git a/bd-api/bd-api-bonus/src/main/java/com/hzs/bonus/settle/IMemberSettleBonusApi.java b/bd-api/bd-api-bonus/src/main/java/com/hzs/bonus/settle/IMemberSettleBonusApi.java index 67a8bff8..e4edf941 100644 --- a/bd-api/bd-api-bonus/src/main/java/com/hzs/bonus/settle/IMemberSettleBonusApi.java +++ b/bd-api/bd-api-bonus/src/main/java/com/hzs/bonus/settle/IMemberSettleBonusApi.java @@ -40,4 +40,9 @@ public interface IMemberSettleBonusApi { **/ Boolean chargeBackSaOrder(SaOrder saOrder); + /** + * 自动补偿秒结处理 + */ + void calculateCuMemberRetailRangeBonusBySaOrder(); + } diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/provider/MemberSettleBonusProvider.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/provider/MemberSettleBonusProvider.java index 1529e4dc..ec2271ab 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/provider/MemberSettleBonusProvider.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/provider/MemberSettleBonusProvider.java @@ -3,17 +3,22 @@ package com.hzs.bonus.bonus.provider; import com.hzs.bonus.achieve.service.ICuMemberAchieveService; import com.hzs.bonus.achieve.service.ICuMemberMonthAchieveService; import com.hzs.bonus.bonus.service.IBonusGrantService; +import com.hzs.bonus.bonus.service.IBonusSettleService; import com.hzs.bonus.bonus.service.ICuMemberBonusService; +import com.hzs.bonus.bonus.service.ICuMemberRetailLogService; import com.hzs.bonus.settle.IMemberSettleBonusApi; import com.hzs.common.core.domain.R; import com.hzs.common.core.utils.DateUtils; +import com.hzs.common.domain.member.bonus.CuMemberRetailLog; import com.hzs.common.domain.sale.order.SaOrder; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboService; import org.springframework.beans.factory.annotation.Autowired; import java.time.temporal.ChronoUnit; +import java.util.ArrayList; import java.util.Date; +import java.util.List; /** * 奖金计算 @@ -25,11 +30,15 @@ public class MemberSettleBonusProvider implements IMemberSettleBonusApi { @Autowired private ICuMemberMonthAchieveService iCuMemberMonthAchieveService; @Autowired + private IBonusSettleService iBonusSettleService; + @Autowired private IBonusGrantService iBonusGrantService; @Autowired private ICuMemberBonusService iCuMemberBonusService; @Autowired private ICuMemberAchieveService iCuMemberAchieveService; + @Autowired + private ICuMemberRetailLogService iCuMemberRetailLogService; @Override public R autoCalculateBonus(Date settleDate) { @@ -88,4 +97,24 @@ public class MemberSettleBonusProvider implements IMemberSettleBonusApi { return iCuMemberAchieveService.chargeBackSaOrder(saOrder); } + @Override + public void calculateCuMemberRetailRangeBonusBySaOrder() { + List cuMemberRetailLogs = iCuMemberRetailLogService.queryCuMemberRetailLog(); + if (cuMemberRetailLogs.size() > 0) { + List successLogList = new ArrayList<>(); + try { + for (CuMemberRetailLog cuMemberRetailLog : cuMemberRetailLogs) { + iBonusSettleService.calculateCuMemberRetailRangeBonusBySaOrder(cuMemberRetailLog.getOrderCode()); + successLogList.add(cuMemberRetailLog); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (successLogList.size() > 0) { + iCuMemberRetailLogService.updateCuMemberRetailLogByList(successLogList); + } + } + } + } + } diff --git a/bd-third/src/main/java/com/hzs/third/job/BonusSettleJob.java b/bd-third/src/main/java/com/hzs/third/job/BonusSettleJob.java index e18eeb7b..ef48aab0 100644 --- a/bd-third/src/main/java/com/hzs/third/job/BonusSettleJob.java +++ b/bd-third/src/main/java/com/hzs/third/job/BonusSettleJob.java @@ -131,4 +131,13 @@ public class BonusSettleJob { iMemberSettleBonusApi.insertCuMemberAchieveByEveryDay(); } + /** + * 自动补偿秒结处理 + */ + @XxlJob("autoSecondBonus") + public void autoSettleMemberBonusBySecond() { + log.info("开始进行会员业绩计算"); + iMemberSettleBonusApi.calculateCuMemberRetailRangeBonusBySaOrder(); + } + }