From d0e230a1b8dfc566d9a7bb6209e6b71aad6712b4 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, 25 Sep 2025 17:43:32 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=96=B0=E5=AE=A2=E7=AB=8B=E5=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MkShopConsumeDiscountRecordService.java | 2 + ...kShopConsumeDiscountRecordServiceImpl.java | 52 +++++++++++++++---- 2 files changed, 45 insertions(+), 9 deletions(-) diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkShopConsumeDiscountRecordService.java b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkShopConsumeDiscountRecordService.java index 8fca1cfa3..eece1bf3d 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkShopConsumeDiscountRecordService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkShopConsumeDiscountRecordService.java @@ -22,6 +22,8 @@ public interface MkShopConsumeDiscountRecordService extends IService randomList = consumeDiscountVO.getRandomDiscountList(); + if ("RANDOM".equals(consumeDiscountVO.getDiscountType()) && (randomList == null || randomList.isEmpty()) ){ + throw new ApiNotPrintException("随机立减配置错误"); + } + return consumeDiscountVO; + } + + @Override + public boolean canUseDiscount(Long shopId, Long userId, BigDecimal amount) { + checkOpen(shopId); + ShopUser shopUser = shopUserService.getShopUserInfo(shopId, userId); + long count = orderInfoService.count(new QueryWrapper().eq(OrderInfo::getUserId, shopUser.getUserId()) + .eq(OrderInfo::getShopId, shopUser.getSourceShopId()).eq(OrderInfo::getStatus, OrderStatusEnums.DONE)); + if (count > 0) { + return false; + } + + long recordCount = count(new QueryWrapper().eq(MkShopConsumeDiscountRecord::getShopId, shopId).eq(MkShopConsumeDiscountRecord::getShopUserId, shopUser.getId()) + .eq(MkShopConsumeDiscountRecord::getIsUse, 1)); + + + return recordCount <= 0; + } + @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)); @@ -74,11 +107,12 @@ public class MkShopConsumeDiscountRecordServiceImpl extends ServiceImpl 0) { + throw new ApiNotPrintException("新客立减仅新用户可用"); } + MkConsumeDiscountVO consumeDiscountVO = checkOpen(shopId); DateTime now = DateUtil.date(); From dfb19c9ae6a27cadff2c9d3d7cb0817188c26056 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, 25 Sep 2025 17:44:31 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=96=B0=E5=AE=A2=E7=AB=8B=E5=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/market/service/impl/TbMemberConfigServiceImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/TbMemberConfigServiceImpl.java b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/TbMemberConfigServiceImpl.java index 515e491c8..31fa3b49e 100644 --- a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/TbMemberConfigServiceImpl.java +++ b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/TbMemberConfigServiceImpl.java @@ -135,7 +135,8 @@ public class TbMemberConfigServiceImpl extends ServiceImpl Date: Thu, 25 Sep 2025 17:50:38 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=96=B0=E5=AE=A2=E7=AB=8B=E5=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/MkShopConsumeDiscountRecordService.java | 2 +- .../impl/MkShopConsumeDiscountRecordServiceImpl.java | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkShopConsumeDiscountRecordService.java b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkShopConsumeDiscountRecordService.java index eece1bf3d..0db8ba0eb 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkShopConsumeDiscountRecordService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkShopConsumeDiscountRecordService.java @@ -22,7 +22,7 @@ public interface MkShopConsumeDiscountRecordService extends IService 0) { - return false; - } + AssertUtil.isTrue(count > 0, "新客立减仅限新用户使用"); + long recordCount = count(new QueryWrapper().eq(MkShopConsumeDiscountRecord::getShopId, shopId).eq(MkShopConsumeDiscountRecord::getShopUserId, shopUser.getId()) .eq(MkShopConsumeDiscountRecord::getIsUse, 1)); + AssertUtil.isTrue(recordCount > 0, "新客立减已使用"); - return recordCount <= 0; } @Override From 930ca57ddf362ffb6d512eedb413b3409d18e615 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, 25 Sep 2025 17:55:32 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=96=B0=E5=AE=A2=E7=AB=8B=E5=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MkShopConsumeDiscountRecordService.java | 10 ++++++++-- .../MkShopConsumeDiscountRecordServiceImpl.java | 15 +++++---------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkShopConsumeDiscountRecordService.java b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkShopConsumeDiscountRecordService.java index 0db8ba0eb..48ee50e6b 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkShopConsumeDiscountRecordService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkShopConsumeDiscountRecordService.java @@ -1,8 +1,8 @@ package com.czg.market.service; +import com.czg.market.vo.MkConsumeDiscountVO; import com.mybatisflex.core.service.IService; import com.czg.market.entity.MkShopConsumeDiscountRecord; -import jakarta.validation.constraints.NotNull; import java.math.BigDecimal; @@ -22,7 +22,13 @@ public interface MkShopConsumeDiscountRecordService extends IService 0, "新客立减已使用"); + return consumeDiscountVO; } @Override @@ -111,7 +106,7 @@ public class MkShopConsumeDiscountRecordServiceImpl extends ServiceImpl 0) { throw new ApiNotPrintException("新客立减仅新用户可用"); } - MkConsumeDiscountVO consumeDiscountVO = checkOpen(shopId); + MkConsumeDiscountVO consumeDiscountVO = checkDiscount(shopId, userId); DateTime now = DateUtil.date();