diff --git a/consumer/src/main/java/cn/lili/listener/GoodsMessageListener.java b/consumer/src/main/java/cn/lili/listener/GoodsMessageListener.java index 97dd9636..06a1e4e7 100644 --- a/consumer/src/main/java/cn/lili/listener/GoodsMessageListener.java +++ b/consumer/src/main/java/cn/lili/listener/GoodsMessageListener.java @@ -211,6 +211,10 @@ public class GoodsMessageListener implements RocketMQListener { log.error("删除商品索引事件执行异常,商品信息: " + new String(messageExt.getBody()), e); } break; + case DOWN: + String goodsIdsJsonStr = new String(messageExt.getBody()); + promotionService.removeByGoodsIds(goodsIdsJsonStr); + break; //规格删除 case SKU_DELETE: String message = new String(messageExt.getBody()); 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 65dcfbba..6839148a 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 @@ -134,6 +134,10 @@ public class GoodsServiceImpl extends ServiceImpl implements List list = this.baseMapper.getGoodsIdByStoreId(storeId); //下架店铺下的商品 updateGoodsMarketAble(list, GoodsStatusEnum.DOWN, "店铺关闭"); + + applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("下架商品", + rocketmqCustomProperties.getGoodsTopic(), GoodsTagsEnum.DOWN.name(), JSONUtil.toJsonStr(list))); + } /** @@ -337,13 +341,13 @@ public class GoodsServiceImpl extends ServiceImpl implements */ @Override public Boolean updateGoodsMarketAbleByStoreId(String storeId, GoodsStatusEnum goodsStatusEnum, String underReason) { - boolean result; + LambdaUpdateWrapper updateWrapper = this.getUpdateWrapperByStoreAuthority(); updateWrapper.set(Goods::getMarketEnable, goodsStatusEnum.name()); updateWrapper.set(Goods::getUnderMessage, underReason); updateWrapper.eq(Goods::getStoreId, storeId); - result = this.update(updateWrapper); + boolean result = this.update(updateWrapper); //修改规格商品 this.goodsSkuService.updateGoodsSkuStatusByStoreId(storeId, goodsStatusEnum.name(), null); @@ -505,6 +509,13 @@ public class GoodsServiceImpl extends ServiceImpl implements } else { this.updateEsGoods(goodsIds); } + + + //下架商品发送消息 + if (goodsStatusEnum.equals(GoodsStatusEnum.DOWN)) { + applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("下架商品", + rocketmqCustomProperties.getGoodsTopic(), GoodsTagsEnum.DOWN.name(), JSONUtil.toJsonStr(goodsIds))); + } } /** diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/AbstractPromotionsServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/AbstractPromotionsServiceImpl.java index 05682167..fa75898c 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/AbstractPromotionsServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/AbstractPromotionsServiceImpl.java @@ -158,7 +158,6 @@ public abstract class AbstractPromotionsServiceImpl, T e */ @Override public IPage pageFindAll(S searchParams, PageVO page) { - page.setNotConvert(false); return this.page(PageUtil.initPage(page), searchParams.queryWrapper()); } diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityGoodsServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityGoodsServiceImpl.java index 6904ee5f..6dd7cbbe 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityGoodsServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/KanjiaActivityGoodsServiceImpl.java @@ -276,7 +276,7 @@ public class KanjiaActivityGoodsServiceImpl extends AbstractPromotionsServiceImp @Override public void deleteByGoodsIds(List goodsIds) { - this.remove(new QueryWrapper().in("goods_id", goodsIds)); + this.remove(new LambdaQueryWrapper().in(KanjiaActivityGoods::getGoodsId, goodsIds)); } /** diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionServiceImpl.java index b146d774..d694c3bc 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/PromotionServiceImpl.java @@ -1,5 +1,6 @@ package cn.lili.modules.promotion.serviceimpl; +import cn.hutool.json.JSONUtil; import cn.lili.common.enums.PromotionTypeEnum; import cn.lili.modules.promotion.entity.dos.*; import cn.lili.modules.promotion.entity.dto.search.PromotionGoodsSearchParams; @@ -121,8 +122,9 @@ public class PromotionServiceImpl implements PromotionService { @Override public void removeByGoodsIds(String goodsIdsJsonStr) { - promotionGoodsService.deletePromotionGoods(Arrays.asList(goodsIdsJsonStr.split(","))); - kanjiaActivityGoodsService.deleteByGoodsIds(Arrays.asList(goodsIdsJsonStr.split(","))); + List goodsIds = JSONUtil.toList(goodsIdsJsonStr, String.class); + promotionGoodsService.deletePromotionGoodsByGoods(goodsIds); + kanjiaActivityGoodsService.deleteByGoodsIds(goodsIds); } private void getGoodsCurrentSeckill(String esPromotionKey, PromotionGoods promotionGoods, Map promotionMap) { diff --git a/framework/src/main/java/cn/lili/rocketmq/tags/GoodsTagsEnum.java b/framework/src/main/java/cn/lili/rocketmq/tags/GoodsTagsEnum.java index e34525de..9aa013fc 100644 --- a/framework/src/main/java/cn/lili/rocketmq/tags/GoodsTagsEnum.java +++ b/framework/src/main/java/cn/lili/rocketmq/tags/GoodsTagsEnum.java @@ -39,6 +39,10 @@ public enum GoodsTagsEnum { * "删除店铺商品索引" */ STORE_GOODS_DELETE("删除店铺商品索引"), + /** + * 下架商品" + */ + DOWN("下架商品"), /** * "删除商品" */