diff --git a/framework/src/main/java/cn/lili/modules/goods/service/GoodsSkuService.java b/framework/src/main/java/cn/lili/modules/goods/service/GoodsSkuService.java index dbea9b24..61b555e8 100644 --- a/framework/src/main/java/cn/lili/modules/goods/service/GoodsSkuService.java +++ b/framework/src/main/java/cn/lili/modules/goods/service/GoodsSkuService.java @@ -296,4 +296,13 @@ public interface GoodsSkuService extends IService { * @return 库存数量 */ Integer getGoodsStock(String goodsId); + + /** + * 更新sku运费模版 + * + * @param goodsId 商品id + * @param templateId 运费模版id + * @return 操作结果 + */ + Boolean freight(List goodsId, String templateId); } \ No newline at end of file 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 b3c9e18e..6909add2 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 @@ -437,6 +437,7 @@ public class GoodsServiceImpl extends ServiceImpl implements lambdaUpdateWrapper.in(Goods::getId, goodsIds); List goodsCache = goodsIds.stream().map(item -> CachePrefix.GOODS.getPrefix() + item).collect(Collectors.toList()); cache.multiDel(goodsCache); + goodsSkuService.freight(goodsIds, templateId); return this.update(lambdaUpdateWrapper); } 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 d67639ff..b71b1eae 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 @@ -888,6 +888,17 @@ public class GoodsSkuServiceImpl extends ServiceImpl i } + @Override + public Boolean freight(List goodsId, String templateId) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.in(GoodsSku::getGoodsId, goodsId); + updateWrapper.set(GoodsSku::getFreightTemplateId, templateId); + updateWrapper.set(GoodsSku::getUpdateTime, new Date()); + List skuIds = this.list(updateWrapper).stream().map(GoodsSku::getId).collect(Collectors.toList()); + skuIds.forEach(this::clearCache); + return this.update(updateWrapper); + } + /** * 渲染商品sku *