优化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) { |     private void generatorGoodsIndex(Goods goods, List<GoodsSku> goodsSkuList) { | ||||||
|         int skuSource = 100; |         int skuSource = 100; | ||||||
|  |         List<EsGoodsIndex> esGoodsIndices = new ArrayList<>(); | ||||||
|         for (GoodsSku goodsSku : goodsSkuList) { |         for (GoodsSku goodsSku : goodsSkuList) { | ||||||
|             EsGoodsIndex esGoodsOld = goodsIndexService.findById(goodsSku.getId()); |  | ||||||
|             EsGoodsIndex goodsIndex = this.settingUpGoodsIndexData(goods, goodsSku); |             EsGoodsIndex goodsIndex = this.settingUpGoodsIndexData(goods, goodsSku); | ||||||
|             goodsIndex.setSkuSource(skuSource--); |             goodsIndex.setSkuSource(skuSource--); | ||||||
|             log.info("goodsSku:{}", goodsSku); |             log.info("goodsSku:{}", goodsSku); | ||||||
|             log.info("esGoodsOld:{}", esGoodsOld); |  | ||||||
|             //如果商品库存不为0,并且es中有数据 |             //如果商品库存不为0,并且es中有数据 | ||||||
|             if (goodsSku.getQuantity() > 0 && esGoodsOld == null) { |             if (goodsSku.getQuantity() > 0) { | ||||||
|                 log.info("生成商品索引 {}", goodsIndex); |                 log.info("生成商品索引 {}", goodsIndex); | ||||||
|                 this.goodsIndexService.addIndex(goodsIndex); |                 esGoodsIndices.add(goodsIndex); | ||||||
|             } else if (goodsSku.getQuantity() > 0 && esGoodsOld != null) { |  | ||||||
|                 goodsIndexService.updateIndex(goodsIndex); |  | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  |         this.goodsIndexService.addIndex(esGoodsIndices); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     private EsGoodsIndex settingUpGoodsIndexData(Goods goods, GoodsSku goodsSku) { |     private EsGoodsIndex settingUpGoodsIndexData(Goods goods, GoodsSku goodsSku) { | ||||||
|  | |||||||
| @ -38,6 +38,13 @@ public interface EsGoodsIndexService { | |||||||
|      */ |      */ | ||||||
|     void addIndex(EsGoodsIndex goods); |     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 |     @Override | ||||||
|     public void updateIndex(EsGoodsIndex goods) { |     public void updateIndex(EsGoodsIndex goods) { | ||||||
|         goodsIndexRepository.save(goods); |         goodsIndexRepository.save(goods); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 paulGao
						paulGao