优化consumer生成商品索引。改为批量生成
This commit is contained in:
		
							parent
							
								
									0354d6dc3e
								
							
						
					
					
						commit
						aa185c8bd2
					
				| @ -376,20 +376,18 @@ public class GoodsMessageListener implements RocketMQListener<MessageExt> { | ||||
|      */ | ||||
|     private void generatorGoodsIndex(Goods goods, List<GoodsSku> goodsSkuList) { | ||||
|         int skuSource = 100; | ||||
|         List<EsGoodsIndex> esGoodsIndices = new ArrayList<>(); | ||||
|         for (GoodsSku goodsSku : goodsSkuList) { | ||||
|             EsGoodsIndex esGoodsOld = goodsIndexService.findById(goodsSku.getId()); | ||||
|             EsGoodsIndex goodsIndex = this.settingUpGoodsIndexData(goods, goodsSku); | ||||
|             goodsIndex.setSkuSource(skuSource--); | ||||
|             log.info("goodsSku:{}", goodsSku); | ||||
|             log.info("esGoodsOld:{}", esGoodsOld); | ||||
|             //如果商品库存不为0,并且es中有数据 | ||||
|             if (goodsSku.getQuantity() > 0 && esGoodsOld == null) { | ||||
|             if (goodsSku.getQuantity() > 0) { | ||||
|                 log.info("生成商品索引 {}", goodsIndex); | ||||
|                 this.goodsIndexService.addIndex(goodsIndex); | ||||
|             } else if (goodsSku.getQuantity() > 0 && esGoodsOld != null) { | ||||
|                 goodsIndexService.updateIndex(goodsIndex); | ||||
|                 esGoodsIndices.add(goodsIndex); | ||||
|             } | ||||
|         } | ||||
|         this.goodsIndexService.addIndex(esGoodsIndices); | ||||
|     } | ||||
| 
 | ||||
|     private EsGoodsIndex settingUpGoodsIndexData(Goods goods, GoodsSku goodsSku) { | ||||
|  | ||||
| @ -38,6 +38,13 @@ public interface EsGoodsIndexService { | ||||
|      */ | ||||
|     void addIndex(EsGoodsIndex goods); | ||||
| 
 | ||||
|     /** | ||||
|      * 添加商品索引 | ||||
|      * | ||||
|      * @param goods 商品索引信息 | ||||
|      */ | ||||
|     void addIndex(List<EsGoodsIndex> goods); | ||||
| 
 | ||||
|     /** | ||||
|      * 更新商品索引 | ||||
|      * | ||||
|  | ||||
| @ -210,6 +210,20 @@ public class EsGoodsIndexServiceImpl extends BaseElasticsearchService implements | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 添加商品索引 | ||||
|      * | ||||
|      * @param goods 商品索引信息 | ||||
|      */ | ||||
|     @Override | ||||
|     public void addIndex(List<EsGoodsIndex> goods) { | ||||
|         try { | ||||
|             goodsIndexRepository.saveAll(goods); | ||||
|         } catch (Exception e) { | ||||
|             log.error("批量为商品生成索引异常", e); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     public void updateIndex(EsGoodsIndex goods) { | ||||
|         goodsIndexRepository.save(goods); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 paulGao
						paulGao