3
0
Fork 0

## 添加秒结补偿定时任务;

This commit is contained in:
cabbage 2025-09-04 10:13:27 +08:00
parent 802d1a56b1
commit 42214d9c3d
3 changed files with 43 additions and 0 deletions

View File

@ -40,4 +40,9 @@ public interface IMemberSettleBonusApi {
**/ **/
Boolean chargeBackSaOrder(SaOrder saOrder); Boolean chargeBackSaOrder(SaOrder saOrder);
/**
* 自动补偿秒结处理
*/
void calculateCuMemberRetailRangeBonusBySaOrder();
} }

View File

@ -3,17 +3,22 @@ package com.hzs.bonus.bonus.provider;
import com.hzs.bonus.achieve.service.ICuMemberAchieveService; import com.hzs.bonus.achieve.service.ICuMemberAchieveService;
import com.hzs.bonus.achieve.service.ICuMemberMonthAchieveService; import com.hzs.bonus.achieve.service.ICuMemberMonthAchieveService;
import com.hzs.bonus.bonus.service.IBonusGrantService; 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.ICuMemberBonusService;
import com.hzs.bonus.bonus.service.ICuMemberRetailLogService;
import com.hzs.bonus.settle.IMemberSettleBonusApi; import com.hzs.bonus.settle.IMemberSettleBonusApi;
import com.hzs.common.core.domain.R; import com.hzs.common.core.domain.R;
import com.hzs.common.core.utils.DateUtils; import com.hzs.common.core.utils.DateUtils;
import com.hzs.common.domain.member.bonus.CuMemberRetailLog;
import com.hzs.common.domain.sale.order.SaOrder; import com.hzs.common.domain.sale.order.SaOrder;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboService; import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import java.time.temporal.ChronoUnit; import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* 奖金计算 * 奖金计算
@ -25,11 +30,15 @@ public class MemberSettleBonusProvider implements IMemberSettleBonusApi {
@Autowired @Autowired
private ICuMemberMonthAchieveService iCuMemberMonthAchieveService; private ICuMemberMonthAchieveService iCuMemberMonthAchieveService;
@Autowired @Autowired
private IBonusSettleService iBonusSettleService;
@Autowired
private IBonusGrantService iBonusGrantService; private IBonusGrantService iBonusGrantService;
@Autowired @Autowired
private ICuMemberBonusService iCuMemberBonusService; private ICuMemberBonusService iCuMemberBonusService;
@Autowired @Autowired
private ICuMemberAchieveService iCuMemberAchieveService; private ICuMemberAchieveService iCuMemberAchieveService;
@Autowired
private ICuMemberRetailLogService iCuMemberRetailLogService;
@Override @Override
public R<Boolean> autoCalculateBonus(Date settleDate) { public R<Boolean> autoCalculateBonus(Date settleDate) {
@ -88,4 +97,24 @@ public class MemberSettleBonusProvider implements IMemberSettleBonusApi {
return iCuMemberAchieveService.chargeBackSaOrder(saOrder); return iCuMemberAchieveService.chargeBackSaOrder(saOrder);
} }
@Override
public void calculateCuMemberRetailRangeBonusBySaOrder() {
List<CuMemberRetailLog> cuMemberRetailLogs = iCuMemberRetailLogService.queryCuMemberRetailLog();
if (cuMemberRetailLogs.size() > 0) {
List<CuMemberRetailLog> 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);
}
}
}
}
} }

View File

@ -131,4 +131,13 @@ public class BonusSettleJob {
iMemberSettleBonusApi.insertCuMemberAchieveByEveryDay(); iMemberSettleBonusApi.insertCuMemberAchieveByEveryDay();
} }
/**
* 自动补偿秒结处理
*/
@XxlJob("autoSecondBonus")
public void autoSettleMemberBonusBySecond() {
log.info("开始进行会员业绩计算");
iMemberSettleBonusApi.calculateCuMemberRetailRangeBonusBySaOrder();
}
} }