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