diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsServiceImpl.java index fbbbf6a3..dd509616 100644 --- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsServiceImpl.java @@ -278,6 +278,7 @@ public class GoodsServiceImpl extends ServiceImpl implements @Override @Transactional(rollbackFor = Exception.class) public boolean auditGoods(List goodsIds, GoodsAuthEnum goodsAuthEnum) { + List goodsCacheKeys = new ArrayList<>(); boolean result = false; for (String goodsId : goodsIds) { Goods goods = this.checkExist(goodsId); @@ -285,12 +286,13 @@ public class GoodsServiceImpl extends ServiceImpl implements result = this.updateById(goods); goodsSkuService.updateGoodsSkuStatus(goods); //删除之前的缓存 - cache.remove(CachePrefix.GOODS.getPrefix() + goodsId); + goodsCacheKeys.add(CachePrefix.GOODS.getPrefix() + goodsId); //商品审核消息 String destination = rocketmqCustomProperties.getGoodsTopic() + ":" + GoodsTagsEnum.GOODS_AUDIT.name(); //发送mq消息 rocketMQTemplate.asyncSend(destination, JSONUtil.toJsonStr(goods), RocketmqSendCallbackBuilder.commonCallback()); } + cache.multiDel(goodsCacheKeys); return result; } @@ -382,14 +384,15 @@ public class GoodsServiceImpl extends ServiceImpl implements LambdaQueryWrapper queryWrapper = this.getQueryWrapperByStoreAuthority(); queryWrapper.in(Goods::getId, goodsIds); List goodsList = this.list(queryWrapper); + List goodsCacheKeys = new ArrayList<>(); for (Goods goods : goodsList) { //修改SKU状态 goodsSkuService.updateGoodsSkuStatus(goods); - cache.remove(CachePrefix.GOODS.getPrefix() + goods.getId()); + goodsCacheKeys.add(CachePrefix.GOODS.getPrefix() + goods.getId()); } - + //删除缓存 + cache.multiDel(goodsCacheKeys); this.deleteEsGoods(goodsIds); - return true; } @@ -482,12 +485,12 @@ public class GoodsServiceImpl extends ServiceImpl implements * @param goodsList 商品列表 */ private void updateGoodsStatus(List goodsIds, GoodsStatusEnum goodsStatusEnum, List goodsList) { + List goodsCacheKeys = new ArrayList<>(); for (Goods goods : goodsList) { - if (GoodsStatusEnum.DOWN.equals(goodsStatusEnum)) { - cache.remove(CachePrefix.GOODS.getPrefix() + goods.getId()); - } + goodsCacheKeys.add(CachePrefix.GOODS.getPrefix() + goods.getId()); goodsSkuService.updateGoodsSkuStatus(goods); } + cache.multiDel(goodsCacheKeys); if (GoodsStatusEnum.DOWN.equals(goodsStatusEnum)) { this.deleteEsGoods(goodsIds);