diff --git a/consumer/src/main/java/cn/lili/listener/GoodsMessageListener.java b/consumer/src/main/java/cn/lili/listener/GoodsMessageListener.java index 4f7afc51..24eb1c61 100644 --- a/consumer/src/main/java/cn/lili/listener/GoodsMessageListener.java +++ b/consumer/src/main/java/cn/lili/listener/GoodsMessageListener.java @@ -369,9 +369,8 @@ public class GoodsMessageListener implements RocketMQListener { */ private void updateGoodsNum(MessageExt messageExt) { - Goods goods; try { - goods = JSONUtil.toBean(new String(messageExt.getBody()), Goods.class); + Goods goods = JSONUtil.toBean(new String(messageExt.getBody()), Goods.class); //更新店铺商品数量 assert goods != null; storeService.updateStoreGoodsNum(goods.getStoreId()); diff --git a/framework/src/main/java/cn/lili/modules/goods/service/GoodsService.java b/framework/src/main/java/cn/lili/modules/goods/service/GoodsService.java index dbf17a60..988515b6 100644 --- a/framework/src/main/java/cn/lili/modules/goods/service/GoodsService.java +++ b/framework/src/main/java/cn/lili/modules/goods/service/GoodsService.java @@ -6,6 +6,7 @@ import cn.lili.modules.goods.entity.dto.GoodsSearchParams; import cn.lili.modules.goods.entity.enums.GoodsAuthEnum; import cn.lili.modules.goods.entity.enums.GoodsStatusEnum; import cn.lili.modules.goods.entity.vos.GoodsVO; +import cn.lili.modules.store.entity.dos.Store; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; @@ -148,4 +149,10 @@ public interface GoodsService extends IService { * @param goodsId 商品ID */ void updateGoodsCommentNum(String goodsId); + + /** + * 批量更新商品的店铺信息 + * @param store + */ + void updateStoreDetail(Store store); } \ 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 08cb2a2d..95fdf09c 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 @@ -16,6 +16,7 @@ import cn.lili.common.security.enums.UserEnums; import cn.lili.modules.goods.entity.dos.Category; import cn.lili.modules.goods.entity.dos.Goods; import cn.lili.modules.goods.entity.dos.GoodsGallery; +import cn.lili.modules.goods.entity.dos.GoodsSku; import cn.lili.modules.goods.entity.dto.GoodsOperationDTO; import cn.lili.modules.goods.entity.dto.GoodsParamsDTO; import cn.lili.modules.goods.entity.dto.GoodsSearchParams; @@ -29,6 +30,7 @@ import cn.lili.modules.member.entity.dos.MemberEvaluation; import cn.lili.modules.member.entity.enums.EvaluationGradeEnum; import cn.lili.modules.member.service.MemberEvaluationService; import cn.lili.modules.store.entity.dos.FreightTemplate; +import cn.lili.modules.store.entity.dos.Store; import cn.lili.modules.store.entity.vos.StoreVO; import cn.lili.modules.store.service.FreightTemplateService; import cn.lili.modules.store.service.StoreService; @@ -42,6 +44,7 @@ import cn.lili.rocketmq.tags.GoodsTagsEnum; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -121,8 +124,8 @@ public class GoodsServiceImpl extends ServiceImpl implements @Override public List getByBrandIds(List brandIds) { - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper (); - lambdaQueryWrapper.in(Goods::getBrandId,brandIds); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper(); + lambdaQueryWrapper.in(Goods::getBrandId, brandIds); return list(lambdaQueryWrapper); } @@ -396,6 +399,16 @@ public class GoodsServiceImpl extends ServiceImpl implements this.updateById(goods); } + @Override + public void updateStoreDetail(Store store) { + UpdateWrapper updateWrapper = new UpdateWrapper<>() + .eq("store_id", store.getId()) + .set("store_name", store.getStoreName()) + .set("self_operated", store.getSelfOperated()); + this.update(updateWrapper); + goodsSkuService.update(updateWrapper); + } + /** * 添加商品默认图片 * diff --git a/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreDetailServiceImpl.java b/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreDetailServiceImpl.java index 5c752d51..66e3bb74 100644 --- a/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreDetailServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreDetailServiceImpl.java @@ -64,9 +64,6 @@ public class StoreDetailServiceImpl extends ServiceImpl() - .eq(Goods::getStoreId, store.getId()) - .set(Goods::getStoreName, store.getStoreName()) - .set(Goods::getSelfOperated, store.getSelfOperated())); - goodsSkuService.update(new LambdaUpdateWrapper() - .eq(GoodsSku::getStoreId, store.getId()) - .set(GoodsSku::getStoreName, store.getStoreName()) - .set(GoodsSku::getSelfOperated, store.getSelfOperated())); + goodsService.updateStoreDetail(store); Map updateIndexFieldsMap = EsIndexUtil.getUpdateIndexFieldsMap( MapUtil.builder().put("storeId", store.getId()).build(),