From 7cc7c1a9e30faf55fed12379c0403caf639209f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Thu, 16 Oct 2025 16:51:14 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E6=97=A5=E6=9C=89=E7=A4=BC=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/MkConsumeCashbackServiceImpl.java | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkConsumeCashbackServiceImpl.java b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkConsumeCashbackServiceImpl.java index 5fbca5b7c..ae4e859ac 100644 --- a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkConsumeCashbackServiceImpl.java +++ b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkConsumeCashbackServiceImpl.java @@ -16,6 +16,7 @@ import com.czg.market.dto.MkConsumeDiscountDTO; import com.czg.market.entity.*; import com.czg.market.service.MkConsumeCashbackRecordService; import com.czg.market.vo.MkConsumeCashbackVO; +import com.czg.utils.AssertUtil; import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.update.UpdateWrapper; import com.mybatisflex.spring.service.impl.ServiceImpl; @@ -28,6 +29,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; @@ -92,6 +94,7 @@ public class MkConsumeCashbackServiceImpl extends ServiceImpl cashbackStepList = config.getCashbackStepList(); if (cashbackStepList != null && !cashbackStepList.isEmpty()) { - // 固定金额 - if (TableValueConstant.MkConsumeCashback.CashbackType.FIX.getCode().equals(config.getCashbackType())) { - } config.setCashbackStepList(cashbackStepList.stream().sorted(Comparator.comparing(MkConsumeCashbackStep::getAmount)).collect(Collectors.toList())); for (MkConsumeCashbackStep cashbackStep : cashbackStepList) { + if (cashbackStep.getAmount().compareTo(amount) <= 0 ) { + BigDecimal cashbackAmount = BigDecimal.ZERO; + // 固定金额 + if (TableValueConstant.MkConsumeCashback.CashbackType.FIX.getCode().equals(config.getCashbackType())) { + cashbackAmount = cashbackStep.getCashbackAmount(); + }else { + cashbackAmount = amount.multiply(cashbackStep.getCashbackAmount().divide(BigDecimal.valueOf(100), RoundingMode.DOWN)); + } MkConsumeCashbackRecord mkConsumeCashbackRecord = new MkConsumeCashbackRecord().setOrderNo(orderNo).setOrderId(orderId) .setMainShopId(mainShopId).setShopId(shopId).setAmount(amount) - .setCashbackAmount(cashbackStep.getCashbackAmount()).setUserId(userId) + .setCashbackAmount(cashbackAmount).setUserId(userId) .setShopUserId(shopUser.getId()); consumeCashbackRecordService.save(mkConsumeCashbackRecord); shopUserService.updateMoney(new ShopUserMoneyEditDTO().setId(shopUser.getId()).setType(1) - .setRelationId(mkConsumeCashbackRecord.getId()).setMoney(cashbackStep.getCashbackAmount()).setBizEnum(ShopUserFlowBizEnum.CASHBACK) - .setRemark(StrUtil.format("订单消费: {}, 返现: {}", amount, cashbackStep.getCashbackAmount()))); + .setRelationId(mkConsumeCashbackRecord.getId()).setMoney(cashbackAmount).setBizEnum(ShopUserFlowBizEnum.CASHBACK) + .setRemark(StrUtil.format("订单消费: {}, 返现: {}", amount, cashbackAmount))); + log.info("店铺用户id: {}, 消费返现: {}, 返现: {}", shopUser.getId(), amount, cashbackAmount); break; } }