首页搜索功能开发

This commit is contained in:
梁琦涛
2023-11-07 18:16:50 +08:00
parent c6871640f1
commit 813bd0f12b
7 changed files with 324 additions and 0 deletions
@@ -0,0 +1,62 @@
package com.jero.modules.home.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.modules.home.dto.HomeNormalSearchDTO;
import com.jero.modules.home.service.HomeSearchService;
import com.jero.modules.home.vo.HomeNormalSearchStatisticsVO;
import com.jero.modules.home.vo.HomeNormalSearchVO;
import com.jero.modules.laws.common.constant.FieldCommon;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Map;
/**
* @author lqt
* @version 1.0
* @date 2023/11/7 15:22
*/
@Slf4j
@RequestMapping("/home/homeSearch")
@RestController
public class HomeSearchController {
@Resource
private HomeSearchService homeSearchService;
@AutoLog(value = "首页-一般检索(数据统计)")
@ApiOperation(value="首页-一般检索(数据统计)", notes="首页-一般检索(数据统计)")
@PostMapping(value = "/getNormalSearchCount")
public Result<HomeNormalSearchStatisticsVO> getNormalSearchCount(@RequestBody HomeNormalSearchDTO homeNormalSearchDTO) {
return Result.OK(homeSearchService.getNormalSearchCount(homeNormalSearchDTO));
}
@AutoLog(value = "首页-一般检索(标题)查询")
@ApiOperation(value="首页-一般检索(标题)查询", notes="首页-一般检索(标题)查询")
@PostMapping(value = "/getNormalSearchTitlePage")
public Result<IPage<HomeNormalSearchVO>> getNormalSearchTitlePage(@RequestBody HomeNormalSearchDTO homeNormalSearchDTO) {
return Result.OK(homeSearchService.getNormalSearchTitlePage(homeNormalSearchDTO));
}
@AutoLog(value = "首页-一般检索(全文)查询")
@ApiOperation(value="首页-一般检索(全文)查询", notes="首页-一般检索(全文)查询")
@PostMapping(value = "/getNormalSearchAllPage")
public Result<IPage<HomeNormalSearchVO>> getNormalSearchAllPage(@RequestBody HomeNormalSearchDTO homeNormalSearchDTO) {
return Result.OK(homeSearchService.getNormalSearchAllPage(homeNormalSearchDTO));
}
@AutoLog(value = "首页-高级检索查询")
@ApiOperation(value="首页-高级检索查询", notes="首页-高级检索查询")
@PostMapping(value = "/getAdvancedSearchPage")
public Result<IPage<HomeNormalSearchVO>> getAdvancedSearchPage(@RequestBody HomeNormalSearchDTO homeNormalSearchDTO) {
return Result.OK(homeSearchService.getAdvancedSearchPage(homeNormalSearchDTO));
}
}
@@ -0,0 +1,72 @@
package com.jero.modules.home.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 一般检索
* @author lqt
* @version 1.0
* @date 2023/11/7 15:53
*/
@Data
public class HomeNormalSearchDTO implements Serializable {
/**
* 检索内容
*/
@ApiModelProperty(value = "检索内容")
private String searchValue;
/**
* 检索方式 1:全文检索 2:标题检索
*/
@ApiModelProperty(value = "检索方式 1:全文检索 2:标题检索")
private String searchMode;
/**
* 资源类型 1:国内标准法规 2:海外标准法规 3:企业标准 4:动态消息 (全部传空)
*/
@ApiModelProperty(value = "资源类型 1:国内标准法规 2:海外标准法规 3:企业标准 4:动态消息 (全部传空)")
private String resourceType;
/**
* 标准类别 (数据字典 海外标准法规:standard_type_overseas 国内标准法规:standard_type (全部传空)
*/
@ApiModelProperty(value = "标准类别 (数据字典 海外标准法规:standard_type_overseas 国内标准法规:standard_type (全部传空)")
private String standardType;
/**
* 动力类型 (数据字典 海外标准法规:POWER_TYPE_DOMESTIC_OVERSEAS 国内标准法规:POWER_TYPE_DOMESTIC (全部传空)
*/
@ApiModelProperty(value = "动力类型 (数据字典 海外标准法规:POWER_TYPE_DOMESTIC_OVERSEAS 国内标准法规:POWER_TYPE_DOMESTIC (全部传空)")
private String powerTypeDomestic;
/**
* 适用车辆类型 (数据字典 海外标准法规:APPLICATIONS_OVERSEAS 国内标准法规:APPLICATIONS_DOMESTIC (全部传空)
*/
@ApiModelProperty(value = "适用车辆类型 (数据字典 海外标准法规:APPLICATIONS_OVERSEAS 国内标准法规:APPLICATIONS_DOMESTIC (全部传空)")
private String applications;
/**
* 标准类型 (只有国内标准法规 数据字典 standard_property (全部传空)
*/
@ApiModelProperty(value = "标准类型 (只有国内标准法规 数据字典 standard_property (全部传空)")
private String standardProperty;
/**
* 状态 (国内标准法规/海外标准法规 数据字典 standard_state (全部传空)
*/
@ApiModelProperty(value = "状态 (国内标准法规/海外标准法规 数据字典 standard_state (全部传空)")
private String standardState;
/**
* 企业标准代号 (只有企业标准 数据字典 enterprise_standard_code (全部传空)
*/
@ApiModelProperty(value = "企业标准代号 (只有企业标准 数据字典 enterprise_standard_code (全部传空)")
private String enterpriseStandardCode;
/**
* 标准状态 (只有企业标准 数据字典 enterprise_standard_state (全部传空)
*/
@ApiModelProperty(value = "标准状态 (只有企业标准 数据字典 enterprise_standard_state (全部传空)")
private String enterpriseStandardState;
/**
* 标准等级分类 (只有企业标准 数据字典 standard_grade_classify (全部传空)
*/
@ApiModelProperty(value = "标准等级分类 (只有企业标准 数据字典 standard_grade_classify (全部传空)")
private String standardGradeClassify;
}
@@ -0,0 +1,24 @@
package com.jero.modules.home.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jero.modules.home.dto.HomeNormalSearchDTO;
import com.jero.modules.home.vo.HomeNormalSearchStatisticsVO;
import com.jero.modules.home.vo.HomeNormalSearchVO;
/**
* @author lqt
* @version 1.0
* @date 2023/11/7 17:00
*/
public interface HomeSearchService {
HomeNormalSearchStatisticsVO getNormalSearchCount(HomeNormalSearchDTO homeNormalSearchDTO);
IPage<HomeNormalSearchVO> getNormalSearchTitlePage(HomeNormalSearchDTO homeNormalSearchDTO);
IPage<HomeNormalSearchVO> getNormalSearchAllPage(HomeNormalSearchDTO homeNormalSearchDTO);
IPage<HomeNormalSearchVO> getAdvancedSearchPage(HomeNormalSearchDTO homeNormalSearchDTO);
}
@@ -0,0 +1,38 @@
package com.jero.modules.home.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jero.modules.home.dto.HomeNormalSearchDTO;
import com.jero.modules.home.service.HomeSearchService;
import com.jero.modules.home.vo.HomeNormalSearchStatisticsVO;
import com.jero.modules.home.vo.HomeNormalSearchVO;
import org.springframework.stereotype.Service;
/**
* @author lqt
* @version 1.0
* @date 2023/11/7 17:00
*/
@Service
public class HomeSearchServiceImpl implements HomeSearchService {
@Override
public HomeNormalSearchStatisticsVO getNormalSearchCount(HomeNormalSearchDTO homeNormalSearchDTO) {
return null;
}
@Override
public IPage<HomeNormalSearchVO> getNormalSearchTitlePage(HomeNormalSearchDTO homeNormalSearchDTO) {
return null;
}
@Override
public IPage<HomeNormalSearchVO> getNormalSearchAllPage(HomeNormalSearchDTO homeNormalSearchDTO) {
return null;
}
@Override
public IPage<HomeNormalSearchVO> getAdvancedSearchPage(HomeNormalSearchDTO homeNormalSearchDTO) {
return null;
}
}
@@ -0,0 +1,31 @@
package com.jero.modules.home.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @author lqt
* @version 1.0
* @date 2023/11/7 17:24
*/
@Data
public class HomeNormalSearchStatisticsObjVO implements Serializable {
/**
* 名称
*/
@ApiModelProperty(value = "名称")
private String itemText;
/**
* 数据值
*/
@ApiModelProperty(value = "数据值")
private String itemValue;
/**
* 统计数
*/
@ApiModelProperty(value = "统计数")
private String statisticsCount;
}
@@ -0,0 +1,57 @@
package com.jero.modules.home.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author lqt
* @version 1.0
* @date 2023/11/7 17:19
*/
@Data
public class HomeNormalSearchStatisticsVO implements Serializable {
/**
* 标准类别 (数据字典 海外标准法规:standard_type_overseas 国内标准法规:standard_type (全部传空)
*/
@ApiModelProperty(value = "标准类别 (数据字典 海外标准法规:standard_type_overseas 国内标准法规:standard_type (全部传空)")
private List<HomeNormalSearchStatisticsObjVO> standardType;
/**
* 动力类型 (数据字典 海外标准法规:POWER_TYPE_DOMESTIC_OVERSEAS 国内标准法规:POWER_TYPE_DOMESTIC (全部传空)
*/
@ApiModelProperty(value = "动力类型 (数据字典 海外标准法规:POWER_TYPE_DOMESTIC_OVERSEAS 国内标准法规:POWER_TYPE_DOMESTIC (全部传空)")
private List<HomeNormalSearchStatisticsObjVO> powerTypeDomestic;
/**
* 适用车辆类型 (数据字典 海外标准法规:APPLICATIONS_OVERSEAS 国内标准法规:APPLICATIONS_DOMESTIC (全部传空)
*/
@ApiModelProperty(value = "适用车辆类型 (数据字典 海外标准法规:APPLICATIONS_OVERSEAS 国内标准法规:APPLICATIONS_DOMESTIC (全部传空)")
private List<HomeNormalSearchStatisticsObjVO> applications;
/**
* 标准类型 (只有国内标准法规 数据字典 standard_property (全部传空)
*/
@ApiModelProperty(value = "标准类型 (只有国内标准法规 数据字典 standard_property (全部传空)")
private List<HomeNormalSearchStatisticsObjVO> standardProperty;
/**
* 状态 (国内标准法规/海外标准法规 数据字典 standard_state (全部传空)
*/
@ApiModelProperty(value = "状态 (国内标准法规/海外标准法规 数据字典 standard_state (全部传空)")
private List<HomeNormalSearchStatisticsObjVO> standardState;
/**
* 企业标准代号 (只有企业标准 数据字典 enterprise_standard_code (全部传空)
*/
@ApiModelProperty(value = "企业标准代号 (只有企业标准 数据字典 enterprise_standard_code (全部传空)")
private List<HomeNormalSearchStatisticsObjVO> enterpriseStandardCode;
/**
* 标准状态 (只有企业标准 数据字典 enterprise_standard_state (全部传空)
*/
@ApiModelProperty(value = "标准状态 (只有企业标准 数据字典 enterprise_standard_state (全部传空)")
private List<HomeNormalSearchStatisticsObjVO> enterpriseStandardState;
/**
* 标准等级分类 (只有企业标准 数据字典 standard_grade_classify (全部传空)
*/
@ApiModelProperty(value = "标准等级分类 (只有企业标准 数据字典 standard_grade_classify (全部传空)")
private List<HomeNormalSearchStatisticsObjVO> standardGradeClassify;
}
@@ -0,0 +1,40 @@
package com.jero.modules.home.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @author lqt
* @version 1.0
* @date 2023/11/7 17:04
*/
@Data
public class HomeNormalSearchVO implements Serializable {
/**
* 业务id
*/
@ApiModelProperty(value = "业务id")
private String id;
/**
* 资源类型 1:国内标准法规 2:海外标准法规 3:企业标准 4:动态消息
*/
@ApiModelProperty(value = "资源类型 1:国内标准法规 2:海外标准法规 3:企业标准 4:动态消息")
private String resourceType;
/**
* 标题
*/
@ApiModelProperty(value = "标题")
private String title;
/**
* 内容
*/
@ApiModelProperty(value = "内容")
private String content;
/**
* 发布日期
*/
@ApiModelProperty(value = "发布日期")
private String releaseDate;
}