1.迁移product search 代码
2.先注释掉提示错误的代码,后续相关人员开发功能时自行解开 3.修改es连接方式为 rest,增加spring data jest
This commit is contained in:
@@ -2,13 +2,22 @@ package cn.iocoder.mall.search.application;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.context.config.ConfigFileApplicationListener;
|
||||
import org.springframework.scheduling.annotation.EnableAsync;
|
||||
|
||||
@SpringBootApplication(scanBasePackages = {"cn.iocoder.mall.search"})
|
||||
@EnableAsync(proxyTargetClass = true)
|
||||
public class SearchApplication {
|
||||
|
||||
/**
|
||||
* 设置需要读取的配置文件的名字。
|
||||
* 基于 {@link org.springframework.boot.context.config.ConfigFileApplicationListener#CONFIG_NAME_PROPERTY} 实现。
|
||||
*/
|
||||
private static final String CONFIG_NAME_VALUE = "biz,rest,rpc,application";
|
||||
public static void main(String[] args) {
|
||||
|
||||
// 设置环境变量
|
||||
System.setProperty(ConfigFileApplicationListener.CONFIG_NAME_PROPERTY, CONFIG_NAME_VALUE);
|
||||
|
||||
// 解决 ES java.lang.IllegalStateException: availableProcessors is already
|
||||
System.setProperty("es.set.netty.runtime.available.processors", "false");
|
||||
SpringApplication.run(SearchApplication.class, args);
|
||||
|
||||
@@ -1,59 +0,0 @@
|
||||
package cn.iocoder.mall.search.application.controller.users;
|
||||
|
||||
import cn.iocoder.common.framework.util.StringUtil;
|
||||
import cn.iocoder.common.framework.vo.CommonResult;
|
||||
import cn.iocoder.common.framework.vo.SortingField;
|
||||
import cn.iocoder.mall.search.api.ProductSearchService;
|
||||
import cn.iocoder.mall.search.api.bo.ProductConditionBO;
|
||||
import cn.iocoder.mall.search.api.bo.ProductPageBO;
|
||||
import cn.iocoder.mall.search.api.dto.ProductConditionDTO;
|
||||
import cn.iocoder.mall.search.api.dto.ProductSearchPageDTO;
|
||||
import org.apache.dubbo.config.annotation.Reference;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
import static cn.iocoder.common.framework.vo.CommonResult.success;
|
||||
|
||||
// TODO 芋艿,搜索关键字的配置
|
||||
// TODO 芋艿,搜索日志
|
||||
|
||||
@RestController
|
||||
@RequestMapping("users/product")
|
||||
@Api("商品搜索")
|
||||
public class UsersProductSearchController {
|
||||
|
||||
@Reference(validation = "true", version = "${dubbo.provider.ProductSearchService.version}")
|
||||
private ProductSearchService productSearchService;
|
||||
|
||||
@GetMapping("/page") // TODO 芋艿,后面把 BO 改成 VO
|
||||
public CommonResult<ProductPageBO> page(@RequestParam(value = "cid", required = false) Integer cid,
|
||||
@RequestParam(value = "keyword", required = false) String keyword,
|
||||
@RequestParam(value = "pageNo", required = false) Integer pageNo,
|
||||
@RequestParam(value = "pageSize", required = false) Integer pageSize,
|
||||
@RequestParam(value = "sortField", required = false) String sortField,
|
||||
@RequestParam(value = "sortOrder", required = false) String sortOrder) {
|
||||
// 创建 ProductSearchPageDTO 对象
|
||||
ProductSearchPageDTO productSearchPageDTO = new ProductSearchPageDTO().setCid(cid).setKeyword(keyword)
|
||||
.setPageNo(pageNo).setPageSize(pageSize);
|
||||
if (StringUtil.hasText(sortField) && StringUtil.hasText(sortOrder)) {
|
||||
productSearchPageDTO.setSorts(Collections.singletonList(new SortingField(sortField, sortOrder)));
|
||||
}
|
||||
// 执行搜索
|
||||
return success(productSearchService.getSearchPage(productSearchPageDTO));
|
||||
}
|
||||
|
||||
@GetMapping("/condition") // TODO 芋艿,后面把 BO 改成 VO
|
||||
public CommonResult<ProductConditionBO> condition(@RequestParam(value = "keyword", required = false) String keyword) {
|
||||
// 创建 ProductConditionDTO 对象
|
||||
ProductConditionDTO productConditionDTO = new ProductConditionDTO().setKeyword(keyword)
|
||||
.setFields(Collections.singleton(ProductConditionDTO.FIELD_CATEGORY));
|
||||
// 执行搜索
|
||||
return success(productSearchService.getSearchCondition(productConditionDTO));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,29 +1,6 @@
|
||||
spring:
|
||||
application:
|
||||
name: search-application
|
||||
|
||||
# Spring Cloud 配置项
|
||||
cloud:
|
||||
# Spring Cloud Sentinel 配置项
|
||||
sentinel:
|
||||
transport:
|
||||
dashboard: s1.iocoder.cn:12088 # Sentinel Dashboard 服务地址
|
||||
eager: true # 项目启动时,直接连接到 Sentinel
|
||||
|
||||
# server
|
||||
server:
|
||||
port: 18086
|
||||
servlet:
|
||||
context-path: /search-api/
|
||||
|
||||
swagger:
|
||||
enable: false
|
||||
|
||||
|
||||
management:
|
||||
endpoints:
|
||||
web:
|
||||
exposure:
|
||||
include: health,info,env,metrics,prometheus
|
||||
metrics:
|
||||
enabled: true
|
||||
# Profile 的配置项
|
||||
profiles:
|
||||
active: local
|
||||
|
||||
Reference in New Issue
Block a user