From d31257ba76d9cccbd337085343394496a9c25944 Mon Sep 17 00:00:00 2001 From: misworga831 Date: Thu, 25 Jan 2024 16:12:33 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=BF=83=E9=94=80?= =?UTF-8?q?=E6=8B=BC=E5=9B=A2=E8=AE=A2=E5=8D=95=E5=8F=96=E6=B6=88=E5=90=8E?= =?UTF-8?q?=EF=BC=8C=E6=B4=BB=E5=8A=A8=E7=BB=93=E6=9D=9F=E5=90=8E=EF=BC=8C?= =?UTF-8?q?=E6=A3=80=E6=9F=A5=E6=88=90=E5=9B=A2=E6=B2=A1=E6=9C=89=E7=AD=9B?= =?UTF-8?q?=E9=80=89=E5=8F=96=E6=B6=88=E5=90=8E=E7=9A=84=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E8=BF=94=E8=BF=98=E5=A4=9A=E4=BD=99=E5=BA=93=E5=AD=98=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/lili/common/enums/PromotionTypeEnum.java | 5 +++++ .../order/order/serviceimpl/OrderServiceImpl.java | 4 +++- .../serviceimpl/PromotionGoodsServiceImpl.java | 10 ++++++---- .../promotion/serviceimpl/SeckillApplyServiceImpl.java | 9 --------- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/framework/src/main/java/cn/lili/common/enums/PromotionTypeEnum.java b/framework/src/main/java/cn/lili/common/enums/PromotionTypeEnum.java index cb9b1dbf2..b13845225 100644 --- a/framework/src/main/java/cn/lili/common/enums/PromotionTypeEnum.java +++ b/framework/src/main/java/cn/lili/common/enums/PromotionTypeEnum.java @@ -25,6 +25,11 @@ public enum PromotionTypeEnum { */ public static final PromotionTypeEnum[] haveStockPromotion = new PromotionTypeEnum[]{PINTUAN, SECKILL, KANJIA, POINTS_GOODS}; + /** + * 有独立促销库存的活动类型 + */ + public static final PromotionTypeEnum[] haveIndependanceStockPromotion = new PromotionTypeEnum[]{SECKILL}; + private final String description; PromotionTypeEnum(String description) { diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java index 794562693..ab7981426 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java @@ -271,6 +271,7 @@ public class OrderServiceImpl extends ServiceImpl implements queryWrapper.eq(Order::getPromotionId, pintuanId); queryWrapper.nested(i -> i.eq(Order::getPayStatus, PayStatusEnum.PAID.name()).or(j -> j.eq(Order::getOrderStatus, OrderStatusEnum.PAID.name()))); + queryWrapper.ne(Order::getOrderStatus, OrderStatusEnum.CANCELLED.name()); return this.list(queryWrapper); } @@ -302,7 +303,7 @@ public class OrderServiceImpl extends ServiceImpl implements Order order = OperationalJudgment.judgment(this.getBySn(orderSn)); //如果订单促销类型不为空&&订单是拼团订单,并且订单未成团,则抛出异常 if (OrderPromotionTypeEnum.PINTUAN.name().equals(order.getOrderPromotionType()) - && !CharSequenceUtil.equalsAny(order.getOrderStatus(), OrderStatusEnum.UNDELIVERED.name(), OrderStatusEnum.STAY_PICKED_UP.name())) { + && !CharSequenceUtil.equalsAny(order.getOrderStatus(), OrderStatusEnum.TAKE.name(), OrderStatusEnum.UNDELIVERED.name(), OrderStatusEnum.STAY_PICKED_UP.name())) { throw new ServiceException(ResultCode.ORDER_CAN_NOT_CANCEL); } if (CharSequenceUtil.equalsAny(order.getOrderStatus(), @@ -1011,6 +1012,7 @@ public class OrderServiceImpl extends ServiceImpl implements //拼团sn=开团订单sn 或者 参团订单的开团订单sn queryWrapper.and(i -> i.eq(Order::getSn, parentOrderSn) .or(j -> j.eq(Order::getParentOrderSn, parentOrderSn))); + queryWrapper.ne(Order::getOrderStatus, OrderStatusEnum.CANCELLED.name()); //参团后的订单数(人数) return this.list(queryWrapper); } diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionGoodsServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionGoodsServiceImpl.java index 561146bd3..170866c2d 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionGoodsServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionGoodsServiceImpl.java @@ -195,10 +195,10 @@ public class PromotionGoodsServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.notIn(PromotionGoods::getPromotionType, Arrays.stream(PromotionTypeEnum.haveIndependanceStockPromotion).map(Enum::name).collect(Collectors.toList())); queryWrapper.eq(PromotionGoods::getSkuId, skuId); this.list(queryWrapper).forEach(promotionGoods -> { String promotionStockKey = PromotionGoodsService.getPromotionGoodsStockCacheKey(PromotionTypeEnum.valueOf(promotionGoods.getPromotionType()), promotionGoods.getPromotionId(), promotionGoods.getSkuId()); cache.remove(promotionStockKey); }); LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.notIn(PromotionGoods::getPromotionType, Arrays.stream(PromotionTypeEnum.haveIndependanceStockPromotion).map(Enum::name).collect(Collectors.toList())); updateWrapper.eq(PromotionGoods::getSkuId, skuId); updateWrapper.set(PromotionGoods::getQuantity, quantity); this.update(updateWrapper); diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/SeckillApplyServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/SeckillApplyServiceImpl.java index 22e44ce07..c2b7f2bc4 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/SeckillApplyServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/SeckillApplyServiceImpl.java @@ -393,15 +393,6 @@ public class SeckillApplyServiceImpl extends ServiceImpl