From 8b861e8fe76e7f733f2b8bef3ed3db5b5eac28e9 Mon Sep 17 00:00:00 2001 From: Chopper Date: Mon, 26 Jul 2021 16:02:03 +0800 Subject: [PATCH] =?UTF-8?q?=E7=83=AD=E8=AF=8D=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E5=88=86=E6=95=B0=E7=BA=BF=E5=8A=9F=E8=83=BD=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../search/entity/dto/HotWordsDTO.java | 24 +++++++++++++++++++ .../search/service/EsGoodsSearchService.java | 7 +++--- .../serviceimpl/EsGoodsSearchServiceImpl.java | 5 ++-- .../setting/HotWordsManagerController.java | 13 ++++------ 4 files changed, 35 insertions(+), 14 deletions(-) create mode 100644 framework/src/main/java/cn/lili/modules/search/entity/dto/HotWordsDTO.java diff --git a/framework/src/main/java/cn/lili/modules/search/entity/dto/HotWordsDTO.java b/framework/src/main/java/cn/lili/modules/search/entity/dto/HotWordsDTO.java new file mode 100644 index 00000000..8756dcf2 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/search/entity/dto/HotWordsDTO.java @@ -0,0 +1,24 @@ +package cn.lili.modules.search.entity.dto; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +/** + * 搜索热词 + * + * @author Chopper + * @version v1.0 + * 2021-07-26 15:46 + */ +@Data +public class HotWordsDTO { + + @NotBlank(message = "搜索热词不能为空") + private String keywords; + + @NotNull(message = "分数不能为空") + private Integer point; +} + 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 1099c0ba..c4cfbebb 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 @@ -4,6 +4,7 @@ import cn.lili.common.vo.PageVO; import cn.lili.modules.search.entity.dos.EsGoodsIndex; import cn.lili.modules.search.entity.dos.EsGoodsRelatedInfo; import cn.lili.modules.search.entity.dto.EsGoodsSearchDTO; +import cn.lili.modules.search.entity.dto.HotWordsDTO; import org.springframework.data.domain.Page; import java.util.List; @@ -36,11 +37,9 @@ public interface EsGoodsSearchService { /** * 设置热门关键词 - * - * @param words 关键词 - * @param point 赋予分数 + * @param hotWords 热词分数 */ - void setHotWords(String words, Integer point); + void setHotWords(HotWordsDTO hotWords); /** * 获取筛选器 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 7637c196..55233623 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 @@ -15,6 +15,7 @@ import cn.lili.modules.goods.service.CategoryService; import cn.lili.modules.search.entity.dos.EsGoodsIndex; import cn.lili.modules.search.entity.dos.EsGoodsRelatedInfo; import cn.lili.modules.search.entity.dto.EsGoodsSearchDTO; +import cn.lili.modules.search.entity.dto.HotWordsDTO; import cn.lili.modules.search.entity.dto.ParamOptions; import cn.lili.modules.search.entity.dto.SelectorOptions; import cn.lili.modules.search.repository.EsGoodsIndexRepository; @@ -111,8 +112,8 @@ public class EsGoodsSearchServiceImpl implements EsGoodsSearchService { } @Override - public void setHotWords(String words, Integer point) { - cache.incrementScore(CachePrefix.HOT_WORD.getPrefix(), words, point); + public void setHotWords(HotWordsDTO hotWords) { + cache.incrementScore(CachePrefix.HOT_WORD.getPrefix(), hotWords.getKeywords(), hotWords.getPoint()); } @Override diff --git a/manager-api/src/main/java/cn/lili/controller/setting/HotWordsManagerController.java b/manager-api/src/main/java/cn/lili/controller/setting/HotWordsManagerController.java index 91d9a5da..6722c921 100755 --- a/manager-api/src/main/java/cn/lili/controller/setting/HotWordsManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/setting/HotWordsManagerController.java @@ -2,12 +2,12 @@ package cn.lili.controller.setting; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; +import cn.lili.modules.search.entity.dto.HotWordsDTO; import cn.lili.modules.search.service.EsGoodsSearchService; import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -34,13 +34,10 @@ public class HotWordsManagerController { } @ApiOperation(value = "设置热词") - @ApiImplicitParams({ - @ApiImplicitParam(name = "keywords", value = "关键字"), - @ApiImplicitParam(name = "point", value = "权重值") - }) @PostMapping - public ResultMessage paymentForm(String keywords, Integer point) { - esGoodsSearchService.setHotWords(keywords, point); + public ResultMessage paymentForm(@Validated HotWordsDTO hotWords) { + + esGoodsSearchService.setHotWords(hotWords); return ResultUtil.success(); }