From 44fb0601a677e28fbbaa4c2e1fad187462fcb9f6 Mon Sep 17 00:00:00 2001 From: lifenlong Date: Tue, 20 Jul 2021 20:25:57 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=95=86=E5=93=81=E8=B4=AD?= =?UTF-8?q?=E4=B9=B0=E4=BD=86=E6=98=AF=E5=95=86=E5=93=81=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E7=9A=84=E5=BA=93=E5=AD=98=E6=98=BE=E7=A4=BA=E4=B8=8D=E6=AD=A3?= =?UTF-8?q?=E7=A1=AE=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/goods/GoodsBuyerController.java | 7 ------- .../cn/lili/event/impl/StockUpdateExecute.java | 5 +++++ .../goods/serviceimpl/GoodsSkuServiceImpl.java | 16 +++++++--------- 3 files changed, 12 insertions(+), 16 deletions(-) diff --git a/buyer-api/src/main/java/cn/lili/controller/goods/GoodsBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/goods/GoodsBuyerController.java index b293b4fa..f2778d7e 100644 --- a/buyer-api/src/main/java/cn/lili/controller/goods/GoodsBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/goods/GoodsBuyerController.java @@ -5,7 +5,6 @@ import cn.lili.common.enums.ResultUtil; import cn.lili.common.exception.ServiceException; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; -import cn.lili.modules.distribution.service.DistributionService; import cn.lili.modules.goods.entity.dos.Goods; import cn.lili.modules.goods.entity.dto.GoodsSearchParams; import cn.lili.modules.goods.entity.vos.GoodsVO; @@ -61,12 +60,6 @@ public class GoodsBuyerController { */ @Autowired private EsGoodsSearchService goodsSearchService; - /** - * 分销员 - */ - @Autowired - private DistributionService distributionService; - @ApiOperation(value = "通过id获取商品信息") @ApiImplicitParam(name = "goodsId", value = "商品ID", required = true, paramType = "path", dataType = "Long") diff --git a/consumer/src/main/java/cn/lili/event/impl/StockUpdateExecute.java b/consumer/src/main/java/cn/lili/event/impl/StockUpdateExecute.java index 402b74f0..56ff305f 100644 --- a/consumer/src/main/java/cn/lili/event/impl/StockUpdateExecute.java +++ b/consumer/src/main/java/cn/lili/event/impl/StockUpdateExecute.java @@ -161,6 +161,11 @@ public class StockUpdateExecute implements OrderStatusChangeEvent { /** * 同步库存和促销库存 * + * 需修改:DB:商品库存、Sku商品库存、活动商品库存 + * 1.获取需要修改的Sku列表、活动商品列表 + * 2.写入sku商品库存,批量修改 + * 3.写入促销商品的卖出数量、剩余数量,批量修改 + * 4.调用方法修改商品库存 * @param order 订单 */ private void synchroDB(OrderDetailVO order) { diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java index 567572f7..f601e134 100644 --- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java @@ -189,17 +189,15 @@ public class GoodsSkuServiceImpl extends ServiceImpl i } cache.put(GoodsSkuService.getCacheKeys(id), goodsSku); } + //获取商品库存 String quantity = stringRedisTemplate.opsForValue().get(GoodsSkuService.getStockCacheKey(id)); - if (quantity != null) { - if (goodsSku.getQuantity().equals(Convert.toInt(quantity))) { - goodsSku.setQuantity(Convert.toInt(quantity)); - this.updateById(goodsSku); - } - } else { - stringRedisTemplate.opsForValue().set(GoodsSkuService.getStockCacheKey(id), goodsSku.getQuantity().toString()); - } + //如果sku缓存的库存与库存缓存不符则按照库存缓存进行 + if (quantity == null) { + goodsSku.setQuantity(Convert.toInt(quantity)); + cache.put(GoodsSkuService.getCacheKeys(goodsSku.getId()), goodsSku); + } return goodsSku; } @@ -437,7 +435,7 @@ public class GoodsSkuServiceImpl extends ServiceImpl i quantity += goodsSku.getQuantity(); } } - //保存商品库存结果 这里在for循环中调用数据库保存不太好,需要优化 + //保存商品库存结果 goodsService.updateStock(goodsId, quantity); }