优化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