热词统计,热词功能改版

This commit is contained in:
Chopper
2022-04-19 09:28:26 +08:00
parent 6ae9692358
commit 947a82eac5
22 changed files with 653 additions and 109 deletions

View File

@@ -1,47 +0,0 @@
package cn.lili.controller.hotwords;
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.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
* 管理端,app版本控制器
*
* @author Chopper
* @since 2018-07-04 21:50:52
*/
@RestController
@Api(tags = "管理端,系统设置扩展接口")
@RequestMapping("/manager/hotwords/hotwords")
public class HotWordsManagerController {
@Autowired
private EsGoodsSearchService esGoodsSearchService;
@ApiOperation(value = "获取热词")
@GetMapping
public ResultMessage<Object> getHotWords() {
return ResultUtil.data(esGoodsSearchService.getHotWords(100));
}
@ApiOperation(value = "设置热词")
@PostMapping
public ResultMessage<Object> paymentForm(@Validated HotWordsDTO hotWords) {
esGoodsSearchService.setHotWords(hotWords);
return ResultUtil.success();
}
@ApiOperation(value = "设置热词")
@DeleteMapping("/{words}")
public ResultMessage<Object> deleteWords(@PathVariable String words) {
esGoodsSearchService.deleteHotWords(words);
return ResultUtil.success();
}
}

View File

@@ -0,0 +1,79 @@
package cn.lili.controller.other;
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.entity.dto.HotWordsSearchParams;
import cn.lili.modules.search.service.HotWordsHistoryService;
import cn.lili.modules.search.service.HotWordsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
* 管理端,热词管理
*
* @author Chopper
* @since 2018-07-04 21:50:52
*/
@RestController
@Api(tags = "管理端,热词管理")
@RequestMapping("/manager/hotwords/hotwords")
public class HotWordsManagerController {
@Autowired
private HotWordsService hotWordsService;
@Autowired
private HotWordsHistoryService hotWordsHistoryService;
@ApiOperation(value = "获取热词")
@GetMapping
public ResultMessage<Object> getHotWords() {
return ResultUtil.data(hotWordsService.getHotWords(100));
}
@ApiOperation(value = "设置热词")
@PostMapping
public ResultMessage<Object> setHotWords(@Validated HotWordsDTO hotWords) {
hotWordsService.setHotWords(hotWords);
return ResultUtil.success();
}
@ApiOperation(value = "删除热词")
@DeleteMapping
public ResultMessage<Object> deleteWords(String words) {
hotWordsService.deleteHotWords(words);
return ResultUtil.success();
}
@ApiOperation(value = "历史热词")
@GetMapping("/history")
public ResultMessage<Object> deleteWords(HistorySearchParams historySearchParams) {
return ResultUtil.data(hotWordsHistoryService.queryByDay(historySearchParams.getDate()));
}
@ApiOperation(value = "热词统计")
@GetMapping("/statistics")
public ResultMessage<Object> deleteWords(HotWordsSearchParams hotWordsSearchParams) {
return ResultUtil.data(hotWordsHistoryService.statistics(hotWordsSearchParams));
}
}
@Data
class HistorySearchParams {
@DateTimeFormat(pattern = "yyyy-MM-dd")
@NotNull(message = "查询日期不能为空")
private Date date;
}

View File

@@ -185,6 +185,10 @@ public class SettingManagerController {
return setting == null ?
ResultUtil.data(new ImSetting()) :
ResultUtil.data(JSONUtil.toBean(setting.getSettingValue(), ImSetting.class));
case HOT_WORDS:
return setting == null ?
ResultUtil.data(new HotWordsSetting()) :
ResultUtil.data(JSONUtil.toBean(setting.getSettingValue(), HotWordsSetting.class));
default:
throw new ServiceException(ResultCode.SETTING_NOT_TO_SET);
}