From 24cdf5cf00e9da7045fbe6733147d3f4b38238a3 Mon Sep 17 00:00:00 2001 From: misworga831 Date: Mon, 6 Nov 2023 17:50:24 +0800 Subject: [PATCH 1/6] =?UTF-8?q?fix:=20=E5=95=86=E5=93=81=E8=AF=84=E4=BB=B7?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=90=8E=EF=BC=8C=E6=B8=85=E9=99=A4sku?= =?UTF-8?q?=E7=BC=93=E5=AD=98=E4=B8=8D=E5=85=A8=E9=97=AE=E9=A2=98=E3=80=82?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=9C=89=E5=9B=BE=E8=AF=84=E4=BB=B7=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=E6=9D=A1=E4=BB=B6=E7=BC=BA=E5=B0=91=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/lili/modules/goods/service/GoodsSkuService.java | 3 +-- .../cn/lili/modules/goods/serviceimpl/GoodsServiceImpl.java | 2 +- .../lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java | 4 ++-- .../member/serviceimpl/MemberEvaluationServiceImpl.java | 1 + 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/goods/service/GoodsSkuService.java b/framework/src/main/java/cn/lili/modules/goods/service/GoodsSkuService.java index afe5cfc8..f31091ce 100644 --- a/framework/src/main/java/cn/lili/modules/goods/service/GoodsSkuService.java +++ b/framework/src/main/java/cn/lili/modules/goods/service/GoodsSkuService.java @@ -255,9 +255,8 @@ public interface GoodsSkuService extends IService { * 更新商品sku评分 * * @param goodsId goodsId - * @param skuId skuId * @param grade 评分 * @param commentNum 评论数量 */ - void updateGoodsSkuGrade(String goodsId, String skuId, double grade,int commentNum); + void updateGoodsSkuGrade(String goodsId, double grade,int commentNum); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsServiceImpl.java index 98de2371..bab90070 100644 --- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsServiceImpl.java @@ -474,7 +474,7 @@ public class GoodsServiceImpl extends ServiceImpl implements // 修改商品sku评价数量 - this.goodsSkuService.updateGoodsSkuGrade(goodsId, skuId, grade, goods.getCommentNum()); + this.goodsSkuService.updateGoodsSkuGrade(goodsId, grade, goods.getCommentNum()); Map updateIndexFieldsMap = EsIndexUtil.getUpdateIndexFieldsMap(MapUtil.builder(new HashMap()).put("goodsId", goodsId).build(), MapUtil.builder(new HashMap()).put("commentNum", goods.getCommentNum()).put("highPraiseNum", highPraiseNum).put("grade", grade).build()); applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("更新商品索引信息", rocketmqCustomProperties.getGoodsTopic(), GoodsTagsEnum.UPDATE_GOODS_INDEX_FIELD.name(), JSONUtil.toJsonStr(updateIndexFieldsMap))); diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java index a03abd7a..38c8bfae 100644 --- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java @@ -659,13 +659,13 @@ public class GoodsSkuServiceImpl extends ServiceImpl i } @Override - public void updateGoodsSkuGrade(String goodsId, String skuId, double grade, int commentNum) { + public void updateGoodsSkuGrade(String goodsId, double grade, int commentNum) { LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.eq(GoodsSku::getGoodsId, goodsId); updateWrapper.set(GoodsSku::getGrade, grade); updateWrapper.set(GoodsSku::getCommentNum, commentNum); this.update(updateWrapper); - clearCache(skuId); + this.getSkuIdsByGoodsId(goodsId).forEach(this::clearCache); } /** diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberEvaluationServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberEvaluationServiceImpl.java index b0127cb0..cc10d2f6 100644 --- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberEvaluationServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberEvaluationServiceImpl.java @@ -194,6 +194,7 @@ public class MemberEvaluationServiceImpl extends ServiceImpl() .eq("have_image", 1) + .eq("status", SwitchEnum.OPEN.name()) .eq("goods_id", goodsId))); return evaluationNumberVO; From bd42b88b7138d5dadd43526a0e7fbb1207b42009 Mon Sep 17 00:00:00 2001 From: misworga831 Date: Tue, 21 Nov 2023 10:14:59 +0800 Subject: [PATCH 2/6] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E5=95=86=E5=93=81?= =?UTF-8?q?=E7=B4=A2=E5=BC=95=E4=B8=8D=E5=AD=98=E5=9C=A8=EF=BC=8C=E6=90=9C?= =?UTF-8?q?=E7=B4=A2=E5=95=86=E5=93=81=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DB/version4.3toMASTER.sql | 36 +++++++++++-------- .../serviceimpl/EsGoodsSearchServiceImpl.java | 10 ++++++ 2 files changed, 31 insertions(+), 15 deletions(-) diff --git a/DB/version4.3toMASTER.sql b/DB/version4.3toMASTER.sql index 35c1fc31..8af84132 100644 --- a/DB/version4.3toMASTER.sql +++ b/DB/version4.3toMASTER.sql @@ -1,18 +1,24 @@ -CREATE TABLE `li_file_directory` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '创建者', - `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '更新者', - `delete_flag` tinyint(1) NULL DEFAULT 0 COMMENT '删除标志 true/false 删除/未删除', - `directory_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '文件目录类型', - `directory_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '拥有者名称', - `owner_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '拥有者id', - `parent_id` bigint NULL DEFAULT NULL COMMENT '父分类ID', - `level` int NULL DEFAULT NULL COMMENT '层级', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1698937596963311619 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '文件夹' ROW_FORMAT = DYNAMIC; +CREATE TABLE `li_file_directory` +( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '创建者', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '更新者', + `delete_flag` tinyint(1) NULL DEFAULT 0 COMMENT '删除标志 true/false 删除/未删除', + `directory_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '文件目录类型', + `directory_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '拥有者名称', + `owner_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '拥有者id', + `parent_id` bigint NULL DEFAULT NULL COMMENT '父分类ID', + `level` int NULL DEFAULT NULL COMMENT '层级', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB + AUTO_INCREMENT = 1698937596963311619 + CHARACTER SET = utf8mb4 + COLLATE = utf8mb4_0900_ai_ci COMMENT = '文件夹' + ROW_FORMAT = DYNAMIC; SET FOREIGN_KEY_CHECKS = 1; -ALTER TABLE li_file ADD file_directory_id varchar(255) COMMENT '文件夹ID'; \ No newline at end of file +ALTER TABLE li_file + ADD file_directory_id varchar(255) COMMENT '文件夹ID'; \ No newline at end of file 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 4f574368..1171dd1e 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 @@ -97,6 +97,11 @@ public class EsGoodsSearchServiceImpl implements EsGoodsSearchService { @Override public Page searchGoodsByPage(EsGoodsSearchDTO searchDTO, PageVO pageVo) { + // 判断商品索引是否存在 + if (!restTemplate.indexOps(EsGoodsIndex.class).exists()) { + return null; + } + SearchPage esGoodsIndices = this.searchGoods(searchDTO, pageVo); Page resultPage = new Page<>(); if (esGoodsIndices != null && !esGoodsIndices.getContent().isEmpty()) { @@ -112,6 +117,11 @@ public class EsGoodsSearchServiceImpl implements EsGoodsSearchService { @Override public EsGoodsRelatedInfo getSelector(EsGoodsSearchDTO goodsSearch, PageVO pageVo) { + // 判断商品索引是否存在 + if (!restTemplate.indexOps(EsGoodsIndex.class).exists()) { + return null; + } + NativeSearchQueryBuilder builder = createSearchQueryBuilder(goodsSearch, pageVo); //分类 AggregationBuilder categoryNameBuilder = AggregationBuilders.terms("categoryNameAgg").field("categoryNamePath.keyword"); From 50c7e20ba6b7ade5c57bb5ddd8486ce7375cc220 Mon Sep 17 00:00:00 2001 From: misworga831 Date: Thu, 23 Nov 2023 11:16:08 +0800 Subject: [PATCH 3/6] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E4=BC=98=E6=83=A0=E5=88=B8=EF=BC=8C=E6=B2=A1=E6=9C=89=E7=94=9F?= =?UTF-8?q?=E6=88=90=E5=95=86=E5=93=81=E4=BF=83=E9=94=80=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/AbstractPromotionsService.java | 7 +++++ .../AbstractPromotionsServiceImpl.java | 26 ++++++++++++------- .../serviceimpl/CouponServiceImpl.java | 21 ++++++++++++++- 3 files changed, 43 insertions(+), 11 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/promotion/service/AbstractPromotionsService.java b/framework/src/main/java/cn/lili/modules/promotion/service/AbstractPromotionsService.java index 18a65b7f..59096ba3 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/service/AbstractPromotionsService.java +++ b/framework/src/main/java/cn/lili/modules/promotion/service/AbstractPromotionsService.java @@ -121,6 +121,13 @@ public interface AbstractPromotionsService extends ISe */ void updateEsGoodsIndex(T promotions); + /** + * 发送更新商品索引消息 + * + * @param promotions 促销实体 + */ + void sendUpdateEsGoodsMsg(T promotions); + /** * 当前促销类型 * diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/AbstractPromotionsServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/AbstractPromotionsServiceImpl.java index a92abfb5..3eb688cf 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/AbstractPromotionsServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/AbstractPromotionsServiceImpl.java @@ -255,19 +255,25 @@ public abstract class AbstractPromotionsServiceImpl, T e //删除商品促销消息 applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("删除商品促销事件", rocketmqCustomProperties.getGoodsTopic(), GoodsTagsEnum.DELETE_GOODS_INDEX_PROMOTIONS.name(), JSONUtil.toJsonStr(build))); } else { - - String esPromotionKey = this.getPromotionType().name() + "-" + promotions.getId(); - Map map = new HashMap<>(); - // es促销key - map.put("esPromotionKey", esPromotionKey); - // 促销类型全路径名 - map.put("promotionsType", promotions.getClass().getName()); - // 促销实体 - map.put("promotions", promotions); - applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("更新商品索引促销事件", rocketmqCustomProperties.getGoodsTopic(), GoodsTagsEnum.UPDATE_GOODS_INDEX_PROMOTIONS.name(), JSONUtil.toJsonStr(map))); + this.sendUpdateEsGoodsMsg(promotions); } } + @Override + @Transactional(rollbackFor = Exception.class) + public void sendUpdateEsGoodsMsg(T promotions) { + + String esPromotionKey = this.getPromotionType().name() + "-" + promotions.getId(); + Map map = new HashMap<>(); + // es促销key + map.put("esPromotionKey", esPromotionKey); + // 促销类型全路径名 + map.put("promotionsType", promotions.getClass().getName()); + // 促销实体 + map.put("promotions", promotions); + applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("更新商品索引促销事件", rocketmqCustomProperties.getGoodsTopic(), GoodsTagsEnum.UPDATE_GOODS_INDEX_PROMOTIONS.name(), JSONUtil.toJsonStr(map))); + } + @Override public boolean allowExistSame() { return false; diff --git a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponServiceImpl.java b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponServiceImpl.java index 88259b66..7e24ed94 100644 --- a/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/promotion/serviceimpl/CouponServiceImpl.java @@ -1,10 +1,13 @@ package cn.lili.modules.promotion.serviceimpl; +import cn.hutool.core.map.MapBuilder; import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.json.JSONUtil; import cn.lili.common.enums.PromotionTypeEnum; import cn.lili.common.enums.ResultCode; +import cn.lili.common.event.TransactionCommitSendMQEvent; import cn.lili.common.exception.ServiceException; +import cn.lili.common.properties.RocketmqCustomProperties; import cn.lili.common.utils.DateUtil; import cn.lili.common.vo.PageVO; import cn.lili.modules.goods.entity.dos.GoodsSku; @@ -24,15 +27,18 @@ import cn.lili.modules.promotion.mapper.CouponMapper; import cn.lili.modules.promotion.service.*; import cn.lili.modules.promotion.tools.PromotionTools; import cn.lili.mybatis.util.PageUtil; +import cn.lili.rocketmq.tags.GoodsTagsEnum; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.ApplicationEventPublisher; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Collections; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -70,6 +76,12 @@ public class CouponServiceImpl extends AbstractPromotionsServiceImpl build = MapBuilder.create().put("promotionKey", this.getPromotionType() + "-" + promotions.getId()).put("scopeId", promotions.getScopeId()).build(); + //删除商品促销消息 + applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("删除商品促销事件", rocketmqCustomProperties.getGoodsTopic(), GoodsTagsEnum.DELETE_GOODS_INDEX_PROMOTIONS.name(), JSONUtil.toJsonStr(build))); + } else { + super.sendUpdateEsGoodsMsg(promotions); + } } @Override From 071f15347e9d0f9332b6daea79bb0983515a217e Mon Sep 17 00:00:00 2001 From: lele0521 Date: Mon, 4 Dec 2023 16:05:17 +0800 Subject: [PATCH 4/6] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E4=BC=9A?= =?UTF-8?q?=E5=91=98=E7=BB=91=E5=AE=9A=E6=89=8B=E6=9C=BA=E5=8F=B7=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../passport/MemberBuyerController.java | 22 +++++++++++++++++++ .../sms/impl/SmsUtilAliImplService.java | 1 + .../entity/enums/VerificationEnums.java | 4 +++- 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/buyer-api/src/main/java/cn/lili/controller/passport/MemberBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/passport/MemberBuyerController.java index a04b60c9..38f06a14 100644 --- a/buyer-api/src/main/java/cn/lili/controller/passport/MemberBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/passport/MemberBuyerController.java @@ -154,6 +154,28 @@ public class MemberBuyerController { } } + @ApiOperation(value = "绑定手机号") + @ApiImplicitParams({ + @ApiImplicitParam(name = "username", value = "用户名", required = true, paramType = "query"), + @ApiImplicitParam(name = "mobile", value = "手机号", required = true, paramType = "query"), + @ApiImplicitParam(name = "code", value = "验证码", required = true, paramType = "query"), + }) + @PostMapping("/bindMobile") + public ResultMessage bindMobile(@NotNull(message = "用户名不能为空") @RequestParam String username, + @NotNull(message = "手机号为空") @RequestParam String mobile, + @NotNull(message = "验证码为空") @RequestParam String code, + @RequestHeader String uuid) { + if (smsUtil.verifyCode(mobile, VerificationEnums.BIND_MOBILE, uuid, code)) { + Member member = memberService.findByUsername(username); + if (member == null) { + throw new ServiceException(ResultCode.USER_NOT_EXIST); + } + return ResultUtil.data(memberService.changeMobile(member.getId(), mobile)); + } else { + throw new ServiceException(ResultCode.VERIFICATION_SMS_CHECKED_ERROR); + } + } + @ApiOperation(value = "注册用户") @ApiImplicitParams({ @ApiImplicitParam(name = "username", value = "用户名", required = true, paramType = "query"), diff --git a/framework/src/main/java/cn/lili/modules/sms/impl/SmsUtilAliImplService.java b/framework/src/main/java/cn/lili/modules/sms/impl/SmsUtilAliImplService.java index 65fe31ba..20eb1b95 100644 --- a/framework/src/main/java/cn/lili/modules/sms/impl/SmsUtilAliImplService.java +++ b/framework/src/main/java/cn/lili/modules/sms/impl/SmsUtilAliImplService.java @@ -82,6 +82,7 @@ public class SmsUtilAliImplService implements SmsUtil { break; } //注册 + case BIND_MOBILE: case REGISTER: { templateCode = smsTemplateProperties.getREGISTER(); break; diff --git a/framework/src/main/java/cn/lili/modules/verification/entity/enums/VerificationEnums.java b/framework/src/main/java/cn/lili/modules/verification/entity/enums/VerificationEnums.java index 48b6b92b..fd3d617e 100644 --- a/framework/src/main/java/cn/lili/modules/verification/entity/enums/VerificationEnums.java +++ b/framework/src/main/java/cn/lili/modules/verification/entity/enums/VerificationEnums.java @@ -15,12 +15,14 @@ public enum VerificationEnums { * 找回用户 * 修改密码 * 支付钱包密码 + * 绑定手机号 */ LOGIN, REGISTER, FIND_USER, UPDATE_PASSWORD, - WALLET_PASSWORD; + WALLET_PASSWORD, + BIND_MOBILE; } From 183b2ba30cc2175d4b48adf4b9e3e7b356e772a0 Mon Sep 17 00:00:00 2001 From: misworga831 Date: Tue, 5 Dec 2023 11:48:56 +0800 Subject: [PATCH 5/6] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E5=95=86=E5=93=81?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E8=81=9A=E5=90=88=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/lili/elasticsearch/EmptyPage.java | 48 +++++++++++++++++++ .../serviceimpl/EsGoodsSearchServiceImpl.java | 12 ++--- 2 files changed, 52 insertions(+), 8 deletions(-) create mode 100644 framework/src/main/java/cn/lili/elasticsearch/EmptyPage.java diff --git a/framework/src/main/java/cn/lili/elasticsearch/EmptyPage.java b/framework/src/main/java/cn/lili/elasticsearch/EmptyPage.java new file mode 100644 index 00000000..8513354a --- /dev/null +++ b/framework/src/main/java/cn/lili/elasticsearch/EmptyPage.java @@ -0,0 +1,48 @@ +package cn.lili.elasticsearch; + +import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.Sort; + +public class EmptyPage implements Pageable { + + @Override + public int getPageNumber() { + return 0; + } + + @Override + public int getPageSize() { + return 0; + } + + @Override + public long getOffset() { + return 0; + } + + @Override + public Sort getSort() { + return null; + } + + @Override + public Pageable next() { + return null; + } + + @Override + public Pageable previousOrFirst() { + return null; + } + + @Override + public Pageable first() { + return null; + } + + @Override + public boolean hasPrevious() { + return false; + } + +} 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 1171dd1e..e9781017 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 @@ -7,6 +7,7 @@ import cn.lili.cache.Cache; import cn.lili.cache.CachePrefix; import cn.lili.common.exception.ServiceException; import cn.lili.common.vo.PageVO; +import cn.lili.elasticsearch.EmptyPage; import cn.lili.modules.goods.entity.enums.GoodsAuthEnum; import cn.lili.modules.goods.entity.enums.GoodsStatusEnum; import cn.lili.modules.search.entity.dos.EsGoodsIndex; @@ -122,7 +123,7 @@ public class EsGoodsSearchServiceImpl implements EsGoodsSearchService { return null; } - NativeSearchQueryBuilder builder = createSearchQueryBuilder(goodsSearch, pageVo); + NativeSearchQueryBuilder builder = createSearchQueryBuilder(goodsSearch, null); //分类 AggregationBuilder categoryNameBuilder = AggregationBuilders.terms("categoryNameAgg").field("categoryNamePath.keyword"); builder.addAggregation(AggregationBuilders.terms("categoryAgg").field("categoryPath").subAggregation(categoryNameBuilder)); @@ -137,6 +138,7 @@ public class EsGoodsSearchServiceImpl implements EsGoodsSearchService { AggregationBuilder sortBuilder = AggregationBuilders.sum("sortAgg").field(ATTR_SORT); AggregationBuilder paramsNameBuilder = AggregationBuilders.terms("nameAgg").field(ATTR_NAME).subAggregation(sortBuilder).order(BucketOrder.aggregation("sortAgg", false)).subAggregation(valuesBuilder); builder.addAggregation(AggregationBuilders.nested("attrAgg", ATTR_PATH).subAggregation(paramsNameBuilder)); + builder.withPageable(new EmptyPage()); NativeSearchQuery searchQuery = builder.build(); SearchHits search = restTemplate.search(searchQuery, EsGoodsIndex.class); @@ -615,17 +617,11 @@ public class EsGoodsSearchServiceImpl implements EsGoodsSearchService { private List buildFunctionSearch() { List filterFunctionBuilders = new ArrayList<>(); -// GaussDecayFunctionBuilder skuNoScore = ScoreFunctionBuilders.gaussDecayFunction("skuSource", 100, 10).setWeight(2); -// FunctionScoreQueryBuilder.FilterFunctionBuilder skuNoBuilder = new FunctionScoreQueryBuilder.FilterFunctionBuilder(skuNoScore); -// filterFunctionBuilders.add(skuNoBuilder); + // 修改分数算法为无,数字最大分数越高 FieldValueFactorFunctionBuilder skuNoScore = ScoreFunctionBuilders.fieldValueFactorFunction("skuSource").modifier(FieldValueFactorFunction.Modifier.LOG1P).setWeight(3); FunctionScoreQueryBuilder.FilterFunctionBuilder skuNoBuilder = new FunctionScoreQueryBuilder.FilterFunctionBuilder(skuNoScore); filterFunctionBuilders.add(skuNoBuilder); - // 修改分数算法为无,数字最大分数越高 -// FieldValueFactorFunctionBuilder buyCountScore = ScoreFunctionBuilders.fieldValueFactorFunction("buyCount").modifier(FieldValueFactorFunction.Modifier.NONE).setWeight(10); -// FunctionScoreQueryBuilder.FilterFunctionBuilder buyCountBuilder = new FunctionScoreQueryBuilder.FilterFunctionBuilder(buyCountScore); -// filterFunctionBuilders.add(buyCountBuilder); return filterFunctionBuilders; } From 0873fba7df5ec0c70dea70e38e578ab09e4f5ffc Mon Sep 17 00:00:00 2001 From: misworga831 Date: Tue, 5 Dec 2023 14:21:55 +0800 Subject: [PATCH 6/6] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E5=95=86=E5=93=81?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E8=81=9A=E5=90=88=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/lili/elasticsearch/EmptyPage.java | 48 ------------------- .../serviceimpl/EsGoodsSearchServiceImpl.java | 3 +- 2 files changed, 1 insertion(+), 50 deletions(-) delete mode 100644 framework/src/main/java/cn/lili/elasticsearch/EmptyPage.java diff --git a/framework/src/main/java/cn/lili/elasticsearch/EmptyPage.java b/framework/src/main/java/cn/lili/elasticsearch/EmptyPage.java deleted file mode 100644 index 8513354a..00000000 --- a/framework/src/main/java/cn/lili/elasticsearch/EmptyPage.java +++ /dev/null @@ -1,48 +0,0 @@ -package cn.lili.elasticsearch; - -import org.springframework.data.domain.Pageable; -import org.springframework.data.domain.Sort; - -public class EmptyPage implements Pageable { - - @Override - public int getPageNumber() { - return 0; - } - - @Override - public int getPageSize() { - return 0; - } - - @Override - public long getOffset() { - return 0; - } - - @Override - public Sort getSort() { - return null; - } - - @Override - public Pageable next() { - return null; - } - - @Override - public Pageable previousOrFirst() { - return null; - } - - @Override - public Pageable first() { - return null; - } - - @Override - public boolean hasPrevious() { - return false; - } - -} 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 e9781017..11ba3c74 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 @@ -7,7 +7,6 @@ import cn.lili.cache.Cache; import cn.lili.cache.CachePrefix; import cn.lili.common.exception.ServiceException; import cn.lili.common.vo.PageVO; -import cn.lili.elasticsearch.EmptyPage; import cn.lili.modules.goods.entity.enums.GoodsAuthEnum; import cn.lili.modules.goods.entity.enums.GoodsStatusEnum; import cn.lili.modules.search.entity.dos.EsGoodsIndex; @@ -138,8 +137,8 @@ public class EsGoodsSearchServiceImpl implements EsGoodsSearchService { AggregationBuilder sortBuilder = AggregationBuilders.sum("sortAgg").field(ATTR_SORT); AggregationBuilder paramsNameBuilder = AggregationBuilders.terms("nameAgg").field(ATTR_NAME).subAggregation(sortBuilder).order(BucketOrder.aggregation("sortAgg", false)).subAggregation(valuesBuilder); builder.addAggregation(AggregationBuilders.nested("attrAgg", ATTR_PATH).subAggregation(paramsNameBuilder)); - builder.withPageable(new EmptyPage()); NativeSearchQuery searchQuery = builder.build(); + searchQuery.setMaxResults(0); SearchHits search = restTemplate.search(searchQuery, EsGoodsIndex.class); log.debug("getSelector DSL:{}", searchQuery.getQuery());