## 奖金7日后发放即可提现;

This commit is contained in:
cabbage 2025-05-08 09:08:59 +08:00
parent ef96a4d7ec
commit 5d21d93156
1 changed files with 11 additions and 70 deletions

View File

@ -1,7 +1,5 @@
package com.hzs.bonus.bonus.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.hzs.activity.base.IActivityServiceApi;
import com.hzs.bonus.account.service.ICuMemberAccountService;
import com.hzs.bonus.account.service.ICuMemberTradeDetailService;
import com.hzs.bonus.account.service.ICuMemberTradeService;
@ -9,13 +7,10 @@ import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService;
import com.hzs.bonus.bonus.service.IBonusGrantService;
import com.hzs.bonus.bonus.service.ICuMemberBonusService;
import com.hzs.bonus.pub.tool.MemberToolsHandler;
import com.hzs.common.core.constant.CountryConstants;
import com.hzs.common.core.constant.MagicNumberConstants;
import com.hzs.common.core.enums.*;
import com.hzs.common.core.utils.ComputeUtil;
import com.hzs.common.core.utils.DateUtils;
import com.hzs.common.domain.activity.tree.SaTreeOrder;
import com.hzs.common.domain.member.account.CuMemberAccount;
import com.hzs.common.domain.member.account.CuMemberTrade;
import com.hzs.common.domain.member.account.CuMemberTradeDetail;
import com.hzs.common.domain.member.achieve.ext.CuMemberSettlePeriodExt;
@ -47,8 +42,6 @@ public class BonusGrantServiceImpl implements IBonusGrantService {
@DubboReference
IAccountServiceApi iAccountServiceApi;
@DubboReference
IActivityServiceApi iActivityServiceApi;
@DubboReference
ICountryServiceApi iCountryServiceApi;
@DubboReference
ICurrencyServiceApi iCurrencyServiceApi;
@ -91,23 +84,23 @@ public class BonusGrantServiceImpl implements IBonusGrantService {
Map<Integer, BdCountry> integerBdCountryMap = iCountryServiceApi.getAllCountryMap().getData();
if (integerBdCountryMap.size() > 0) {
for (Integer pkCountry : integerBdCountryMap.keySet()) {
// 先发放奖金验证是否是周结周结发放上周的直接变为可提现
Date grantDay = DateUtils.beforeDate(7, ChronoUnit.DAYS, DateUtils.currentDate());
String settleDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, grantDay);
grantBonusByPeriod(pkCountry, settleDate);
// 周奖发放上周的奖金
CuMemberSettlePeriodExt cuMemberSettlePeriod = getCuMemberSettlePeriod(pkCountry, settleDate);
Date withdrawDay = DateUtils.beforeDate(7, ChronoUnit.DAYS, grantDay);
if (EExpandCapMethod.WEEK_SETTLE.getValue() == cuMemberSettlePeriod.getSettleCycle()
|| !CountryConstants.CHINA_COUNTRY.equals(pkCountry)) {
withdrawDay = grantDay;
}
// 设置奖金可以提现
withdrawalBonusByPeriod(pkCountry, DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, withdrawDay));
withdrawalBonusByPeriod(pkCountry, settleDate);
// // 周奖发放上周的奖金
// CuMemberSettlePeriodExt cuMemberSettlePeriod = getCuMemberSettlePeriod(pkCountry, settleDate);
// Date withdrawDay = DateUtils.beforeDate(7, ChronoUnit.DAYS, grantDay);
// if (EExpandCapMethod.WEEK_SETTLE.getValue() == cuMemberSettlePeriod.getSettleCycle()
// || !CountryConstants.CHINA_COUNTRY.equals(pkCountry)) {
// withdrawDay = grantDay;
// }
//
// // 设置奖金可以提现
// withdrawalBonusByPeriod(pkCountry, DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, withdrawDay));
}
}
}
@ -177,58 +170,6 @@ public class BonusGrantServiceImpl implements IBonusGrantService {
}
Map<Integer, BdAccount> bdAccountValueMap = iAccountServiceApi.getAccountMapByCountry(pkCountry).getData();
Date currentDateTime = DateUtils.currentDateTime();
// 中国需要发放沙棘种树的复购券
if (CountryConstants.CHINA_COUNTRY.equals(pkCountry)) {
// 查询沙棘种树订单
Date startDate = DateUtils.parseStringToDate(settleDate);
Date endDate = DateUtils.afterDate(1, ChronoUnit.DAYS, startDate);
List<SaTreeOrder> treeOrderList = iActivityServiceApi.querySaTreeOrderByDate(startDate, endDate).getData();
if (CollectionUtil.isNotEmpty(treeOrderList)) {
CurrencyDTO currencyDTO = iCurrencyServiceApi.getCurrency(pkCountry).getData();
Map<Long, CuMemberAccount> cuMemberAccountMap = new HashMap<>();
List<CuMemberTrade> memberTradeList = new ArrayList<>();
for (SaTreeOrder saTreeOrder : treeOrderList) {
// 复购券
CuMemberTrade cuMemberTrade = CuMemberTrade.builder().tradeCode(memberToolsHandler.createTradeCode(EOrderPrefix.TRADE_CODE.getValue()))
.tradeClassify(ETradeClassify.INCOME.getValue())
.pkMember(saTreeOrder.getPkMember())
.pkAccount(bdAccountValueMap.get(EAccount.REPURCHASE.getValue()).getPkId())
.pkRate(currencyDTO.getPkId())
.tradeAmount(saTreeOrder.getOrderAmount())
.sourceCode("")
.tradeStatue(ETradeStatus.TAKE_EFFECT.getValue())
.build();
cuMemberTrade.setRemarks(ETradeType.SEABUCKTHORN_GRANT.getLabel());
cuMemberTrade.setTradeType(ETradeType.SEABUCKTHORN_GRANT.getValue());
cuMemberTrade.setPkCountry(pkCountry);
cuMemberTrade.setPkCreator(MagicNumberConstants.PK_ADMIN);
cuMemberTrade.setCreationTime(currentDateTime);
memberTradeList.add(cuMemberTrade);
if (cuMemberAccountMap.containsKey(saTreeOrder.getPkMember())) {
CuMemberAccount cuMemberAccount = cuMemberAccountMap.get(saTreeOrder.getPkMember());
cuMemberAccount.setAccount8(ComputeUtil.computeAdd(cuMemberAccount.getAccount8(), saTreeOrder.getOrderAmount()));
} else {
CuMemberAccount cuMemberAccount = CuMemberAccount.builder()
.pkMember(saTreeOrder.getPkMember())
.account8(saTreeOrder.getOrderAmount())
.build();
cuMemberAccount.setPkCountry(pkCountry);
cuMemberAccountMap.put(saTreeOrder.getPkMember(), cuMemberAccount);
}
}
List<Long> seqList = iCuMemberTradeService.batchQueryCuMemberTradeSeq(memberTradeList.size());
for (int i = 0; i < memberTradeList.size(); i++) {
CuMemberTrade cuMemberTrade = memberTradeList.get(i);
cuMemberTrade.setPkId(seqList.get(i));
}
iCuMemberTradeService.batchInsertCuMemberTrade(memberTradeList);
if (cuMemberAccountMap.size() > 0) {
cuMemberAccountMap.forEach((pkMember, cumemberAccount) -> {
iCuMemberAccountService.updateMemberAccount(cumemberAccount, MagicNumberConstants.PK_ADMIN);
});
}
}
}
// 查询奖金表查询未发放的奖金明细
List<CuMemberBonus> cuMemberBonusList = iCuMemberBonusService.queryCuMemberBonusByCondition(pkCountry, EGrantStatus.PUBLISHED.getValue(), cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod());
if (cuMemberBonusList.size() > 0) {