一般检索(全文)添加
This commit is contained in:
-1
@@ -60,7 +60,6 @@ public class LawsHomeSearchController {
|
|||||||
@ApiOperation(value="首页-一般检索(全文)(数据统计)", notes="首页-一般检索(全文)(数据统计)")
|
@ApiOperation(value="首页-一般检索(全文)(数据统计)", notes="首页-一般检索(全文)(数据统计)")
|
||||||
@GetMapping(value = "/getNormalSearchAllCount")
|
@GetMapping(value = "/getNormalSearchAllCount")
|
||||||
public Result<LawsHomeNormalSearchStatisticsVO> getNormalSearchAllCount(LawsHomeNormalSearchDTO homeNormalSearchDTO) {
|
public Result<LawsHomeNormalSearchStatisticsVO> getNormalSearchAllCount(LawsHomeNormalSearchDTO homeNormalSearchDTO) {
|
||||||
// todo 待开发
|
|
||||||
return Result.OK(lawsHomeSearchService.getNormalSearchAllCount(homeNormalSearchDTO));
|
return Result.OK(lawsHomeSearchService.getNormalSearchAllCount(homeNormalSearchDTO));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+11
@@ -5,10 +5,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.jero.common.system.vo.SysDictItemCore;
|
||||||
import com.jero.modules.laws.home.dto.LawsHomeNormalSearchDTO;
|
import com.jero.modules.laws.home.dto.LawsHomeNormalSearchDTO;
|
||||||
import com.jero.modules.laws.home.entity.LawsHomeNormalSearchHistory;
|
import com.jero.modules.laws.home.entity.LawsHomeNormalSearchHistory;
|
||||||
import com.jero.modules.laws.home.vo.LawsHomeNormalSearchCountVO;
|
import com.jero.modules.laws.home.vo.LawsHomeNormalSearchCountVO;
|
||||||
import com.jero.modules.laws.home.vo.LawsHomeNormalSearchVO;
|
import com.jero.modules.laws.home.vo.LawsHomeNormalSearchVO;
|
||||||
|
import com.jero.modules.system.entity.SysDict;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -57,5 +59,14 @@ public interface LawsHomeSearchMapper extends BaseMapper<LawsHomeNormalSearchHis
|
|||||||
*/
|
*/
|
||||||
List<LawsHomeNormalSearchCountVO> getCount3(@Param(Constants.WRAPPER) QueryWrapper<LawsHomeNormalSearchDTO> queryWrapper);
|
List<LawsHomeNormalSearchCountVO> getCount3(@Param(Constants.WRAPPER) QueryWrapper<LawsHomeNormalSearchDTO> queryWrapper);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取数据所需要的字典
|
||||||
|
* @author LQT
|
||||||
|
* @date 2023/11/22 15:52
|
||||||
|
* @param queryWrapper
|
||||||
|
* @return java.util.List<com.jero.common.system.vo.SysDictItemCore>
|
||||||
|
*/
|
||||||
|
List<SysDictItemCore> translateManyDict(@Param(Constants.WRAPPER) QueryWrapper<SysDict> queryWrapper);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+17
-4
@@ -4,21 +4,21 @@
|
|||||||
|
|
||||||
<select id="getPage" resultType="com.jero.modules.laws.home.vo.LawsHomeNormalSearchVO">
|
<select id="getPage" resultType="com.jero.modules.laws.home.vo.LawsHomeNormalSearchVO">
|
||||||
select * from (
|
select * from (
|
||||||
select id,'1' as resource_type,standard_number,standard_name,
|
select id,'1' as resource_type,standard_number,standard_name,create_time,
|
||||||
case when standard_class = 'GB' then 2
|
case when standard_class = 'GB' then 2
|
||||||
when standard_class = 'GB/T' then 1 end as standard_type,
|
when standard_class = 'GB/T' then 1 end as standard_type,
|
||||||
standard_class,dynamic_type,applicable_vehicle,standard_property,standard_state,'' as standard_code,'' as grade_classification
|
standard_class,dynamic_type,applicable_vehicle,standard_property,standard_state,'' as standard_code,'' as grade_classification
|
||||||
from laws_domestic_standard where del_flag = 0
|
from laws_domestic_standard where del_flag = 0
|
||||||
union all
|
union all
|
||||||
select id,'2' as resource_type,standard_number,standard_name,0 as standard_type,
|
select id,'2' as resource_type,standard_number,standard_name,create_time,0 as standard_type,
|
||||||
standard_class,'',applicable_vehicle,'',standard_state,'',''
|
standard_class,'',applicable_vehicle,'',standard_state,'',''
|
||||||
from laws_overseas_standard where del_flag = 0
|
from laws_overseas_standard where del_flag = 0
|
||||||
union all
|
union all
|
||||||
select id,'3' as resource_type,standard_number,standard_name,0 as standard_type,
|
select id,'3' as resource_type,standard_number,standard_name,create_time,0 as standard_type,
|
||||||
'','','','',standard_state,standard_code,grade_classification
|
'','','','',standard_state,standard_code,grade_classification
|
||||||
from laws_enterprise_standard where del_flag = 0
|
from laws_enterprise_standard where del_flag = 0
|
||||||
union all
|
union all
|
||||||
select id,'4' as resource_type,'' as standard_number,dynamic_heading as standard_name,0 as standard_type,
|
select id,'4' as resource_type,'' as standard_number,dynamic_heading as standard_name,create_time,0 as standard_type,
|
||||||
'','','','','','',''
|
'','','','','','',''
|
||||||
from laws_news_feed where del_flag = 0
|
from laws_news_feed where del_flag = 0
|
||||||
) as all_data
|
) as all_data
|
||||||
@@ -62,6 +62,19 @@
|
|||||||
select 'standard_state' as field_name,standard_state,count(*) from laws_enterprise_standard
|
select 'standard_state' as field_name,standard_state,count(*) from laws_enterprise_standard
|
||||||
<where>${ew.sqlSegment}</where> group by standard_state
|
<where>${ew.sqlSegment}</where> group by standard_state
|
||||||
</select>
|
</select>
|
||||||
|
<select id="translateManyDict" resultType="com.jero.common.system.vo.SysDictItemCore">
|
||||||
|
SELECT
|
||||||
|
sys_dict.dict_code,
|
||||||
|
sys_dict_item.item_text,
|
||||||
|
sys_dict_item.item_value
|
||||||
|
FROM
|
||||||
|
sys_dict_item
|
||||||
|
LEFT JOIN sys_dict ON sys_dict_item.dict_id = sys_dict.id
|
||||||
|
WHERE
|
||||||
|
STATUS = 1
|
||||||
|
AND sys_dict_item.del_flag = 0
|
||||||
|
AND ${ew.sqlSegment}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
+315
-272
@@ -22,7 +22,6 @@ import com.jero.modules.document.utils.ReadPdfUtil;
|
|||||||
import com.jero.modules.document.utils.ReadWordUtil;
|
import com.jero.modules.document.utils.ReadWordUtil;
|
||||||
import com.jero.modules.laws.home.common.LawsHomeSearchCommon;
|
import com.jero.modules.laws.home.common.LawsHomeSearchCommon;
|
||||||
import com.jero.modules.laws.home.dto.LawsHomeNormalSearchDTO;
|
import com.jero.modules.laws.home.dto.LawsHomeNormalSearchDTO;
|
||||||
import com.jero.modules.laws.home.dto.SearchVO;
|
|
||||||
import com.jero.modules.laws.home.entity.LawsHomeNormalSearchHistory;
|
import com.jero.modules.laws.home.entity.LawsHomeNormalSearchHistory;
|
||||||
import com.jero.modules.laws.home.enums.HomeSearchEnum;
|
import com.jero.modules.laws.home.enums.HomeSearchEnum;
|
||||||
import com.jero.modules.laws.home.mapper.LawsHomeSearchMapper;
|
import com.jero.modules.laws.home.mapper.LawsHomeSearchMapper;
|
||||||
@@ -42,6 +41,7 @@ import com.jero.modules.laws.standard.service.ILawsNewsFeedService;
|
|||||||
import com.jero.modules.laws.standard.service.ILawsOverseasStandardService;
|
import com.jero.modules.laws.standard.service.ILawsOverseasStandardService;
|
||||||
import com.jero.modules.oss.entity.OSSFile;
|
import com.jero.modules.oss.entity.OSSFile;
|
||||||
import com.jero.modules.oss.service.IOSSFileService;
|
import com.jero.modules.oss.service.IOSSFileService;
|
||||||
|
import com.jero.modules.system.entity.SysDict;
|
||||||
import com.jero.modules.tag.entity.LawsTag;
|
import com.jero.modules.tag.entity.LawsTag;
|
||||||
import com.jero.modules.tag.service.ILawsTagService;
|
import com.jero.modules.tag.service.ILawsTagService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -97,14 +97,27 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
// 标识(es数据带此标识的代表全文和段落的数据,不带此标识的代表列表数据)
|
// 标识(es数据带此标识的代表全文和段落的数据,不带此标识的代表列表数据)
|
||||||
public static final String SEARCH_FLAG = "魑";
|
public static final String SEARCH_FLAG = "魑";
|
||||||
|
|
||||||
|
public static final String RESOURCE_TYPE = "resource_type";
|
||||||
|
public static final String STANDARD_TYPE = "standard_type";
|
||||||
|
public static final String CREATE_TIME = "create_time";
|
||||||
|
public static final String STANDARD_CODE = "standard_code";
|
||||||
|
public static final String ENTERPRISE_STANDARD_STATE = "enterprise_standard_state";
|
||||||
|
public static final String STANDARD_STATE = "standard_state";
|
||||||
|
public static final String GRADE_CLASSIFICATION = "grade_classification";
|
||||||
|
public static final String STANDARD_CLASS = "standard_class";
|
||||||
|
public static final String APPLICABLE_VEHICLE = "applicable_vehicle";
|
||||||
|
public static final String DYNAMIC_TYPE = "dynamic_type";
|
||||||
|
public static final String STANDARD_PROPERTY = "standard_property";
|
||||||
|
public static final String CONTENT = "content";
|
||||||
|
public static final String SYNC_ES_ERR = "同步ES数据异常:";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = JeroBootException.class)
|
@Transactional(rollbackFor = JeroBootException.class)
|
||||||
public IPage<LawsHomeNormalSearchVO> getNormalSearchTitlePage(LawsHomeNormalSearchDTO lawsHomeNormalSearchDTO,
|
public IPage<LawsHomeNormalSearchVO> getNormalSearchTitlePage(LawsHomeNormalSearchDTO lawsHomeNormalSearchDTO,
|
||||||
Integer pageNo,Integer pageSize) {
|
Integer pageNo,Integer pageSize) {
|
||||||
String searchContent = lawsHomeNormalSearchDTO.getSearchContent();
|
String searchContent = checkSearchContent(lawsHomeNormalSearchDTO);
|
||||||
if(StringUtils.isBlank(searchContent)){
|
|
||||||
throw new JeroBootException(ResultCommon.PLEASE_SEARCH_TO_IMPORT);
|
|
||||||
}
|
|
||||||
// 添加检索历史
|
// 添加检索历史
|
||||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
LawsHomeNormalSearchHistory lawsHomeNormalSearchHistory = new LawsHomeNormalSearchHistory();
|
LawsHomeNormalSearchHistory lawsHomeNormalSearchHistory = new LawsHomeNormalSearchHistory();
|
||||||
@@ -124,18 +137,18 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
QueryWrapper<LawsHomeNormalSearchDTO> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<LawsHomeNormalSearchDTO> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.and(p -> p.gt("instr(standard_number,'" + lawsHomeNormalSearchDTO.getSearchContent() + "')", 0).or()
|
queryWrapper.and(p -> p.gt("instr(standard_number,'" + lawsHomeNormalSearchDTO.getSearchContent() + "')", 0).or()
|
||||||
.gt("instr(standard_name,'" + lawsHomeNormalSearchDTO.getSearchContent() + "')", 0));
|
.gt("instr(standard_name,'" + lawsHomeNormalSearchDTO.getSearchContent() + "')", 0));
|
||||||
queryWrapper.eq(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getResourceType()),"resource_type",lawsHomeNormalSearchDTO.getResourceType());
|
queryWrapper.eq(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getResourceType()),RESOURCE_TYPE,lawsHomeNormalSearchDTO.getResourceType());
|
||||||
queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getStandardClass()),"instr(concat(',',standard_class,','),concat(',','" + lawsHomeNormalSearchDTO.getStandardClass() + "',','))",0);
|
String str = "',','))";
|
||||||
queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getDynamicType()),"instr(concat(',',dynamic_type,','),concat(',','" + lawsHomeNormalSearchDTO.getDynamicType() + "',','))",0);
|
queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getStandardClass()),"instr(concat(',',standard_class,','),concat(',','" + lawsHomeNormalSearchDTO.getStandardClass() + str,0);
|
||||||
queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getApplicableVehicle()),"instr(concat(',',applicable_vehicle,','),concat(',','" + lawsHomeNormalSearchDTO.getApplicableVehicle() + "',','))",0);
|
queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getDynamicType()),"instr(concat(',',dynamic_type,','),concat(',','" + lawsHomeNormalSearchDTO.getDynamicType() + str,0);
|
||||||
queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getStandardProperty()),"instr(concat(',',standard_property,','),concat(',','" + lawsHomeNormalSearchDTO.getStandardProperty() + "',','))",0);
|
queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getApplicableVehicle()),"instr(concat(',',applicable_vehicle,','),concat(',','" + lawsHomeNormalSearchDTO.getApplicableVehicle() + str,0);
|
||||||
queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getStandardState()),"instr(concat(',',standard_state,','),concat(',','" + lawsHomeNormalSearchDTO.getStandardState() + "',','))",0);
|
queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getStandardProperty()),"instr(concat(',',standard_property,','),concat(',','" + lawsHomeNormalSearchDTO.getStandardProperty() + str,0);
|
||||||
queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getStandardCode()),"instr(concat(',',standard_code,','),concat(',','" + lawsHomeNormalSearchDTO.getStandardCode() + "',','))",0);
|
queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getStandardState()),"instr(concat(',',standard_state,','),concat(',','" + lawsHomeNormalSearchDTO.getStandardState() + str,0);
|
||||||
queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getGradeClassification()),"instr(concat(',',grade_classification,','),concat(',','" + lawsHomeNormalSearchDTO.getGradeClassification() + "',','))",0);
|
queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getStandardCode()),"instr(concat(',',standard_code,','),concat(',','" + lawsHomeNormalSearchDTO.getStandardCode() + str,0);
|
||||||
queryWrapper.orderByAsc("resource_type");
|
queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getGradeClassification()),"instr(concat(',',grade_classification,','),concat(',','" + lawsHomeNormalSearchDTO.getGradeClassification() + str,0);
|
||||||
queryWrapper.orderByDesc("standard_type");
|
queryWrapper.orderByAsc(RESOURCE_TYPE);
|
||||||
// todo 排序号
|
queryWrapper.orderByDesc(STANDARD_TYPE);
|
||||||
// queryWrapper.orderByDesc("standard_type");
|
queryWrapper.orderByDesc(CREATE_TIME);
|
||||||
queryWrapper.orderByAsc("CHAR_LENGTH(standard_number)");
|
queryWrapper.orderByAsc("CHAR_LENGTH(standard_number)");
|
||||||
queryWrapper.orderByAsc("CHAR_LENGTH(standard_name)");
|
queryWrapper.orderByAsc("CHAR_LENGTH(standard_name)");
|
||||||
return queryWrapper;
|
return queryWrapper;
|
||||||
@@ -145,6 +158,7 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
if(CollectionUtils.isEmpty(pageList.getRecords())) {
|
if(CollectionUtils.isEmpty(pageList.getRecords())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
String searchContentSpan = "<span class='highlight-Es-class'>" + searchContent + "</span>";
|
String searchContentSpan = "<span class='highlight-Es-class'>" + searchContent + "</span>";
|
||||||
List<LawsHomeNormalSearchVO> list = pageList.getRecords();
|
List<LawsHomeNormalSearchVO> list = pageList.getRecords();
|
||||||
List<String> lawsDomesticStandardIds = new ArrayList<>();
|
List<String> lawsDomesticStandardIds = new ArrayList<>();
|
||||||
@@ -159,26 +173,10 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
default:lawsNewsFeedIds.add(obj.getId());break;
|
default:lawsNewsFeedIds.add(obj.getId());break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
List<LawsDomesticStandard> listLawsDomesticStandard = new ArrayList<>();
|
List<LawsDomesticStandard> listLawsDomesticStandard = listLawsDomesticStandard(lawsDomesticStandardIds);
|
||||||
if(!CollectionUtils.isEmpty(lawsDomesticStandardIds)){
|
List<LawsOverseasStandard> listLawsOverseasStandard = listLawsOverseasStandard(lawsOverseasStandardIds);
|
||||||
listLawsDomesticStandard = lawsDomesticStandardService.listByIds(lawsDomesticStandardIds);
|
List<LawsEnterpriseStandard> listLawsEnterpriseStandard = listLawsEnterpriseStandard(lawsEnterpriseStandardIds);
|
||||||
}
|
List<LawsNewsFeed> listLawsNewsFeed = listLawsNewsFeed(lawsNewsFeedIds);
|
||||||
List<LawsOverseasStandard> listLawsOverseasStandard = new ArrayList<>();
|
|
||||||
if(!CollectionUtils.isEmpty(lawsOverseasStandardIds)){
|
|
||||||
listLawsOverseasStandard = lawsOverseasStandardService.listByIds(lawsOverseasStandardIds);
|
|
||||||
}
|
|
||||||
List<LawsEnterpriseStandard> listLawsEnterpriseStandard = new ArrayList<>();
|
|
||||||
if(!CollectionUtils.isEmpty(lawsEnterpriseStandardIds)){
|
|
||||||
listLawsEnterpriseStandard = lawsEnterpriseStandardService.listByIds(lawsEnterpriseStandardIds);
|
|
||||||
}
|
|
||||||
List<LawsNewsFeed> listLawsNewsFeed = new ArrayList<>();
|
|
||||||
if(!CollectionUtils.isEmpty(lawsNewsFeedIds)){
|
|
||||||
listLawsNewsFeed = lawsNewsFeedService.listByIds(lawsNewsFeedIds);
|
|
||||||
}
|
|
||||||
List<LawsDomesticStandard> finalListLawsDomesticStandard = listLawsDomesticStandard;
|
|
||||||
List<LawsOverseasStandard> finalListLawsOverseasStandard = listLawsOverseasStandard;
|
|
||||||
List<LawsEnterpriseStandard> finalListLawsEnterpriseStandard = listLawsEnterpriseStandard;
|
|
||||||
List<LawsNewsFeed> finalListLawsNewsFeed = listLawsNewsFeed;
|
|
||||||
|
|
||||||
LambdaQueryWrapper<LawsTag> query = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<LawsTag> query = new LambdaQueryWrapper<>();
|
||||||
query.select(LawsTag::getTableName,LawsTag::getDbFieldName,LawsTag::getDbFieldTxt,LawsTag::getDictField,LawsTag::getDictTable,LawsTag::getDictText,LawsTag::getHomeSearchContextOrder);
|
query.select(LawsTag::getTableName,LawsTag::getDbFieldName,LawsTag::getDbFieldTxt,LawsTag::getDictField,LawsTag::getDictTable,LawsTag::getDictText,LawsTag::getHomeSearchContextOrder);
|
||||||
@@ -187,67 +185,133 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
query.isNotNull(LawsTag::getHomeSearchContextOrder);
|
query.isNotNull(LawsTag::getHomeSearchContextOrder);
|
||||||
query.orderByAsc(LawsTag::getHomeSearchContextOrder);
|
query.orderByAsc(LawsTag::getHomeSearchContextOrder);
|
||||||
List<LawsTag> listLawsTag = lawsTagService.list(query);
|
List<LawsTag> listLawsTag = lawsTagService.list(query);
|
||||||
List<SysDictItemCore> listDict = commonAPI.getDictItemAll();
|
List<SysDictItemCore> listSysDict = getSysDictItemCores(listLawsTag);
|
||||||
|
|
||||||
|
long l = System.currentTimeMillis();
|
||||||
String yyyyMMdd = "yyyy-MM-dd";
|
String yyyyMMdd = "yyyy-MM-dd";
|
||||||
list.parallelStream().forEach(p->{
|
list.parallelStream().forEach(p->{
|
||||||
switch (p.getResourceType()){
|
switch (p.getResourceType()){
|
||||||
case LawsHomeSearchCommon.LAWS_DOMESTIC_STANDARD:
|
case LawsHomeSearchCommon.LAWS_DOMESTIC_STANDARD:
|
||||||
if(!CollectionUtils.isEmpty(finalListLawsDomesticStandard)){
|
addLawsDomesticStandard(listSysDict,searchContent, searchContentSpan, listLawsDomesticStandard, listLawsTag, yyyyMMdd, p);
|
||||||
Optional<LawsDomesticStandard> op = finalListLawsDomesticStandard.stream().filter(o-> Objects.equals(o.getId(),p.getId())).findFirst();
|
break;
|
||||||
if(op.isPresent()){
|
|
||||||
LawsDomesticStandard obj = op.get();
|
|
||||||
p.setTitle(obj.getStandardNumber().replace(searchContent,searchContentSpan) + " " + obj.getStandardName().replace(searchContent,searchContentSpan));
|
|
||||||
p.setReleaseDate(obj.getReleaseDate());
|
|
||||||
// 生成正文
|
|
||||||
JSONObject json = JSON.parseObject(JSON.toJSONStringWithDateFormat(obj,yyyyMMdd));
|
|
||||||
addContent(listDict, p, json, LawsHomeSearchCommon.LAWS_DOMESTIC_STANDARD_TABLE_NAME,listLawsTag);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case LawsHomeSearchCommon.LAWS_OVERSEAS_STANDARD:
|
case LawsHomeSearchCommon.LAWS_OVERSEAS_STANDARD:
|
||||||
if(!CollectionUtils.isEmpty(finalListLawsOverseasStandard)){
|
addLawsOverseasStandard(listSysDict,searchContent, searchContentSpan, listLawsOverseasStandard, listLawsTag, yyyyMMdd, p);
|
||||||
Optional<LawsOverseasStandard> op = finalListLawsOverseasStandard.stream().filter(o->Objects.equals(o.getId(),p.getId())).findFirst();
|
|
||||||
if(op.isPresent()){
|
|
||||||
LawsOverseasStandard obj = op.get();
|
|
||||||
p.setTitle(obj.getStandardNumber().replace(searchContent,searchContentSpan) + " " + obj.getStandardName().replace(searchContent,searchContentSpan));
|
|
||||||
p.setReleaseDate(obj.getReleaseDate());
|
|
||||||
// 生成正文
|
|
||||||
JSONObject json = JSON.parseObject(JSON.toJSONStringWithDateFormat(obj,yyyyMMdd));
|
|
||||||
addContent(listDict, p, json, LawsHomeSearchCommon.LAWS_OVERSEAS_STANDARD_TABLE_NAME,listLawsTag);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case LawsHomeSearchCommon.LAWS_ENTERPRISE_STANDARD:
|
case LawsHomeSearchCommon.LAWS_ENTERPRISE_STANDARD:
|
||||||
if(!CollectionUtils.isEmpty(finalListLawsEnterpriseStandard)){
|
addLawsEnterpriseStandard(listSysDict,searchContent, searchContentSpan, listLawsEnterpriseStandard, listLawsTag, yyyyMMdd, p);
|
||||||
Optional<LawsEnterpriseStandard> op = finalListLawsEnterpriseStandard.stream().filter(o->Objects.equals(o.getId(),p.getId())).findFirst();
|
|
||||||
if(op.isPresent()){
|
|
||||||
LawsEnterpriseStandard obj = op.get();
|
|
||||||
p.setTitle(obj.getStandardNumber().replace(searchContent,searchContentSpan) + " " + obj.getStandardName().replace(searchContent,searchContentSpan));
|
|
||||||
p.setReleaseDate(obj.getReleaseDate());
|
|
||||||
// 生成正文
|
|
||||||
JSONObject json = JSON.parseObject(JSON.toJSONStringWithDateFormat(obj,yyyyMMdd));
|
|
||||||
addContent(listDict, p, json, LawsHomeSearchCommon.LAWS_ENTERPRISE_STANDARD_TABLE_NAME,listLawsTag);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if(!CollectionUtils.isEmpty(finalListLawsNewsFeed)){
|
addLawsNewsFeed(searchContent, searchContentSpan, listLawsNewsFeed, p);
|
||||||
Optional<LawsNewsFeed> op = finalListLawsNewsFeed.stream().filter(o->Objects.equals(o.getId(),p.getId())).findFirst();
|
|
||||||
if(op.isPresent()){
|
|
||||||
LawsNewsFeed obj = op.get();
|
|
||||||
p.setTitle(obj.getDynamicHeading().replace(searchContent,searchContentSpan));
|
|
||||||
p.setReleaseDate(obj.getReleaseTime());
|
|
||||||
// 生成正文
|
|
||||||
p.setContent(obj.getDynamicDetails());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
long l1 = System.currentTimeMillis();
|
||||||
|
log.info((l1 - l) + "================");
|
||||||
pageList.setRecords(list);
|
pageList.setRecords(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addContent(List<SysDictItemCore> listDict, LawsHomeNormalSearchVO p, JSONObject json,String tableName, List<LawsTag> listLawsTagAll) {
|
private List<SysDictItemCore> getSysDictItemCores(List<LawsTag> listLawsTag) {
|
||||||
|
List<SysDictItemCore> listSysDict = new ArrayList<>();
|
||||||
|
if(!CollectionUtils.isEmpty(listLawsTag)){
|
||||||
|
List<LawsTag> listLawsTagDict = listLawsTag.stream().filter(o->!StringUtils.isBlank(o.getDictField()) && StringUtils.isBlank(o.getDictTable())).collect(Collectors.toList());
|
||||||
|
if(!CollectionUtils.isEmpty(listLawsTagDict)){
|
||||||
|
List<String> listDict = listLawsTagDict.stream().map(LawsTag::getDictField).collect(Collectors.toList());
|
||||||
|
QueryWrapper<SysDict> querySysDict = new QueryWrapper<>();
|
||||||
|
querySysDict.in("sys_dict.dict_code",listDict);
|
||||||
|
listSysDict = lawsHomeSearchMapper.translateManyDict(querySysDict);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return listSysDict;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addLawsNewsFeed(String searchContent, String searchContentSpan, List<LawsNewsFeed> listLawsNewsFeed, LawsHomeNormalSearchVO p) {
|
||||||
|
if(!CollectionUtils.isEmpty(listLawsNewsFeed)){
|
||||||
|
Optional<LawsNewsFeed> op = listLawsNewsFeed.stream().filter(o-> Objects.equals(o.getId(),p.getId())).findFirst();
|
||||||
|
if(op.isPresent()){
|
||||||
|
LawsNewsFeed obj = op.get();
|
||||||
|
p.setTitle(obj.getDynamicHeading().replace(searchContent,searchContentSpan));
|
||||||
|
p.setReleaseDate(obj.getReleaseTime());
|
||||||
|
// 生成正文
|
||||||
|
p.setContent(obj.getDynamicDetails());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addLawsEnterpriseStandard(List<SysDictItemCore> listSysDict,String searchContent, String searchContentSpan, List<LawsEnterpriseStandard> listLawsEnterpriseStandard, List<LawsTag> listLawsTag, String yyyyMMdd, LawsHomeNormalSearchVO p) {
|
||||||
|
if(!CollectionUtils.isEmpty(listLawsEnterpriseStandard)){
|
||||||
|
Optional<LawsEnterpriseStandard> op = listLawsEnterpriseStandard.stream().filter(o-> Objects.equals(o.getId(),p.getId())).findFirst();
|
||||||
|
if(op.isPresent()){
|
||||||
|
LawsEnterpriseStandard obj = op.get();
|
||||||
|
p.setTitle(obj.getStandardNumber().replace(searchContent,searchContentSpan) + " " + obj.getStandardName().replace(searchContent,searchContentSpan));
|
||||||
|
p.setReleaseDate(obj.getReleaseDate());
|
||||||
|
// 生成正文
|
||||||
|
JSONObject json = JSON.parseObject(JSON.toJSONStringWithDateFormat(obj,yyyyMMdd));
|
||||||
|
addContent(listSysDict,p, json, LawsHomeSearchCommon.LAWS_ENTERPRISE_STANDARD_TABLE_NAME,listLawsTag);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addLawsOverseasStandard(List<SysDictItemCore> listSysDict,String searchContent, String searchContentSpan, List<LawsOverseasStandard> listLawsOverseasStandard, List<LawsTag> listLawsTag, String yyyyMMdd, LawsHomeNormalSearchVO p) {
|
||||||
|
if(!CollectionUtils.isEmpty(listLawsOverseasStandard)){
|
||||||
|
Optional<LawsOverseasStandard> op = listLawsOverseasStandard.stream().filter(o-> Objects.equals(o.getId(),p.getId())).findFirst();
|
||||||
|
if(op.isPresent()){
|
||||||
|
LawsOverseasStandard obj = op.get();
|
||||||
|
p.setTitle(obj.getStandardNumber().replace(searchContent,searchContentSpan) + " " + obj.getStandardName().replace(searchContent,searchContentSpan));
|
||||||
|
p.setReleaseDate(obj.getReleaseDate());
|
||||||
|
// 生成正文
|
||||||
|
JSONObject json = JSON.parseObject(JSON.toJSONStringWithDateFormat(obj,yyyyMMdd));
|
||||||
|
addContent(listSysDict,p, json, LawsHomeSearchCommon.LAWS_OVERSEAS_STANDARD_TABLE_NAME,listLawsTag);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addLawsDomesticStandard(List<SysDictItemCore> listSysDict,String searchContent, String searchContentSpan, List<LawsDomesticStandard> listLawsDomesticStandard, List<LawsTag> listLawsTag,String yyyyMMdd, LawsHomeNormalSearchVO p) {
|
||||||
|
if(!CollectionUtils.isEmpty(listLawsDomesticStandard)){
|
||||||
|
Optional<LawsDomesticStandard> op = listLawsDomesticStandard.stream().filter(o-> Objects.equals(o.getId(),p.getId())).findFirst();
|
||||||
|
if(op.isPresent()){
|
||||||
|
LawsDomesticStandard obj = op.get();
|
||||||
|
p.setTitle(obj.getStandardNumber().replace(searchContent,searchContentSpan) + " " + obj.getStandardName().replace(searchContent,searchContentSpan));
|
||||||
|
p.setReleaseDate(obj.getReleaseDate());
|
||||||
|
// 生成正文
|
||||||
|
JSONObject json = JSON.parseObject(JSON.toJSONStringWithDateFormat(obj,yyyyMMdd));
|
||||||
|
addContent(listSysDict,p, json, LawsHomeSearchCommon.LAWS_DOMESTIC_STANDARD_TABLE_NAME,listLawsTag);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<LawsNewsFeed> listLawsNewsFeed(List<String> lawsNewsFeedIds) {
|
||||||
|
List<LawsNewsFeed> listLawsNewsFeed = new ArrayList<>();
|
||||||
|
if(!CollectionUtils.isEmpty(lawsNewsFeedIds)){
|
||||||
|
listLawsNewsFeed = lawsNewsFeedService.listByIds(lawsNewsFeedIds);
|
||||||
|
}
|
||||||
|
return listLawsNewsFeed;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<LawsEnterpriseStandard> listLawsEnterpriseStandard(List<String> lawsEnterpriseStandardIds) {
|
||||||
|
List<LawsEnterpriseStandard> listLawsEnterpriseStandard = new ArrayList<>();
|
||||||
|
if(!CollectionUtils.isEmpty(lawsEnterpriseStandardIds)){
|
||||||
|
listLawsEnterpriseStandard = lawsEnterpriseStandardService.listByIds(lawsEnterpriseStandardIds);
|
||||||
|
}
|
||||||
|
return listLawsEnterpriseStandard;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<LawsOverseasStandard> listLawsOverseasStandard(List<String> lawsOverseasStandardIds) {
|
||||||
|
List<LawsOverseasStandard> listLawsOverseasStandard = new ArrayList<>();
|
||||||
|
if(!CollectionUtils.isEmpty(lawsOverseasStandardIds)){
|
||||||
|
listLawsOverseasStandard = lawsOverseasStandardService.listByIds(lawsOverseasStandardIds);
|
||||||
|
}
|
||||||
|
return listLawsOverseasStandard;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<LawsDomesticStandard> listLawsDomesticStandard(List<String> lawsDomesticStandardIds) {
|
||||||
|
List<LawsDomesticStandard> listLawsDomesticStandard = new ArrayList<>();
|
||||||
|
if(!CollectionUtils.isEmpty(lawsDomesticStandardIds)){
|
||||||
|
listLawsDomesticStandard = lawsDomesticStandardService.listByIds(lawsDomesticStandardIds);
|
||||||
|
}
|
||||||
|
return listLawsDomesticStandard;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addContent(List<SysDictItemCore> listSysDict,LawsHomeNormalSearchVO p, JSONObject json,String tableName, List<LawsTag> listLawsTagAll) {
|
||||||
if (CollectionUtils.isEmpty(listLawsTagAll)) {
|
if (CollectionUtils.isEmpty(listLawsTagAll)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -270,7 +334,7 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
String key = Objects.isNull(json.get(fileName)) ? "" : String.valueOf(json.get(fileName));
|
String key = Objects.isNull(json.get(fileName)) ? "" : String.valueOf(json.get(fileName));
|
||||||
String textValue = "";
|
String textValue = "";
|
||||||
if (!StringUtils.isBlank(code) && !StringUtils.isBlank(key)) {
|
if (!StringUtils.isBlank(code) && !StringUtils.isBlank(key)) {
|
||||||
textValue = translateDictValue(code, text, table, key, listDict);
|
textValue = translateDictValue(listSysDict,code, text, table, key);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (StringUtils.isBlank(textValue)) {
|
if (StringUtils.isBlank(textValue)) {
|
||||||
@@ -287,9 +351,9 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
* @param text 值
|
* @param text 值
|
||||||
* @param table 表名
|
* @param table 表名
|
||||||
* @param key 键
|
* @param key 键
|
||||||
* @param listDict 字典集合
|
* @param listSysDict 字典集合
|
||||||
*/
|
*/
|
||||||
private String translateDictValue(String code, String text, String table, String key, List<SysDictItemCore> listDict) {
|
private String translateDictValue(List<SysDictItemCore> listSysDict,String code, String text, String table, String key) {
|
||||||
if(oConvertUtils.isEmpty(key)) {
|
if(oConvertUtils.isEmpty(key)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -300,15 +364,7 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
if (k.trim().length() == 0) {
|
if (k.trim().length() == 0) {
|
||||||
continue; //跳过循环
|
continue; //跳过循环
|
||||||
}
|
}
|
||||||
if (!org.springframework.util.StringUtils.isEmpty(table)){
|
tmpValue = getTmpValue(listSysDict,code, text, table, k, tmpValue);
|
||||||
tmpValue = commonAPI.queryTableDictTextByKey(table,text,code,k.trim());
|
|
||||||
}else {
|
|
||||||
List<SysDictItemCore> listNew = listDict.stream().filter(o-> Objects.equals(o.getDictCode(),code) && Objects.equals(o.getItemValue(),k.trim())).collect(Collectors.toList());
|
|
||||||
if(!org.springframework.util.CollectionUtils.isEmpty(listNew)){
|
|
||||||
tmpValue = listNew.get(0).getItemText();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (tmpValue != null) {
|
if (tmpValue != null) {
|
||||||
if (!"".equals(textValue.toString())) {
|
if (!"".equals(textValue.toString())) {
|
||||||
textValue.append(",");
|
textValue.append(",");
|
||||||
@@ -322,30 +378,33 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
return textValue.toString();
|
return textValue.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getDict(String str,String code){
|
private String getTmpValue(List<SysDictItemCore> listSysDict,String code, String text, String table, String k, String tmpValue) {
|
||||||
if(StringUtils.isBlank(str)){
|
if (!StringUtils.isEmpty(table)){
|
||||||
str = "--";
|
tmpValue = commonAPI.queryTableDictTextByKey(table,text,code,k.trim());
|
||||||
|
}else {
|
||||||
|
List<SysDictItemCore> listNew = listSysDict.stream().filter(o-> Objects.equals(o.getDictCode(),code) && Objects.equals(o.getItemValue(),k.trim())).collect(Collectors.toList());
|
||||||
|
if(!CollectionUtils.isEmpty(listNew)){
|
||||||
|
tmpValue = listNew.get(0).getItemText();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return str;
|
return tmpValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public LawsHomeNormalSearchStatisticsVO getNormalSearchTitleCount(LawsHomeNormalSearchDTO lawsHomeNormalSearchDTO) {
|
public LawsHomeNormalSearchStatisticsVO getNormalSearchTitleCount(LawsHomeNormalSearchDTO lawsHomeNormalSearchDTO) {
|
||||||
String searchContent = lawsHomeNormalSearchDTO.getSearchContent();
|
String searchContent = checkSearchContent(lawsHomeNormalSearchDTO);
|
||||||
if(StringUtils.isBlank(searchContent)){
|
|
||||||
throw new JeroBootException(ResultCommon.PLEASE_SEARCH_TO_IMPORT);
|
|
||||||
}
|
|
||||||
QueryWrapper<LawsHomeNormalSearchDTO> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<LawsHomeNormalSearchDTO> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.and(p -> p.gt("instr(standard_number,'" + lawsHomeNormalSearchDTO.getSearchContent() + "')", 0).or()
|
queryWrapper.and(p -> p.gt("instr(standard_number,'" + searchContent + "')", 0).or()
|
||||||
.gt("instr(standard_name,'" + lawsHomeNormalSearchDTO.getSearchContent() + "')", 0));
|
.gt("instr(standard_name,'" + searchContent + "')", 0));
|
||||||
queryWrapper.eq("del_flag",0);
|
queryWrapper.eq("del_flag",0);
|
||||||
queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getStandardClass()),"instr(concat(',',standard_class,','),concat(',','" + lawsHomeNormalSearchDTO.getStandardClass() + "',','))",0);
|
String str = "',','))";
|
||||||
queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getDynamicType()),"instr(concat(',',dynamic_type,','),concat(',','" + lawsHomeNormalSearchDTO.getDynamicType() + "',','))",0);
|
queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getStandardClass()),"instr(concat(',',standard_class,','),concat(',','" + lawsHomeNormalSearchDTO.getStandardClass() + str,0);
|
||||||
queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getApplicableVehicle()),"instr(concat(',',applicable_vehicle,','),concat(',','" + lawsHomeNormalSearchDTO.getApplicableVehicle() + "',','))",0);
|
queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getDynamicType()),"instr(concat(',',dynamic_type,','),concat(',','" + lawsHomeNormalSearchDTO.getDynamicType() + str,0);
|
||||||
queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getStandardProperty()),"instr(concat(',',standard_property,','),concat(',','" + lawsHomeNormalSearchDTO.getStandardProperty() + "',','))",0);
|
queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getApplicableVehicle()),"instr(concat(',',applicable_vehicle,','),concat(',','" + lawsHomeNormalSearchDTO.getApplicableVehicle() + str,0);
|
||||||
queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getStandardState()),"instr(concat(',',standard_state,','),concat(',','" + lawsHomeNormalSearchDTO.getStandardState() + "',','))",0);
|
queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getStandardProperty()),"instr(concat(',',standard_property,','),concat(',','" + lawsHomeNormalSearchDTO.getStandardProperty() + str,0);
|
||||||
queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getStandardCode()),"instr(concat(',',standard_code,','),concat(',','" + lawsHomeNormalSearchDTO.getStandardCode() + "',','))",0);
|
queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getStandardState()),"instr(concat(',',standard_state,','),concat(',','" + lawsHomeNormalSearchDTO.getStandardState() + str,0);
|
||||||
queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getGradeClassification()),"instr(concat(',',grade_classification,','),concat(',','" + lawsHomeNormalSearchDTO.getGradeClassification() + "',','))",0);
|
queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getStandardCode()),"instr(concat(',',standard_code,','),concat(',','" + lawsHomeNormalSearchDTO.getStandardCode() + str,0);
|
||||||
|
queryWrapper.gt(!StringUtils.isEmpty(lawsHomeNormalSearchDTO.getGradeClassification()),"instr(concat(',',grade_classification,','),concat(',','" + lawsHomeNormalSearchDTO.getGradeClassification() + str,0);
|
||||||
LawsHomeNormalSearchStatisticsVO obj = new LawsHomeNormalSearchStatisticsVO();
|
LawsHomeNormalSearchStatisticsVO obj = new LawsHomeNormalSearchStatisticsVO();
|
||||||
switch (lawsHomeNormalSearchDTO.getResourceType()){
|
switch (lawsHomeNormalSearchDTO.getResourceType()){
|
||||||
case LawsHomeSearchCommon.LAWS_DOMESTIC_STANDARD:
|
case LawsHomeSearchCommon.LAWS_DOMESTIC_STANDARD:
|
||||||
@@ -367,17 +426,17 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
|
|
||||||
private void count3(List<LawsHomeNormalSearchCountVO> list,LawsHomeNormalSearchStatisticsVO obj) {
|
private void count3(List<LawsHomeNormalSearchCountVO> list,LawsHomeNormalSearchStatisticsVO obj) {
|
||||||
// 企业标准代号
|
// 企业标准代号
|
||||||
List<LawsHomeNormalSearchStatisticsObjVO> list1 = addLawsHomeNormalSearchStatistics(list, "enterprise_standard_code", "standard_code");
|
List<LawsHomeNormalSearchStatisticsObjVO> list1 = addLawsHomeNormalSearchStatistics(list, "enterprise_standard_code", STANDARD_CODE);
|
||||||
if(!CollectionUtils.isEmpty(list1)){
|
if(!CollectionUtils.isEmpty(list1)){
|
||||||
obj.setStandardCode(list1);
|
obj.setStandardCode(list1);
|
||||||
}
|
}
|
||||||
// 标准状态
|
// 标准状态
|
||||||
List<LawsHomeNormalSearchStatisticsObjVO> list2 = addLawsHomeNormalSearchStatistics(list, "enterprise_standard_state", "standard_state");
|
List<LawsHomeNormalSearchStatisticsObjVO> list2 = addLawsHomeNormalSearchStatistics(list, ENTERPRISE_STANDARD_STATE, STANDARD_STATE);
|
||||||
if(!CollectionUtils.isEmpty(list2)){
|
if(!CollectionUtils.isEmpty(list2)){
|
||||||
obj.setEnterpriseStandardState(list2);
|
obj.setEnterpriseStandardState(list2);
|
||||||
}
|
}
|
||||||
// 标准等级分类
|
// 标准等级分类
|
||||||
List<LawsHomeNormalSearchStatisticsObjVO> list3 = addLawsHomeNormalSearchStatistics(list,"standard_grade_classify", "grade_classification");
|
List<LawsHomeNormalSearchStatisticsObjVO> list3 = addLawsHomeNormalSearchStatistics(list,"standard_grade_classify", GRADE_CLASSIFICATION);
|
||||||
if(!CollectionUtils.isEmpty(list3)){
|
if(!CollectionUtils.isEmpty(list3)){
|
||||||
obj.setGradeClassification(list3);
|
obj.setGradeClassification(list3);
|
||||||
}
|
}
|
||||||
@@ -385,17 +444,17 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
|
|
||||||
private void count2(List<LawsHomeNormalSearchCountVO> list,LawsHomeNormalSearchStatisticsVO obj) {
|
private void count2(List<LawsHomeNormalSearchCountVO> list,LawsHomeNormalSearchStatisticsVO obj) {
|
||||||
// 标准类别
|
// 标准类别
|
||||||
List<LawsHomeNormalSearchStatisticsObjVO> list1 = addLawsHomeNormalSearchStatistics(list, "standard_type_overseas", "standard_class");
|
List<LawsHomeNormalSearchStatisticsObjVO> list1 = addLawsHomeNormalSearchStatistics(list, "standard_type_overseas", STANDARD_CLASS);
|
||||||
if(!CollectionUtils.isEmpty(list1)){
|
if(!CollectionUtils.isEmpty(list1)){
|
||||||
obj.setStandardClass(list1);
|
obj.setStandardClass(list1);
|
||||||
}
|
}
|
||||||
// 适用车辆类型
|
// 适用车辆类型
|
||||||
List<LawsHomeNormalSearchStatisticsObjVO> list2 = addLawsHomeNormalSearchStatistics(list, "APPLICATIONS_OVERSEAS", "applicable_vehicle");
|
List<LawsHomeNormalSearchStatisticsObjVO> list2 = addLawsHomeNormalSearchStatistics(list, "APPLICATIONS_OVERSEAS", APPLICABLE_VEHICLE);
|
||||||
if(!CollectionUtils.isEmpty(list2)){
|
if(!CollectionUtils.isEmpty(list2)){
|
||||||
obj.setApplicableVehicle(list2);
|
obj.setApplicableVehicle(list2);
|
||||||
}
|
}
|
||||||
// 状态
|
// 状态
|
||||||
List<LawsHomeNormalSearchStatisticsObjVO> list3 = addLawsHomeNormalSearchStatistics(list, "standard_state", "standard_state");
|
List<LawsHomeNormalSearchStatisticsObjVO> list3 = addLawsHomeNormalSearchStatistics(list, STANDARD_STATE, STANDARD_STATE);
|
||||||
if(!CollectionUtils.isEmpty(list3)){
|
if(!CollectionUtils.isEmpty(list3)){
|
||||||
obj.setStandardState(list3);
|
obj.setStandardState(list3);
|
||||||
}
|
}
|
||||||
@@ -403,27 +462,27 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
|
|
||||||
private void count1(List<LawsHomeNormalSearchCountVO> list, LawsHomeNormalSearchStatisticsVO obj) {
|
private void count1(List<LawsHomeNormalSearchCountVO> list, LawsHomeNormalSearchStatisticsVO obj) {
|
||||||
// 标准类别
|
// 标准类别
|
||||||
List<LawsHomeNormalSearchStatisticsObjVO> list1 = addLawsHomeNormalSearchStatistics(list,"standard_type", "standard_class");
|
List<LawsHomeNormalSearchStatisticsObjVO> list1 = addLawsHomeNormalSearchStatistics(list,STANDARD_TYPE, STANDARD_CLASS);
|
||||||
if(!CollectionUtils.isEmpty(list1)){
|
if(!CollectionUtils.isEmpty(list1)){
|
||||||
obj.setStandardClass(list1);
|
obj.setStandardClass(list1);
|
||||||
}
|
}
|
||||||
// 动力类型
|
// 动力类型
|
||||||
List<LawsHomeNormalSearchStatisticsObjVO> list2 = addLawsHomeNormalSearchStatistics(list, "POWER_TYPE_DOMESTIC", "dynamic_type");
|
List<LawsHomeNormalSearchStatisticsObjVO> list2 = addLawsHomeNormalSearchStatistics(list, "POWER_TYPE_DOMESTIC", DYNAMIC_TYPE);
|
||||||
if(!CollectionUtils.isEmpty(list2)){
|
if(!CollectionUtils.isEmpty(list2)){
|
||||||
obj.setDynamicType(list2);
|
obj.setDynamicType(list2);
|
||||||
}
|
}
|
||||||
// 适用车辆类型
|
// 适用车辆类型
|
||||||
List<LawsHomeNormalSearchStatisticsObjVO> list3 = addLawsHomeNormalSearchStatistics(list,"APPLICATIONS_DOMESTIC", "applicable_vehicle");
|
List<LawsHomeNormalSearchStatisticsObjVO> list3 = addLawsHomeNormalSearchStatistics(list,"APPLICATIONS_DOMESTIC", APPLICABLE_VEHICLE);
|
||||||
if(!CollectionUtils.isEmpty(list3)){
|
if(!CollectionUtils.isEmpty(list3)){
|
||||||
obj.setApplicableVehicle(list3);
|
obj.setApplicableVehicle(list3);
|
||||||
}
|
}
|
||||||
// 标准类型
|
// 标准类型
|
||||||
List<LawsHomeNormalSearchStatisticsObjVO> list4 = addLawsHomeNormalSearchStatistics(list, "standard_property", "standard_property");
|
List<LawsHomeNormalSearchStatisticsObjVO> list4 = addLawsHomeNormalSearchStatistics(list, STANDARD_PROPERTY, STANDARD_PROPERTY);
|
||||||
if(!CollectionUtils.isEmpty(list4)){
|
if(!CollectionUtils.isEmpty(list4)){
|
||||||
obj.setStandardProperty(list4);
|
obj.setStandardProperty(list4);
|
||||||
}
|
}
|
||||||
// 状态
|
// 状态
|
||||||
List<LawsHomeNormalSearchStatisticsObjVO> list5 = addLawsHomeNormalSearchStatistics(list,"standard_state", "standard_state");
|
List<LawsHomeNormalSearchStatisticsObjVO> list5 = addLawsHomeNormalSearchStatistics(list,STANDARD_STATE, STANDARD_STATE);
|
||||||
if(!CollectionUtils.isEmpty(list5)){
|
if(!CollectionUtils.isEmpty(list5)){
|
||||||
obj.setStandardState(list5);
|
obj.setStandardState(list5);
|
||||||
}
|
}
|
||||||
@@ -453,10 +512,7 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<LawsHomeNormalSearchVO> getNormalSearchAllPage(LawsHomeNormalSearchDTO homeNormalSearchDTO,Integer pageNo,Integer pageSize) {
|
public IPage<LawsHomeNormalSearchVO> getNormalSearchAllPage(LawsHomeNormalSearchDTO homeNormalSearchDTO,Integer pageNo,Integer pageSize) {
|
||||||
String searchContent = homeNormalSearchDTO.getSearchContent();
|
String searchContent = checkSearchContent(homeNormalSearchDTO);
|
||||||
if(StringUtils.isBlank(searchContent)){
|
|
||||||
throw new JeroBootException(ResultCommon.PLEASE_SEARCH_TO_IMPORT);
|
|
||||||
}
|
|
||||||
// 添加检索历史
|
// 添加检索历史
|
||||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
LawsHomeNormalSearchHistory lawsHomeNormalSearchHistory = new LawsHomeNormalSearchHistory();
|
LawsHomeNormalSearchHistory lawsHomeNormalSearchHistory = new LawsHomeNormalSearchHistory();
|
||||||
@@ -464,54 +520,44 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
lawsHomeNormalSearchHistory.setSearchContent(searchContent);
|
lawsHomeNormalSearchHistory.setSearchContent(searchContent);
|
||||||
lawsHomeNormalSearchHistoryService.save(lawsHomeNormalSearchHistory);
|
lawsHomeNormalSearchHistoryService.save(lawsHomeNormalSearchHistory);
|
||||||
|
|
||||||
SearchVO searchVO = new SearchVO();
|
if(StringUtils.isBlank(searchContent)){
|
||||||
searchVO.setSelectValue(homeNormalSearchDTO.getSearchContent());
|
searchContent = SEARCH_FLAG;
|
||||||
searchVO.setPageNo(pageNo);
|
|
||||||
searchVO.setPageSize(pageSize);
|
|
||||||
JSONArray queryJsonMustNot = new JSONArray();
|
|
||||||
if(StringUtils.isBlank(searchVO.getSelectValue())){
|
|
||||||
searchVO.setSelectValue(SEARCH_FLAG);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//判断索引是否存在
|
//判断索引是否存在
|
||||||
boolean flagTemp;
|
boolean flagTemp;
|
||||||
flagTemp = jeroElasticsearchTemplate.indexExists(HomeSearchEnum.INDEX_NAME_DOCUMENT_ZQ.getValue());
|
flagTemp = jeroElasticsearchTemplate.indexExists(HomeSearchEnum.INDEX_NAME_DOCUMENT_ZQ.getValue());
|
||||||
if (!flagTemp) {
|
if (!flagTemp) {
|
||||||
return new Page(searchVO.getPageNo(), searchVO.getPageSize());
|
return new Page<>(pageNo, pageSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
String selectValue = searchVO.getSelectValue();
|
|
||||||
|
|
||||||
//1. 需要查询的字段
|
|
||||||
// List<String> fieldList = new ArrayList<>();
|
|
||||||
// fieldList.add("content");//权重1
|
|
||||||
Map<String,String> mapDict = new HashMap<>();
|
Map<String,String> mapDict = new HashMap<>();
|
||||||
if(!StringUtils.isBlank(homeNormalSearchDTO.getResourceType())){
|
if(!StringUtils.isBlank(homeNormalSearchDTO.getResourceType())){
|
||||||
mapDict.put("resource_type",homeNormalSearchDTO.getResourceType());
|
mapDict.put(RESOURCE_TYPE,homeNormalSearchDTO.getResourceType());
|
||||||
}
|
}
|
||||||
if(!StringUtils.isBlank(homeNormalSearchDTO.getStandardClass())){
|
if(!StringUtils.isBlank(homeNormalSearchDTO.getStandardClass())){
|
||||||
mapDict.put("standard_class",homeNormalSearchDTO.getStandardClass());
|
mapDict.put(STANDARD_CLASS,homeNormalSearchDTO.getStandardClass());
|
||||||
}
|
}
|
||||||
if(!StringUtils.isBlank(homeNormalSearchDTO.getDynamicType())){
|
if(!StringUtils.isBlank(homeNormalSearchDTO.getDynamicType())){
|
||||||
mapDict.put("dynamic_type",homeNormalSearchDTO.getDynamicType());
|
mapDict.put(DYNAMIC_TYPE,homeNormalSearchDTO.getDynamicType());
|
||||||
}
|
}
|
||||||
if(!StringUtils.isBlank(homeNormalSearchDTO.getApplicableVehicle())){
|
if(!StringUtils.isBlank(homeNormalSearchDTO.getApplicableVehicle())){
|
||||||
mapDict.put("applicable_vehicle",homeNormalSearchDTO.getApplicableVehicle());
|
mapDict.put(APPLICABLE_VEHICLE,homeNormalSearchDTO.getApplicableVehicle());
|
||||||
}
|
}
|
||||||
if(!StringUtils.isBlank(homeNormalSearchDTO.getStandardProperty())){
|
if(!StringUtils.isBlank(homeNormalSearchDTO.getStandardProperty())){
|
||||||
mapDict.put("standard_property",homeNormalSearchDTO.getStandardProperty());
|
mapDict.put(STANDARD_PROPERTY,homeNormalSearchDTO.getStandardProperty());
|
||||||
}
|
}
|
||||||
if(!StringUtils.isBlank(homeNormalSearchDTO.getStandardState())){
|
if(!StringUtils.isBlank(homeNormalSearchDTO.getStandardState())){
|
||||||
mapDict.put("standard_state",homeNormalSearchDTO.getStandardState());
|
mapDict.put(STANDARD_STATE,homeNormalSearchDTO.getStandardState());
|
||||||
}
|
}
|
||||||
if(!StringUtils.isBlank(homeNormalSearchDTO.getStandardCode())){
|
if(!StringUtils.isBlank(homeNormalSearchDTO.getStandardCode())){
|
||||||
mapDict.put("standard_code",homeNormalSearchDTO.getStandardCode());
|
mapDict.put(STANDARD_CODE,homeNormalSearchDTO.getStandardCode());
|
||||||
}
|
}
|
||||||
if(!StringUtils.isBlank(homeNormalSearchDTO.getEnterpriseStandardState())){
|
if(!StringUtils.isBlank(homeNormalSearchDTO.getEnterpriseStandardState())){
|
||||||
mapDict.put("enterprise_standard_state",homeNormalSearchDTO.getEnterpriseStandardState());
|
mapDict.put(ENTERPRISE_STANDARD_STATE,homeNormalSearchDTO.getEnterpriseStandardState());
|
||||||
}
|
}
|
||||||
if(!StringUtils.isBlank(homeNormalSearchDTO.getGradeClassification())){
|
if(!StringUtils.isBlank(homeNormalSearchDTO.getGradeClassification())){
|
||||||
mapDict.put("grade_classification",homeNormalSearchDTO.getGradeClassification());
|
mapDict.put(GRADE_CLASSIFICATION,homeNormalSearchDTO.getGradeClassification());
|
||||||
}
|
}
|
||||||
JSONObject jsonAll = new JSONObject();
|
JSONObject jsonAll = new JSONObject();
|
||||||
JSONArray queryMapJsonAll = new JSONArray();
|
JSONArray queryMapJsonAll = new JSONArray();
|
||||||
@@ -528,11 +574,11 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
Map<String,Object> mapHighlight = new HashMap<>();
|
Map<String,Object> mapHighlight = new HashMap<>();
|
||||||
Map<String,Object> mapHighlight1 = new HashMap<>();
|
Map<String,Object> mapHighlight1 = new HashMap<>();
|
||||||
// 封装首次的条件
|
// 封装首次的条件
|
||||||
if (StringUtils.isNotBlank(selectValue)) {
|
if (StringUtils.isNotBlank(searchContent)) {
|
||||||
selectValue = selectValue.toLowerCase();
|
searchContent = searchContent.toLowerCase();
|
||||||
getQueryMapJson(queryMapJson, selectValue, "content");
|
getQueryMapJson(queryMapJson, searchContent, CONTENT);
|
||||||
//高亮
|
//高亮
|
||||||
highlight(mapHighlight, "content");
|
highlight(mapHighlight, CONTENT);
|
||||||
mapHighlight1.put("fields",mapHighlight);
|
mapHighlight1.put("fields",mapHighlight);
|
||||||
}
|
}
|
||||||
if(CollectionUtils.isNotEmpty(queryMapJson)){
|
if(CollectionUtils.isNotEmpty(queryMapJson)){
|
||||||
@@ -553,12 +599,12 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
Map<String,Object> issueTime = new HashMap<>();
|
Map<String,Object> issueTime = new HashMap<>();
|
||||||
issueTimeDesc.put("order","desc");
|
issueTimeDesc.put("order","desc");
|
||||||
issueTimeAsc.put("order","asc");
|
issueTimeAsc.put("order","asc");
|
||||||
issueTime.put("resource_type",issueTimeAsc);
|
issueTime.put(RESOURCE_TYPE,issueTimeAsc);
|
||||||
issueTime.put("standard_type",issueTimeDesc);
|
issueTime.put(STANDARD_TYPE,issueTimeDesc);
|
||||||
issueTime.put("create_time",issueTimeDesc);
|
issueTime.put(CREATE_TIME,issueTimeDesc);
|
||||||
sort.putAll(issueTime);
|
sort.putAll(issueTime);
|
||||||
IPage page = getIPage(selectValue, queryMapJsonAll, mapHighlight1,
|
IPage page = getIPage(searchContent, queryMapJsonAll, mapHighlight1,
|
||||||
pageNo, pageSize, sort,queryJsonMustNot);
|
pageNo, pageSize, sort);
|
||||||
if(!CollectionUtils.isEmpty(page.getRecords())){
|
if(!CollectionUtils.isEmpty(page.getRecords())){
|
||||||
// 下划线转驼峰
|
// 下划线转驼峰
|
||||||
List<Map<String, Object>> listNew = new ArrayList<>();
|
List<Map<String, Object>> listNew = new ArrayList<>();
|
||||||
@@ -576,13 +622,22 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
return page;
|
return page;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
private String checkSearchContent(LawsHomeNormalSearchDTO homeNormalSearchDTO) {
|
||||||
|
String searchContent = homeNormalSearchDTO.getSearchContent();
|
||||||
|
if (StringUtils.isBlank(searchContent)) {
|
||||||
|
throw new JeroBootException(ResultCommon.PLEASE_SEARCH_TO_IMPORT);
|
||||||
|
}
|
||||||
|
return searchContent;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private IPage getIPage(String selectValue,JSONArray queryMapJson,Map<String,Object> highlightMap, Integer pageNo, Integer pageSize,
|
private IPage getIPage(String selectValue,JSONArray queryMapJson,Map<String,Object> highlightMap, Integer pageNo, Integer pageSize,
|
||||||
JSONObject querySort,JSONArray queryMustNot) {
|
JSONObject querySort) {
|
||||||
JSONObject jsonObject;
|
JSONObject jsonObject;
|
||||||
//基础添加封装
|
//基础添加封装
|
||||||
jsonObject = jeroElasticsearchTemplate.buildBoolQuery(queryMapJson, queryMustNot, null);
|
jsonObject = jeroElasticsearchTemplate.buildBoolQuery(queryMapJson, null, null);
|
||||||
JSONArray jsonArraySort = new JSONArray();
|
JSONArray jsonArraySort = new JSONArray();
|
||||||
if (SEARCH_FLAG.equals(selectValue)) {
|
if (SEARCH_FLAG.equals(selectValue)) {
|
||||||
jsonArraySort.add(querySort);
|
jsonArraySort.add(querySort);
|
||||||
@@ -609,10 +664,10 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
String createTime = "";
|
String createTime = "";
|
||||||
if(ObjectUtils.isNotEmpty(mapSource.get("create_time"))){
|
if(ObjectUtils.isNotEmpty(mapSource.get(CREATE_TIME))){
|
||||||
createTime = DateUtils.formatTime((Long) mapSource.get("create_time"));
|
createTime = DateUtils.formatTime((Long) mapSource.get(CREATE_TIME));
|
||||||
}
|
}
|
||||||
mapSource.put("create_time",createTime);
|
mapSource.put(CREATE_TIME,createTime);
|
||||||
mapList.add(mapSource);
|
mapList.add(mapSource);
|
||||||
}
|
}
|
||||||
//处理分页
|
//处理分页
|
||||||
@@ -643,11 +698,13 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
private void getQueryMapJson(JSONArray queryMapJson, String selectValue, String field) {
|
private void getQueryMapJson(JSONArray queryMapJson, String selectValue, String field) {
|
||||||
// 前缀匹配 缺点是前缀一定不能断开
|
// 前缀匹配 缺点是前缀一定不能断开
|
||||||
//情况举例:用户只记得前面那段字
|
//情况举例:用户只记得前面那段字
|
||||||
|
String boost = "boost";
|
||||||
|
String query = "query";
|
||||||
Map<String, Object> map21 = new HashMap<>();
|
Map<String, Object> map21 = new HashMap<>();
|
||||||
Map<String, Object> map31 = new HashMap<>();
|
Map<String, Object> map31 = new HashMap<>();
|
||||||
Map<String, Object> map41 = new HashMap<>();
|
Map<String, Object> map41 = new HashMap<>();
|
||||||
if("content".equals(field)){
|
if(CONTENT.equals(field)){
|
||||||
map31.put("boost",0.01);
|
map31.put(boost,0.01);
|
||||||
}
|
}
|
||||||
map31.put("value", selectValue);
|
map31.put("value", selectValue);
|
||||||
map21.put(field + ".keyword", map31);
|
map21.put(field + ".keyword", map31);
|
||||||
@@ -658,10 +715,10 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
Map<String, Object> map22 = new HashMap<>();
|
Map<String, Object> map22 = new HashMap<>();
|
||||||
Map<String, Object> map32 = new HashMap<>();
|
Map<String, Object> map32 = new HashMap<>();
|
||||||
Map<String, Object> map42 = new HashMap<>();
|
Map<String, Object> map42 = new HashMap<>();
|
||||||
if("content".equals(field)){
|
if(CONTENT.equals(field)){
|
||||||
map32.put("boost",0.01);
|
map32.put(boost,0.01);
|
||||||
}
|
}
|
||||||
map32.put("query", selectValue);
|
map32.put(query, selectValue);
|
||||||
map22.put(field, map32);
|
map22.put(field, map32);
|
||||||
map42.put("match_phrase_prefix", map22);
|
map42.put("match_phrase_prefix", map22);
|
||||||
queryMapJson.add(map42);
|
queryMapJson.add(map42);
|
||||||
@@ -671,10 +728,10 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
Map<String, Object> map23 = new HashMap<>();
|
Map<String, Object> map23 = new HashMap<>();
|
||||||
Map<String, Object> map33 = new HashMap<>();
|
Map<String, Object> map33 = new HashMap<>();
|
||||||
Map<String, Object> map43 = new HashMap<>();
|
Map<String, Object> map43 = new HashMap<>();
|
||||||
if("content".equals(field)){
|
if(CONTENT.equals(field)){
|
||||||
map33.put("boost",0.01);
|
map33.put(boost,0.01);
|
||||||
}
|
}
|
||||||
map33.put("query", selectValue);
|
map33.put(query, selectValue);
|
||||||
map23.put(field, map33);
|
map23.put(field, map33);
|
||||||
map43.put("match", map23);
|
map43.put("match", map23);
|
||||||
queryMapJson.add(map43);
|
queryMapJson.add(map43);
|
||||||
@@ -691,10 +748,7 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
@Override
|
@Override
|
||||||
public LawsHomeNormalSearchStatisticsVO getNormalSearchAllCount(LawsHomeNormalSearchDTO homeNormalSearchDTO) {
|
public LawsHomeNormalSearchStatisticsVO getNormalSearchAllCount(LawsHomeNormalSearchDTO homeNormalSearchDTO) {
|
||||||
LawsHomeNormalSearchStatisticsVO obj = new LawsHomeNormalSearchStatisticsVO();
|
LawsHomeNormalSearchStatisticsVO obj = new LawsHomeNormalSearchStatisticsVO();
|
||||||
String searchContent = homeNormalSearchDTO.getSearchContent();
|
String searchContent = checkSearchContent(homeNormalSearchDTO);
|
||||||
if(StringUtils.isBlank(searchContent)){
|
|
||||||
throw new JeroBootException(ResultCommon.PLEASE_SEARCH_TO_IMPORT);
|
|
||||||
}
|
|
||||||
|
|
||||||
//判断索引是否存在
|
//判断索引是否存在
|
||||||
boolean flagTemp;
|
boolean flagTemp;
|
||||||
@@ -703,23 +757,18 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
SearchVO searchVO = new SearchVO();
|
searchContent = searchContent.toLowerCase();
|
||||||
searchVO.setSelectValue(homeNormalSearchDTO.getSearchContent());
|
|
||||||
if(StringUtils.isBlank(searchVO.getSelectValue())){
|
|
||||||
searchVO.setSelectValue(SEARCH_FLAG);
|
|
||||||
}
|
|
||||||
String selectValue = searchVO.getSelectValue().toLowerCase();
|
|
||||||
|
|
||||||
List<String> listField = new ArrayList<>();
|
List<String> listField = new ArrayList<>();
|
||||||
listField.add("resource_type");
|
listField.add(RESOURCE_TYPE);
|
||||||
listField.add("standard_class");
|
listField.add(STANDARD_CLASS);
|
||||||
listField.add("dynamic_type");
|
listField.add(DYNAMIC_TYPE);
|
||||||
listField.add("applicable_vehicle");
|
listField.add(APPLICABLE_VEHICLE);
|
||||||
listField.add("standard_property");
|
listField.add(STANDARD_PROPERTY);
|
||||||
listField.add("standard_state");
|
listField.add(STANDARD_STATE);
|
||||||
listField.add("standard_code");
|
listField.add(STANDARD_CODE);
|
||||||
listField.add("enterprise_standard_state");
|
listField.add(ENTERPRISE_STANDARD_STATE);
|
||||||
listField.add("grade_classification");
|
listField.add(GRADE_CLASSIFICATION);
|
||||||
JSONObject jsonObject = new JSONObject();
|
JSONObject jsonObject = new JSONObject();
|
||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
for (String s : listField) {
|
for (String s : listField) {
|
||||||
@@ -732,43 +781,42 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
jsonObject.put("aggs",map);
|
jsonObject.put("aggs",map);
|
||||||
jsonObject.put("size",0);
|
jsonObject.put("size",0);
|
||||||
|
|
||||||
// JSONArray queryMapJson = new JSONArray();
|
JSONArray queryMapJson = new JSONArray();
|
||||||
// // 封装首次的条件
|
// 封装首次的条件
|
||||||
// if (StringUtils.isNotBlank(selectValue)) {
|
if (StringUtils.isNotBlank(searchContent)) {
|
||||||
// getQueryMapJson(queryMapJson, selectValue, "content");
|
getQueryMapJson(queryMapJson, searchContent, CONTENT);
|
||||||
// }
|
}
|
||||||
// if(CollectionUtils.isNotEmpty(queryMapJson)){
|
if(CollectionUtils.isNotEmpty(queryMapJson)){
|
||||||
// JSONObject object = new JSONObject();
|
JSONObject object = jeroElasticsearchTemplate.buildBoolQuery(null,null,queryMapJson);
|
||||||
// object.put("should",queryMapJson);
|
jsonObject.put("query",object);
|
||||||
// jsonObject.put("query",object);
|
}
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
//2. 数据查询
|
//2. 数据查询
|
||||||
JSONObject search = jeroElasticsearchTemplate.search(HomeSearchEnum.INDEX_NAME_DOCUMENT_ZQ.getValue(), HomeSearchEnum.TYPE_NAME_DOCUMENT_ZQ.getValue(), jsonObject);
|
JSONObject search = jeroElasticsearchTemplate.search(HomeSearchEnum.INDEX_NAME_DOCUMENT_ZQ.getValue(), HomeSearchEnum.TYPE_NAME_DOCUMENT_ZQ.getValue(), jsonObject);
|
||||||
LawsHomeNormalSearchStatisticsVO objVo = new LawsHomeNormalSearchStatisticsVO();
|
LawsHomeNormalSearchStatisticsVO objVo = new LawsHomeNormalSearchStatisticsVO();
|
||||||
|
String standardStateAggs = "standard_state_aggs";
|
||||||
switch (homeNormalSearchDTO.getResourceType()){
|
switch (homeNormalSearchDTO.getResourceType()){
|
||||||
case LawsHomeSearchCommon.LAWS_DOMESTIC_STANDARD:
|
case LawsHomeSearchCommon.LAWS_DOMESTIC_STANDARD:
|
||||||
List<LawsHomeNormalSearchCountVO> list1 = new ArrayList<>();
|
List<LawsHomeNormalSearchCountVO> list1 = new ArrayList<>();
|
||||||
addVo(search, list1, "standard_class_aggs", "standard_class");
|
addVo(search, list1, "standard_class_aggs", STANDARD_CLASS);
|
||||||
addVo(search, list1, "dynamic_type_aggs", "dynamic_type");
|
addVo(search, list1, "dynamic_type_aggs", DYNAMIC_TYPE);
|
||||||
addVo(search, list1, "applicable_vehicle_aggs", "applicable_vehicle");
|
addVo(search, list1, "applicable_vehicle_aggs", APPLICABLE_VEHICLE);
|
||||||
addVo(search, list1, "standard_property_aggs", "standard_property");
|
addVo(search, list1, "standard_property_aggs", STANDARD_PROPERTY);
|
||||||
addVo(search, list1, "standard_state_aggs", "standard_state");
|
addVo(search, list1, standardStateAggs, STANDARD_STATE);
|
||||||
count1(list1,objVo);
|
count1(list1,objVo);
|
||||||
break;
|
break;
|
||||||
case LawsHomeSearchCommon.LAWS_OVERSEAS_STANDARD:
|
case LawsHomeSearchCommon.LAWS_OVERSEAS_STANDARD:
|
||||||
List<LawsHomeNormalSearchCountVO> list2 = new ArrayList<>();
|
List<LawsHomeNormalSearchCountVO> list2 = new ArrayList<>();
|
||||||
addVo(search, list2, "standard_class_aggs", "standard_class");
|
addVo(search, list2, "standard_class_aggs", STANDARD_CLASS);
|
||||||
addVo(search, list2, "applicable_vehicle_aggs", "applicable_vehicle");
|
addVo(search, list2, "applicable_vehicle_aggs", APPLICABLE_VEHICLE);
|
||||||
addVo(search, list2, "standard_state_aggs", "standard_state");
|
addVo(search, list2, standardStateAggs, STANDARD_STATE);
|
||||||
count2(list2,objVo);
|
count2(list2,objVo);
|
||||||
break;
|
break;
|
||||||
case LawsHomeSearchCommon.LAWS_ENTERPRISE_STANDARD:
|
case LawsHomeSearchCommon.LAWS_ENTERPRISE_STANDARD:
|
||||||
List<LawsHomeNormalSearchCountVO> list3 = new ArrayList<>();
|
List<LawsHomeNormalSearchCountVO> list3 = new ArrayList<>();
|
||||||
addVo(search, list3, "standard_code_aggs", "standard_code");
|
addVo(search, list3, "standard_code_aggs", STANDARD_CODE);
|
||||||
addVo(search, list3, "standard_state_aggs", "standard_state");
|
addVo(search, list3, standardStateAggs, STANDARD_STATE);
|
||||||
addVo(search, list3, "grade_classification_aggs", "grade_classification");
|
addVo(search, list3, "grade_classification_aggs", GRADE_CLASSIFICATION);
|
||||||
count3(list3,objVo);
|
count3(list3,objVo);
|
||||||
break;
|
break;
|
||||||
default:break;
|
default:break;
|
||||||
@@ -776,15 +824,15 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
return objVo;
|
return objVo;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addVo(JSONObject search, List<LawsHomeNormalSearchCountVO> list, String standard_class_aggs, String standard_class) {
|
private void addVo(JSONObject search, List<LawsHomeNormalSearchCountVO> list, String aggs, String fieldName) {
|
||||||
List<Map<String, Object>> list1 = (List<Map<String, Object>>) ((Map) ((Map) search.get("aggregations")).get(standard_class_aggs)).get("buckets");
|
List<Map<String, Object>> list1 = (List<Map<String, Object>>) ((Map) ((Map) search.get("aggregations")).get(aggs)).get("buckets");
|
||||||
if (!CollectionUtils.isEmpty(list1)) {
|
if (!CollectionUtils.isEmpty(list1)) {
|
||||||
for (Map<String, Object> stringObjectMap : list1) {
|
for (Map<String, Object> stringObjectMap : list1) {
|
||||||
LawsHomeNormalSearchCountVO objVo = new LawsHomeNormalSearchCountVO();
|
LawsHomeNormalSearchCountVO objVo = new LawsHomeNormalSearchCountVO();
|
||||||
if (Objects.isNull(stringObjectMap.get("key"))) {
|
if (Objects.isNull(stringObjectMap.get("key"))) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
objVo.setFieldName(standard_class);
|
objVo.setFieldName(fieldName);
|
||||||
objVo.setDict(stringObjectMap.get("key").toString());
|
objVo.setDict(stringObjectMap.get("key").toString());
|
||||||
objVo.setCount(Objects.isNull(stringObjectMap.get("doc_count")) ? "0" : stringObjectMap.get("doc_count").toString());
|
objVo.setCount(Objects.isNull(stringObjectMap.get("doc_count")) ? "0" : stringObjectMap.get("doc_count").toString());
|
||||||
list.add(objVo);
|
list.add(objVo);
|
||||||
@@ -794,7 +842,7 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateEsData(String resourceType, String ids, String opType) {
|
public void updateEsData(String resourceType, String ids, String opType) {
|
||||||
if(StringUtils.isBlank(resourceType) || StringUtils.isBlank(resourceType) || StringUtils.isBlank(resourceType)){
|
if(StringUtils.isBlank(resourceType) || StringUtils.isBlank(ids) || StringUtils.isBlank(opType)){
|
||||||
throw new JeroBootException(ResultCommon.PARAMETER_NOT_RECOGNIZED);
|
throw new JeroBootException(ResultCommon.PARAMETER_NOT_RECOGNIZED);
|
||||||
}
|
}
|
||||||
log.info("================ES更新数据开始=================");
|
log.info("================ES更新数据开始=================");
|
||||||
@@ -841,9 +889,6 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
int endIndex = getEndIndex(startIndex, batchCount, listIds);
|
int endIndex = getEndIndex(startIndex, batchCount, listIds);
|
||||||
List<String> listIdsSub = listIds.subList(startIndex, endIndex);
|
List<String> listIdsSub = listIds.subList(startIndex, endIndex);
|
||||||
List<LawsDomesticStandard> listLawsDomesticStandard = lawsDomesticStandardService.listByIds(listIdsSub);
|
List<LawsDomesticStandard> listLawsDomesticStandard = lawsDomesticStandardService.listByIds(listIdsSub);
|
||||||
if(CollectionUtils.isEmpty(listLawsDomesticStandard)){
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
CompletableFuture.runAsync(()->{
|
CompletableFuture.runAsync(()->{
|
||||||
for (LawsDomesticStandard lawsDomesticStandard : listLawsDomesticStandard) {
|
for (LawsDomesticStandard lawsDomesticStandard : listLawsDomesticStandard) {
|
||||||
try {
|
try {
|
||||||
@@ -865,7 +910,7 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
List<OSSFile> listFile = getOssFilesLawsDomesticStandard(lawsDomesticStandard);
|
List<OSSFile> listFile = getOssFilesLawsDomesticStandard(lawsDomesticStandard);
|
||||||
updateES(opType, obj, listFile, lawsDomesticStandard.getId());
|
updateES(opType, obj, listFile, lawsDomesticStandard.getId());
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error("同步ES数据异常:",e.getMessage());
|
log.error(SYNC_ES_ERR,e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},pool);
|
},pool);
|
||||||
@@ -949,7 +994,7 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
List<OSSFile> listFile = getOssFilesLawsOverseasStandard(lawsOverseasStandard);
|
List<OSSFile> listFile = getOssFilesLawsOverseasStandard(lawsOverseasStandard);
|
||||||
updateES(opType, obj, listFile, lawsOverseasStandard.getId());
|
updateES(opType, obj, listFile, lawsOverseasStandard.getId());
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error("同步ES数据异常:",e.getMessage());
|
log.error(SYNC_ES_ERR,e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},pool);
|
},pool);
|
||||||
@@ -965,27 +1010,28 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
ossFile.orderByAsc(OSSFile::getCreateTime);
|
ossFile.orderByAsc(OSSFile::getCreateTime);
|
||||||
List<OSSFile> list = oSSFileService.list(ossFile);
|
List<OSSFile> list = oSSFileService.list(ossFile);
|
||||||
List<OSSFile> listFile = new ArrayList<>();
|
List<OSSFile> listFile = new ArrayList<>();
|
||||||
if(!CollectionUtils.isEmpty(list)){
|
if(CollectionUtils.isEmpty(list)){
|
||||||
LambdaQueryWrapper<LawsTag> query = new LambdaQueryWrapper<>();
|
return listFile;
|
||||||
query.eq(LawsTag::getTableName,LawsHomeSearchCommon.LAWS_OVERSEAS_STANDARD_TABLE_NAME);
|
}
|
||||||
query.isNotNull(LawsTag::getHomeSearchFileOrder);
|
LambdaQueryWrapper<LawsTag> query = new LambdaQueryWrapper<>();
|
||||||
query.orderByAsc(LawsTag::getHomeSearchFileOrder);
|
query.eq(LawsTag::getTableName,LawsHomeSearchCommon.LAWS_OVERSEAS_STANDARD_TABLE_NAME);
|
||||||
List<LawsTag> listLawsTag = lawsTagService.list(query);
|
query.isNotNull(LawsTag::getHomeSearchFileOrder);
|
||||||
if(!CollectionUtils.isEmpty(listLawsTag)){
|
query.orderByAsc(LawsTag::getHomeSearchFileOrder);
|
||||||
List<OSSFile> op = list.stream().filter(o-> Objects.equals(o.getStandardFileType(),listLawsTag.get(0).getDbFieldName())).collect(Collectors.toList());
|
List<LawsTag> listLawsTag = lawsTagService.list(query);
|
||||||
List<OSSFile> opTr = list.stream().filter(o-> Objects.equals(o.getStandardFileType(),listLawsTag.get(1).getDbFieldName())).collect(Collectors.toList());
|
if(!CollectionUtils.isEmpty(listLawsTag)){
|
||||||
// 有发布稿
|
List<OSSFile> op = list.stream().filter(o-> Objects.equals(o.getStandardFileType(),listLawsTag.get(0).getDbFieldName())).collect(Collectors.toList());
|
||||||
if(!CollectionUtils.isEmpty(op) || !CollectionUtils.isEmpty(opTr)){
|
List<OSSFile> opTr = list.stream().filter(o-> Objects.equals(o.getStandardFileType(),listLawsTag.get(1).getDbFieldName())).collect(Collectors.toList());
|
||||||
if(!CollectionUtils.isEmpty(op)){
|
// 有发布稿
|
||||||
listFile.addAll(op);
|
if(!CollectionUtils.isEmpty(op) || !CollectionUtils.isEmpty(opTr)){
|
||||||
}
|
if(!CollectionUtils.isEmpty(op)){
|
||||||
if(!CollectionUtils.isEmpty(opTr)){
|
listFile.addAll(op);
|
||||||
listFile.addAll(opTr);
|
}
|
||||||
}
|
if(!CollectionUtils.isEmpty(opTr)){
|
||||||
}else{
|
listFile.addAll(opTr);
|
||||||
for (int i = 2; i < listLawsTag.size(); i++) {
|
}
|
||||||
getOp(list, listFile, listLawsTag.get(i).getDbFieldName());
|
}else{
|
||||||
}
|
for (int i = 2; i < listLawsTag.size(); i++) {
|
||||||
|
getOp(list, listFile, listLawsTag.get(i).getDbFieldName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1026,7 +1072,7 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
List<OSSFile> listFile = getOssFilesLawsEnterpriseStandard(lawsEnterpriseStandard);
|
List<OSSFile> listFile = getOssFilesLawsEnterpriseStandard(lawsEnterpriseStandard);
|
||||||
updateES(opType, obj, listFile, lawsEnterpriseStandard.getId());
|
updateES(opType, obj, listFile, lawsEnterpriseStandard.getId());
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error("同步ES数据异常:",e.getMessage());
|
log.error(SYNC_ES_ERR,e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},pool);
|
},pool);
|
||||||
@@ -1087,7 +1133,7 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
obj.setResourceType(resourceType);
|
obj.setResourceType(resourceType);
|
||||||
updateESLawsNewsFeed(opType, lawsNewsFeed, obj);
|
updateESLawsNewsFeed(opType, lawsNewsFeed, obj);
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error("同步ES数据异常:",e.getMessage());
|
log.error(SYNC_ES_ERR,e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},pool);
|
},pool);
|
||||||
@@ -1119,23 +1165,9 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
|| ossFile.getFileName().endsWith(".docx")
|
|| ossFile.getFileName().endsWith(".docx")
|
||||||
|| ossFile.getFileName().endsWith(".DOC")
|
|| ossFile.getFileName().endsWith(".DOC")
|
||||||
|| ossFile.getFileName().endsWith(".DOCX")) {
|
|| ossFile.getFileName().endsWith(".DOCX")) {
|
||||||
try {
|
getFileTextAll(fileTextAll, ReadWordUtil.readWord(ossFile.getUrl(), uploadpath), "文档库: 读取word内容失败");
|
||||||
String wordContent = ReadWordUtil.readWord(ossFile.getUrl(),uploadpath);
|
|
||||||
if (StringUtils.isNotBlank(wordContent)) {
|
|
||||||
fileTextAll.append(wordContent).append(",");
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
log.error("文档库: 读取word内容失败");
|
|
||||||
}
|
|
||||||
} else if (ossFile.getFileName().endsWith(".pdf") || ossFile.getFileName().endsWith(".PDF")) {
|
} else if (ossFile.getFileName().endsWith(".pdf") || ossFile.getFileName().endsWith(".PDF")) {
|
||||||
try {
|
getFileTextAll(fileTextAll, ReadPdfUtil.readPdf(ossFile.getUrl()), "文档库: 读取PDF文件内容失败");
|
||||||
String pdfContent = ReadPdfUtil.readPdf(ossFile.getUrl());
|
|
||||||
if (StringUtils.isNotBlank(pdfContent)) {
|
|
||||||
fileTextAll.append(pdfContent).append(",");
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
log.error("文档库: 读取PDF文件内容失败");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@@ -1145,22 +1177,33 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
return fileTextAll;
|
return fileTextAll;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void getFileTextAll(StringBuilder fileTextAll, String s, String s2) {
|
||||||
|
try {
|
||||||
|
String wordContent = s;
|
||||||
|
if (StringUtils.isNotBlank(wordContent)) {
|
||||||
|
fileTextAll.append(wordContent).append(",");
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error(s2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void addES(LawsHomeNormalSearchVO obj, String idTemp, StringBuilder fileTextAll) {
|
private void addES(LawsHomeNormalSearchVO obj, String idTemp, StringBuilder fileTextAll) {
|
||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
map.put("id", obj.getId());
|
map.put("id", obj.getId());
|
||||||
map.put("title", obj.getTitle());
|
map.put("title", obj.getTitle());
|
||||||
map.put("content", fileTextAll);
|
map.put(CONTENT, fileTextAll);
|
||||||
map.put("resource_type", obj.getResourceType());
|
map.put(RESOURCE_TYPE, obj.getResourceType());
|
||||||
map.put("standard_class", obj.getStandardClass());
|
map.put(STANDARD_CLASS, obj.getStandardClass());
|
||||||
map.put("dynamic_type", obj.getDynamicType());
|
map.put(DYNAMIC_TYPE, obj.getDynamicType());
|
||||||
map.put("applicable_vehicle", obj.getApplicableVehicle());
|
map.put(APPLICABLE_VEHICLE, obj.getApplicableVehicle());
|
||||||
map.put("standard_property", obj.getStandardProperty());
|
map.put(STANDARD_PROPERTY, obj.getStandardProperty());
|
||||||
map.put("standard_state", obj.getStandardState());
|
map.put(STANDARD_STATE, obj.getStandardState());
|
||||||
map.put("standard_code",obj.getStandardCode());
|
map.put(STANDARD_CODE,obj.getStandardCode());
|
||||||
map.put("enterprise_standard_state",obj.getEnterpriseStandardState());
|
map.put(ENTERPRISE_STANDARD_STATE,obj.getEnterpriseStandardState());
|
||||||
map.put("grade_classification",obj.getGradeClassification());
|
map.put(GRADE_CLASSIFICATION,obj.getGradeClassification());
|
||||||
map.put("standard_type",obj.getStandardType());
|
map.put(STANDARD_TYPE,obj.getStandardType());
|
||||||
map.put("create_time",new Date());
|
map.put(CREATE_TIME,new Date());
|
||||||
//添加es
|
//添加es
|
||||||
JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(map));
|
JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(map));
|
||||||
try {
|
try {
|
||||||
|
|||||||
Reference in New Issue
Block a user