From d20ede4470f761d0c76a0c993170ebbd96a1bcc1 Mon Sep 17 00:00:00 2001 From: luofl <1442745593@qq.com> Date: 星期二, 11 二月 2025 11:33:19 +0800 Subject: [PATCH] 修改物流信息导入模板 --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java | 22 ++++++++++++++++++++-- 1 files changed, 20 insertions(+), 2 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java index 7166cae..efbe37e 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java @@ -142,6 +142,9 @@ throw new RuntimeException("根据类型(1=服务商品,2=单品商品)获取商品数据失败"); } List<Integer> goodsIds = data.stream().map(Goods::getId).collect(Collectors.toList()); + if(goodsIds.isEmpty()){ + return new ArrayList<>(); + } //查询符合商品类型的商品数据 List<ShoppingCart> list = this.list(new LambdaQueryWrapper<ShoppingCart>().eq(ShoppingCart::getAppUserId, userid) .in(ShoppingCart::getGoodsId, goodsIds).eq(ShoppingCart::getStatus, 1)); @@ -337,7 +340,20 @@ .eq(ShoppingCart::getAppUserId, userid)); goodsSaleNum += count; Goods goods = goodsClient.getGoodsById(shoppingCart.getGoodsId()).getData(); - if(null != goods.getPurchaseLimit() && -1 != goods.getPurchaseLimit() && (goodsSaleNum + shoppingCart.getNumber()) > goods.getPurchaseLimit()){ + + Integer maxNum = 0; + if(shoppingCart.getType() == 2){ + R<SeckillActivityInfo> r = seckillActivityInfoClient.getSeckillActivityInfoByGoodsId(shoppingCart.getGoodsId()); + if (R.isError(r)){ + throw new ServiceException("获取秒杀商品失败!"); + } + SeckillActivityInfo seckillActivityInfo = r.getData(); + maxNum = seckillActivityInfo.getMaxNum(); + }else { + maxNum = goods.getPurchaseLimit(); + } + + if(null != goods.getPurchaseLimit() && -1 != maxNum && (goodsSaleNum + shoppingCart.getNumber()) > maxNum){ throw new ServiceException("超出购买数量限制"); } ShoppingCart one = this.getOne(new LambdaQueryWrapper<ShoppingCart>().eq(ShoppingCart::getAppUserId, userid) @@ -371,7 +387,9 @@ if(null != shoppingCart){ Goods goods1 = goodsClient.getGoodsById(shoppingCart.getGoodsId()).getData(); - if(null != goods1.getPurchaseLimit() && -1 != goods1.getPurchaseLimit() && goods1.getPurchaseLimit() < setGoodsNumber.getNumber()){ + if(null != goods1.getPurchaseLimit() && -1 != goods1.getPurchaseLimit() + && goods1.getPurchaseLimit() < setGoodsNumber.getNumber() + && setGoodsNumber.getNumber() >= shoppingCart.getNumber()){ return R.fail("修改数量不能大于限购数量"); } -- Gitblit v1.7.1