迁移完成商品搜索的插入

This commit is contained in:
YunaiV
2020-07-31 00:33:20 +08:00
parent 981b3d87e2
commit 0252bd0f0b
26 changed files with 317 additions and 270 deletions

View File

@@ -1,27 +0,0 @@
package cn.iocoder.mall.search.biz.mq;
import cn.iocoder.mall.product.api.message.ProductUpdateMessage;
import cn.iocoder.mall.search.biz.ProductSearchService;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
@Service
@RocketMQMessageListener(
topic = ProductUpdateMessage.TOPIC,
consumerGroup = "search-consumer-group-" + ProductUpdateMessage.TOPIC
)
public class PayTransactionPaySuccessConsumer implements RocketMQListener<ProductUpdateMessage> {
@Autowired
private ProductSearchService productSearchService;
@Override
public void onMessage(ProductUpdateMessage message) {
Boolean result = productSearchService.save(message.getId());
Assert.isTrue(result, String.format("重构商品 ES 索引,必然成功。实际结果是 %s", result));
}
}

View File

@@ -68,27 +68,6 @@ public class ProductSearchServiceImpl implements ProductSearchService {
return rebuildCounts;
}
@Override
public Boolean save(Integer id) {
// 获得商品性情
ProductSpuDetailBO result = productSpuService.getProductSpuDetail(id);
// 存储到 ES 中
ESProductDO product = convert(result);
productRepository.save(product);
// 返回成功
return true;
}
@SuppressWarnings("OptionalGetWithoutIsPresent")
private ESProductDO convert(ProductSpuDetailBO spu) {
// 获得最小价格的 SKU ,用于下面的价格计算
ProductSpuDetailBO.Sku sku = spu.getSkus().stream().min(Comparator.comparing(ProductSpuDetailBO.Sku::getPrice)).get();
// 价格计算
CalcSkuPriceBO calSkuPriceResult = cartService.calcSkuPrice(sku.getId());
// 拼装结果
return ProductSearchConvert.INSTANCE.convert(spu, calSkuPriceResult);
}
@Override
public ProductPageBO getSearchPage(ProductSearchPageDTO searchPageDTO) {
checkSortFieldInvalid(searchPageDTO.getSorts());