From cef8f16ac84947694a8f7b145ad55c42527e026d Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Thu, 25 Sep 2025 17:24:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=AE=A2=E7=AB=8B=E5=87=8F=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C=E6=96=B0=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MkShopConsumeDiscountRecordServiceImpl.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkShopConsumeDiscountRecordServiceImpl.java b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkShopConsumeDiscountRecordServiceImpl.java index b227bdd2..06085647 100644 --- a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkShopConsumeDiscountRecordServiceImpl.java +++ b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkShopConsumeDiscountRecordServiceImpl.java @@ -6,9 +6,13 @@ import com.czg.account.entity.ShopUser; import com.czg.account.service.ShopUserService; import com.czg.constant.TableValueConstant; import com.czg.exception.ApiNotPrintException; +import com.czg.exception.CzgException; import com.czg.market.entity.MkConsumeDiscountRandom; import com.czg.market.service.MkConsumeDiscountService; import com.czg.market.vo.MkConsumeDiscountVO; +import com.czg.order.entity.OrderInfo; +import com.czg.order.service.OrderInfoService; +import com.czg.service.market.enums.OrderStatusEnums; import com.czg.utils.AssertUtil; import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.spring.service.impl.ServiceImpl; @@ -31,16 +35,23 @@ import java.util.Random; * @since 2025-09-17 */ @Service -public class MkShopConsumeDiscountRecordServiceImpl extends ServiceImpl implements MkShopConsumeDiscountRecordService{ +public class MkShopConsumeDiscountRecordServiceImpl extends ServiceImpl implements MkShopConsumeDiscountRecordService { @Resource private MkConsumeDiscountService consumeDiscountService; @DubboReference private ShopUserService shopUserService; + @DubboReference + private OrderInfoService orderInfoService; @Override public void useDiscount(Long recordId, Long shopUserId, Long orderId, BigDecimal amount) { AssertUtil.isTrue(recordId == null || shopUserId == null || orderId == null || amount == null, "参数不能为空"); - + ShopUser shopUser = shopUserService.getById(shopUserId); + long count = orderInfoService.count(new QueryWrapper().eq(OrderInfo::getUserId, shopUser.getUserId()) + .eq(OrderInfo::getShopId, shopUser.getSourceShopId()).eq(OrderInfo::getStatus, OrderStatusEnums.DONE)); + if (count > 0) { + throw new CzgException("新客立减仅新用户可用"); + } MkShopConsumeDiscountRecord discountRecord = getOne(new QueryWrapper().eq(MkShopConsumeDiscountRecord::getId, recordId) .eq(MkShopConsumeDiscountRecord::getShopUserId, shopUserId) .eq(MkShopConsumeDiscountRecord::getOrderId, orderId));