From 4d2cb2d1dc77b7d5e39778ef3bb8cbb0112c35a7 Mon Sep 17 00:00:00 2001 From: paulGao Date: Tue, 18 Oct 2022 17:46:46 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E7=94=9F=E6=88=90?= =?UTF-8?q?=E5=95=86=E5=93=81=E7=B4=A2=E5=BC=95=EF=BC=8C=E5=8F=96=E6=B6=88?= =?UTF-8?q?=E6=A3=80=E6=9F=A5=E5=BA=93=E5=AD=98=E4=B8=8D=E4=B8=BA0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cn/lili/listener/GoodsMessageListener.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/consumer/src/main/java/cn/lili/listener/GoodsMessageListener.java b/consumer/src/main/java/cn/lili/listener/GoodsMessageListener.java index fac6d784..1ed1c737 100644 --- a/consumer/src/main/java/cn/lili/listener/GoodsMessageListener.java +++ b/consumer/src/main/java/cn/lili/listener/GoodsMessageListener.java @@ -356,11 +356,8 @@ public class GoodsMessageListener implements RocketMQListener { EsGoodsIndex goodsIndex = this.settingUpGoodsIndexData(goods, goodsSku); goodsIndex.setSkuSource(skuSource--); log.info("goodsSku:{}", goodsSku); - //如果商品库存不为0,并且es中有数据 - if (goodsSku.getQuantity() > 0) { - log.info("生成商品索引 {}", goodsIndex); - esGoodsIndices.add(goodsIndex); - } + log.info("生成商品索引 {}", goodsIndex); + esGoodsIndices.add(goodsIndex); } this.goodsIndexService.deleteIndex(MapUtil.builder(new HashMap()).put("goodsId", goods.getId()).build()); this.goodsIndexService.addIndex(esGoodsIndices); From a272e535196e6e9d95795377f41434e04d97a1a3 Mon Sep 17 00:00:00 2001 From: paulGao Date: Mon, 24 Oct 2022 14:37:36 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96es=E5=95=86?= =?UTF-8?q?=E5=93=81=E6=90=9C=E7=B4=A2=E5=8F=8Aes=E5=95=86=E5=93=81?= =?UTF-8?q?=E7=89=B9=E5=AE=9A=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6=E7=9A=84?= =?UTF-8?q?=E5=88=86=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceimpl/FootprintServiceImpl.java | 4 +--- .../order/cart/service/CartServiceImpl.java | 2 +- .../search/service/EsGoodsSearchService.java | 2 +- .../serviceimpl/EsGoodsSearchServiceImpl.java | 18 ++++++++++++++---- 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/FootprintServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/FootprintServiceImpl.java index 41e4b815..cfbbc554 100644 --- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/FootprintServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/FootprintServiceImpl.java @@ -90,9 +90,7 @@ public class FootprintServiceImpl extends ServiceImpl list = esGoodsSearchService.getEsGoodsBySkuIds( - footPrintPages.getRecords().stream().map(FootPrint::getSkuId).collect(Collectors.toList())); - //去除为空的商品数据 - list.removeIf(Objects::isNull); + footPrintPages.getRecords().stream().map(FootPrint::getSkuId).collect(Collectors.toList()), pageVO); esGoodsIndexIPage.setPages(footPrintPages.getPages()); esGoodsIndexIPage.setRecords(list); diff --git a/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java index 3fafa5be..485bb249 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java @@ -348,7 +348,7 @@ public class CartServiceImpl implements CartService { if (tradeDTO.getSkuList() != null && !tradeDTO.getSkuList().isEmpty()) { List ids = tradeDTO.getSkuList().stream().filter(i -> Boolean.TRUE.equals(i.getChecked())).map(i -> i.getGoodsSku().getId()).collect(Collectors.toList()); - List esGoodsList = esGoodsSearchService.getEsGoodsBySkuIds(ids); + List esGoodsList = esGoodsSearchService.getEsGoodsBySkuIds(ids, null); for (EsGoodsIndex esGoodsIndex : esGoodsList) { if (esGoodsIndex != null && esGoodsIndex.getPromotionMap() != null && !esGoodsIndex.getPromotionMap().isEmpty()) { List couponIds = esGoodsIndex.getPromotionMap().keySet().stream().filter(i -> i.contains(PromotionTypeEnum.COUPON.name())).map(i -> i.substring(i.lastIndexOf("-") + 1)).collect(Collectors.toList()); diff --git a/framework/src/main/java/cn/lili/modules/search/service/EsGoodsSearchService.java b/framework/src/main/java/cn/lili/modules/search/service/EsGoodsSearchService.java index 4e1dbf30..22b46a27 100644 --- a/framework/src/main/java/cn/lili/modules/search/service/EsGoodsSearchService.java +++ b/framework/src/main/java/cn/lili/modules/search/service/EsGoodsSearchService.java @@ -40,7 +40,7 @@ public interface EsGoodsSearchService { * @param skuIds SkuId列表 * @return ES商品列表 */ - List getEsGoodsBySkuIds(List skuIds); + List getEsGoodsBySkuIds(List skuIds, PageVO pageVo); /** * 根据id获取商品索引 diff --git a/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsSearchServiceImpl.java b/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsSearchServiceImpl.java index c401e039..48d13586 100644 --- a/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsSearchServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsSearchServiceImpl.java @@ -117,10 +117,19 @@ public class EsGoodsSearchServiceImpl implements EsGoodsSearchService { } @Override - public List getEsGoodsBySkuIds(List skuIds) { + public List getEsGoodsBySkuIds(List skuIds, PageVO pageVo) { NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder(); NativeSearchQuery build = searchQueryBuilder.build(); build.setIds(skuIds); + if (pageVo != null) { + int pageNumber = pageVo.getPageNumber() - 1; + if (pageNumber < 0) { + pageNumber = 0; + } + Pageable pageable = PageRequest.of(pageNumber, pageVo.getPageSize()); + //分页 + searchQueryBuilder.withPageable(pageable); + } return restTemplate.multiGet(build, EsGoodsIndex.class, restTemplate.getIndexCoordinatesFor(EsGoodsIndex.class)); } @@ -396,8 +405,8 @@ public class EsGoodsSearchServiceImpl implements EsGoodsSearchService { /** * 商品推荐 * - * @param filterBuilder - * @param searchDTO + * @param filterBuilder 过滤条件 + * @param searchDTO 搜索条件 */ private void recommended(BoolQueryBuilder filterBuilder, EsGoodsSearchDTO searchDTO) { @@ -557,7 +566,8 @@ public class EsGoodsSearchServiceImpl implements EsGoodsSearchService { FunctionScoreQueryBuilder.FilterFunctionBuilder skuNoBuilder = new FunctionScoreQueryBuilder.FilterFunctionBuilder(skuNoScore); filterFunctionBuilders.add(skuNoBuilder); - FieldValueFactorFunctionBuilder buyCountScore = ScoreFunctionBuilders.fieldValueFactorFunction("buyCount").modifier(FieldValueFactorFunction.Modifier.LOG1P).setWeight(3); + // 修改分数算法为无,数字最大分数越高 + FieldValueFactorFunctionBuilder buyCountScore = ScoreFunctionBuilders.fieldValueFactorFunction("buyCount").modifier(FieldValueFactorFunction.Modifier.NONE).setWeight(3); FunctionScoreQueryBuilder.FilterFunctionBuilder buyCountBuilder = new FunctionScoreQueryBuilder.FilterFunctionBuilder(buyCountScore); filterFunctionBuilders.add(buyCountBuilder); return filterFunctionBuilders;