Browse Source

解决订单下单时商品缩略图更新错误问题

yzc 2 years ago
parent
commit
3e703cb5e4

+ 3 - 2
sckw-modules/sckw-product/src/main/java/com/sckw/product/dubbo/GoodsInfoServiceImpl.java

@@ -61,7 +61,7 @@ public class GoodsInfoServiceImpl implements GoodsInfoService {
             return HttpResult.error("业务繁忙,请稍后再试!");
         }
         try {
-            com.sckw.product.model.KwpGoods goods = kwpGoodsService.selectById(id);
+            com.sckw.product.model.KwpGoods goods = kwpGoodsService.getOnShelfGoodsById(id);
             if (Objects.isNull(goods)) {
                 return HttpResult.error("商品不存在!");
             }
@@ -69,7 +69,8 @@ public class GoodsInfoServiceImpl implements GoodsInfoService {
             if (goods.getAmount().compareTo(amount) < 0) {
                 return HttpResult.error("商品库存不足,请联系供应方!");
             }
-            goods.setAmount(goodsAmount.subtract(amount)).setPerformedAmount(Objects.nonNull(goods.getPerformedAmount()) ? goods.getPerformedAmount().add(amount) : amount);
+            goods.setAmount(goodsAmount.subtract(amount))
+                    .setPerformedAmount(Objects.nonNull(goods.getPerformedAmount()) ? goods.getPerformedAmount().add(amount) : amount);
             kwpGoodsService.updateById(goods);
         } finally {
             RedissonUtils.unlock(lockKey);

+ 5 - 3
sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java

@@ -978,15 +978,17 @@ public class KwpGoodsService {
     }
 
     /**
-     * @desc: 根据商品id获取未删除商品信息
+     * @desc: 根据商品id获取上架商品信息
      * @author: yzc
      * @date: 2023-07-13 15:08
      * @Param id:
      * @return: com.sckw.product.model.KwpGoods
      */
-    public KwpGoods selectGoodsById(Long id) {
+    public KwpGoods getOnShelfGoodsById(Long id) {
         LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
-        LambdaQueryWrapper<KwpGoods> last = wrapper.eq(KwpGoods::getId, id).eq(KwpGoods::getDelFlag, Global.NO).last("LIMIT 1");
+        LambdaQueryWrapper<KwpGoods> last = wrapper.eq(KwpGoods::getId, id)
+                .eq(KwpGoods::getStatus, GoodsStatusEnum.PUT_ON_SHELVES.getCode())
+                .eq(KwpGoods::getDelFlag, Global.NO).last("LIMIT 1");
         return kwpGoodsMapper.selectOne(last);
     }