迁移完成商品搜索的插入
This commit is contained in:
@@ -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));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user