消费返现触发问题

This commit is contained in:
2025-10-17 11:50:09 +08:00
parent 0afcba22df
commit a1886bd26c
2 changed files with 10 additions and 4 deletions

View File

@@ -1,6 +1,7 @@
package com.czg.service.market.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson2.JSONArray;
import com.czg.account.dto.shopuser.ShopUserMoneyEditDTO;
@@ -95,19 +96,22 @@ public class MkConsumeCashbackServiceImpl extends ServiceImpl<MkConsumeCashbackM
@Transactional(rollbackFor = Exception.class)
public void cashback(Long shopId, Long userId, BigDecimal amount, Long orderId, String orderNo) {
AssertUtil.isTrue(amount == null || amount.compareTo(BigDecimal.ZERO) == 0, "金额必须大于0");
log.info("消费返现1, shopId: {}, userId: {}, amount: {}, orderId: {}, orderNo: {}", shopId, userId, amount, orderId, orderNo);
Long mainShopId = shopInfoService.getMainIdByShopId(shopId);
MkConsumeCashbackVO config = detail(mainShopId);
if (config.getIsEnable() == 0) {
log.info("消费返现未开启, {}", shopId);
return;
}
log.info("消费返现2, orderId: {}, orderNo: {}, config: {}", orderId, orderNo,config);
ShopUser shopUser = shopUserService.getOne(new QueryWrapper().eq(ShopUser::getMainShopId, mainShopId).eq(ShopUser::getUserId, userId));
List<MkConsumeCashbackStep> cashbackStepList = config.getCashbackStepList();
if (cashbackStepList != null && !cashbackStepList.isEmpty()) {
log.info("消费返现2, orderId: {}, cashbackStepList:{}", orderId, cashbackStepList);
if (CollUtil.isNotEmpty(cashbackStepList)) {
config.setCashbackStepList(cashbackStepList.stream().sorted(Comparator.comparing(MkConsumeCashbackStep::getAmount)).collect(Collectors.toList()));
for (MkConsumeCashbackStep cashbackStep : cashbackStepList) {
log.info("消费返现3, cashbackStep: {}, userId: {}, amount: {}, orderId: {}", cashbackStep, userId, amount, orderId);
if (cashbackStep.getAmount().compareTo(amount) <= 0 ) {
BigDecimal cashbackAmount;
// 固定金额