fix:79084
This commit is contained in:
+11
-2
@@ -28,10 +28,10 @@ public interface LawsHomeSearchMapper extends BaseMapper<LawsHomeNormalSearchHis
|
|||||||
* @date 2023/11/13 11:55
|
* @date 2023/11/13 11:55
|
||||||
* @param page
|
* @param page
|
||||||
* @param queryWrapper
|
* @param queryWrapper
|
||||||
* @param username
|
* @param userId
|
||||||
* @return com.baomidou.mybatisplus.core.metadata.IPage<com.jero.modules.laws.home.vo.LawsHomeNormalSearchVO>
|
* @return com.baomidou.mybatisplus.core.metadata.IPage<com.jero.modules.laws.home.vo.LawsHomeNormalSearchVO>
|
||||||
*/
|
*/
|
||||||
IPage<LawsHomeNormalSearchVO> getPage(Page<LawsHomeNormalSearchVO> page,@Param(Constants.WRAPPER) QueryWrapper<LawsHomeNormalSearchDTO> queryWrapper,@Param("username") String username);
|
IPage<LawsHomeNormalSearchVO> getPage(Page<LawsHomeNormalSearchVO> page,@Param(Constants.WRAPPER) QueryWrapper<LawsHomeNormalSearchDTO> queryWrapper,@Param("userId") String userId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 首页-一般检索(标题)查询国内标准
|
* 首页-一般检索(标题)查询国内标准
|
||||||
@@ -69,5 +69,14 @@ public interface LawsHomeSearchMapper extends BaseMapper<LawsHomeNormalSearchHis
|
|||||||
*/
|
*/
|
||||||
List<SysDictItemCore> translateManyDict(@Param(Constants.WRAPPER) QueryWrapper<SysDict> queryWrapper);
|
List<SysDictItemCore> translateManyDict(@Param(Constants.WRAPPER) QueryWrapper<SysDict> queryWrapper);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取当前用户的动态消息
|
||||||
|
* @author LQT
|
||||||
|
* @date 2023/12/11 20:37
|
||||||
|
* @param userId
|
||||||
|
* @return java.util.List<java.lang.Long>
|
||||||
|
*/
|
||||||
|
List<Long> getHomeSearchData(@Param("userId") String userId);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-4
@@ -39,10 +39,12 @@
|
|||||||
null,null,null,null,standard_state,standard_code,grade_classification,implementation_date
|
null,null,null,null,standard_state,standard_code,grade_classification,implementation_date
|
||||||
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,dynamic_heading as standard_name,create_time,9 as standard_type_order,
|
select l1.id,'4' as resource_type,dynamic_heading as standard_name,create_time,9 as standard_type_order,
|
||||||
null AS standard_state_order,
|
null AS standard_state_order,
|
||||||
null,null,null,null,null,null,null,null
|
null,null,null,null,null,null,null,null
|
||||||
from laws_news_feed where del_flag = 0 and (release_status = 1 or (release_status = 0 and create_by = #{username}))
|
from laws_news_feed l1
|
||||||
|
left join laws_push_range l2 on l1.id = l2.unique_relation_flag
|
||||||
|
where l1.del_flag = 0 and l1.release_status = 1 and (l1.push_range_flag = 2 or (l1.push_range_flag = 1 and l2.user_id = #{userId}))
|
||||||
) as all_data
|
) as all_data
|
||||||
<where>
|
<where>
|
||||||
${ew.sqlSegment}
|
${ew.sqlSegment}
|
||||||
@@ -112,6 +114,10 @@
|
|||||||
AND sys_dict_item.del_flag = 0
|
AND sys_dict_item.del_flag = 0
|
||||||
AND ${ew.sqlSegment}
|
AND ${ew.sqlSegment}
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getHomeSearchData" resultType="java.lang.Long">
|
||||||
|
select l1.id
|
||||||
|
from laws_news_feed l1
|
||||||
|
left join laws_push_range l2 on l1.id = l2.unique_relation_flag
|
||||||
|
where l1.del_flag = 0 and l1.release_status = 1 and (l1.push_range_flag = 1 and l2.user_id = #{userId})
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
+53
-36
@@ -148,7 +148,7 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
|
|
||||||
QueryWrapper<LawsHomeNormalSearchDTO> queryWrapper = getQueryWrapperNormal(lawsHomeNormalSearchDTO);
|
QueryWrapper<LawsHomeNormalSearchDTO> queryWrapper = getQueryWrapperNormal(lawsHomeNormalSearchDTO);
|
||||||
Page<LawsHomeNormalSearchVO> page = new Page<>(pageNo, pageSize);
|
Page<LawsHomeNormalSearchVO> page = new Page<>(pageNo, pageSize);
|
||||||
IPage<LawsHomeNormalSearchVO> pageList = lawsHomeSearchMapper.getPage(page,queryWrapper,loginUser.getUsername());
|
IPage<LawsHomeNormalSearchVO> pageList = lawsHomeSearchMapper.getPage(page,queryWrapper,loginUser.getId());
|
||||||
addContent(searchContent, pageList);
|
addContent(searchContent, pageList);
|
||||||
return pageList;
|
return pageList;
|
||||||
}
|
}
|
||||||
@@ -801,16 +801,16 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
// 前缀匹配 缺点是前缀一定不能断开
|
// 前缀匹配 缺点是前缀一定不能断开
|
||||||
//情况举例:用户只记得前面那段字
|
//情况举例:用户只记得前面那段字
|
||||||
String boost = "boost";
|
String boost = "boost";
|
||||||
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);
|
||||||
map41.put("prefix", map21);
|
// map41.put("prefix", map21);
|
||||||
queryMapJson.add(map41);
|
// queryMapJson.add(map41);
|
||||||
|
|
||||||
// match_phrase_prefix 词组匹配查询,允许最后词组与文中的任意分词前缀匹配
|
// match_phrase_prefix 词组匹配查询,允许最后词组与文中的任意分词前缀匹配
|
||||||
Map<String, Object> map22 = new HashMap<>();
|
Map<String, Object> map22 = new HashMap<>();
|
||||||
@@ -885,6 +885,7 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
jsonObject.put("aggs",map);
|
jsonObject.put("aggs",map);
|
||||||
jsonObject.put("size",0);
|
jsonObject.put("size",0);
|
||||||
|
|
||||||
|
JSONArray queryAll = new JSONArray();
|
||||||
JSONArray queryMapJson = new JSONArray();
|
JSONArray queryMapJson = new JSONArray();
|
||||||
// 封装首次的条件
|
// 封装首次的条件
|
||||||
if (StringUtils.isNotBlank(searchContent)) {
|
if (StringUtils.isNotBlank(searchContent)) {
|
||||||
@@ -892,11 +893,13 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
}
|
}
|
||||||
if(CollectionUtils.isNotEmpty(queryMapJson)){
|
if(CollectionUtils.isNotEmpty(queryMapJson)){
|
||||||
JSONObject object = jeroElasticsearchTemplate.buildBoolQuery(null,null,queryMapJson);
|
JSONObject object = jeroElasticsearchTemplate.buildBoolQuery(null,null,queryMapJson);
|
||||||
jsonObject.put(QUERY,object);
|
queryAll.add(object);
|
||||||
}
|
}
|
||||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
JSONObject jsonObjectShould = getJsonObject(loginUser);
|
JSONObject object = getJsonObject(loginUser);
|
||||||
jsonObject.put(QUERY,jsonObjectShould);
|
queryAll.add(object);
|
||||||
|
JSONObject objectAll = jeroElasticsearchTemplate.buildBoolQuery(queryAll,null,null);
|
||||||
|
jsonObject.put("query",objectAll);
|
||||||
|
|
||||||
//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);
|
||||||
@@ -932,27 +935,41 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private JSONObject getJsonObject(LoginUser loginUser) {
|
private JSONObject getJsonObject(LoginUser loginUser) {
|
||||||
// 查 (发布状态=1 或者 (发布状态=0 and create_by = 当前登录人))
|
// 查 (发布状态=1 & 推送范围为2全体用户的)
|
||||||
JSONArray queryMapShould = new JSONArray();
|
JSONArray queryMapMust1 = new JSONArray();
|
||||||
Map<String, Object> status1 = new HashMap<>();
|
Map<String, Object> status1 = new HashMap<>();
|
||||||
Map<String, Object> status1Val = new HashMap<>();
|
Map<String, Object> status1Val = new HashMap<>();
|
||||||
status1Val.put(RELEASE_STATUS, "1");
|
status1Val.put(RELEASE_STATUS, "1");
|
||||||
status1.put(MATCH, status1Val);
|
status1.put(MATCH, status1Val);
|
||||||
queryMapShould.add(status1);
|
queryMapMust1.add(status1);
|
||||||
JSONArray queryMapMust = new JSONArray();
|
|
||||||
|
JSONArray queryMapShould = new JSONArray();
|
||||||
Map<String, Object> status2 = new HashMap<>();
|
Map<String, Object> status2 = new HashMap<>();
|
||||||
Map<String, Object> status2Val = new HashMap<>();
|
Map<String, Object> status2Val = new HashMap<>();
|
||||||
status2Val.put(RELEASE_STATUS, "0");
|
status2Val.put("push_range_flag", 2);
|
||||||
status2.put(MATCH, status2Val);
|
status2.put(MATCH, status2Val);
|
||||||
queryMapMust.add(status2);
|
queryMapShould.add(status2);
|
||||||
|
|
||||||
|
JSONArray queryMapMust = new JSONArray();
|
||||||
|
Map<String, Object> status4 = new HashMap<>();
|
||||||
|
Map<String, Object> status4Val = new HashMap<>();
|
||||||
|
status4Val.put("push_range_flag",1);
|
||||||
|
status4.put(MATCH, status4Val);
|
||||||
|
queryMapMust.add(status4);
|
||||||
|
|
||||||
|
List<Long> listIds = lawsHomeSearchMapper.getHomeSearchData(loginUser.getId());
|
||||||
|
if(CollectionUtils.isEmpty(listIds)){
|
||||||
|
listIds.add(1L);
|
||||||
|
}
|
||||||
Map<String, Object> status3 = new HashMap<>();
|
Map<String, Object> status3 = new HashMap<>();
|
||||||
Map<String, Object> status3Val = new HashMap<>();
|
Map<String, Object> status3Val = new HashMap<>();
|
||||||
status3Val.put("create_by", loginUser.getUsername());
|
status3Val.put("id", listIds);
|
||||||
status3.put(MATCH, status3Val);
|
status3.put("terms", status3Val);
|
||||||
queryMapMust.add(status3);
|
queryMapMust.add(status3);
|
||||||
JSONObject jsonObjectMust = jeroElasticsearchTemplate.buildBoolQuery(queryMapMust, null, null);
|
JSONObject jsonObjectMust = jeroElasticsearchTemplate.buildBoolQuery(queryMapMust, null, null);
|
||||||
queryMapShould.add(jsonObjectMust);
|
queryMapShould.add(jsonObjectMust);
|
||||||
return jeroElasticsearchTemplate.buildBoolQuery(null, null, queryMapShould);
|
|
||||||
|
return jeroElasticsearchTemplate.buildBoolQuery(queryMapMust1, null, queryMapShould);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addVo(JSONObject search, List<LawsHomeNormalSearchCountVO> list, String aggs, String fieldName) {
|
private void addVo(JSONObject search, List<LawsHomeNormalSearchCountVO> list, String aggs, String fieldName) {
|
||||||
@@ -1062,7 +1079,7 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
obj.setApplicableVehicle(lawsDomesticStandard.getApplicableVehicle());
|
obj.setApplicableVehicle(lawsDomesticStandard.getApplicableVehicle());
|
||||||
obj.setStandardProperty(lawsDomesticStandard.getStandardProperty());
|
obj.setStandardProperty(lawsDomesticStandard.getStandardProperty());
|
||||||
obj.setStandardState(lawsDomesticStandard.getStandardState());
|
obj.setStandardState(lawsDomesticStandard.getStandardState());
|
||||||
obj.setCreateBy(lawsDomesticStandard.getCreateBy());
|
obj.setPushRangeFlag(2);
|
||||||
obj.setReleaseStatus("1");
|
obj.setReleaseStatus("1");
|
||||||
List<OSSFile> listFile = getOssFilesLawsDomesticStandard(lawsDomesticStandard);
|
List<OSSFile> listFile = getOssFilesLawsDomesticStandard(lawsDomesticStandard);
|
||||||
updateES(opType, obj, listFile, lawsDomesticStandard.getId());
|
updateES(opType, obj, listFile, lawsDomesticStandard.getId());
|
||||||
@@ -1157,7 +1174,7 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
obj.setStandardClass(lawsOverseasStandard.getStandardClass());
|
obj.setStandardClass(lawsOverseasStandard.getStandardClass());
|
||||||
obj.setApplicableVehicle(lawsOverseasStandard.getApplicableVehicle());
|
obj.setApplicableVehicle(lawsOverseasStandard.getApplicableVehicle());
|
||||||
obj.setStandardState(lawsOverseasStandard.getStandardState());
|
obj.setStandardState(lawsOverseasStandard.getStandardState());
|
||||||
obj.setCreateBy(lawsOverseasStandard.getCreateBy());
|
obj.setPushRangeFlag(2);
|
||||||
obj.setReleaseStatus("1");
|
obj.setReleaseStatus("1");
|
||||||
List<OSSFile> listFile = getOssFilesLawsOverseasStandard(lawsOverseasStandard);
|
List<OSSFile> listFile = getOssFilesLawsOverseasStandard(lawsOverseasStandard);
|
||||||
updateES(opType, obj, listFile, lawsOverseasStandard.getId());
|
updateES(opType, obj, listFile, lawsOverseasStandard.getId());
|
||||||
@@ -1244,7 +1261,7 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
obj.setStandardCode(lawsEnterpriseStandard.getStandardCode());
|
obj.setStandardCode(lawsEnterpriseStandard.getStandardCode());
|
||||||
obj.setEnterpriseStandardState(lawsEnterpriseStandard.getStandardState());
|
obj.setEnterpriseStandardState(lawsEnterpriseStandard.getStandardState());
|
||||||
obj.setGradeClassification(lawsEnterpriseStandard.getGradeClassification());
|
obj.setGradeClassification(lawsEnterpriseStandard.getGradeClassification());
|
||||||
obj.setCreateBy(lawsEnterpriseStandard.getCreateBy());
|
obj.setPushRangeFlag(2);
|
||||||
obj.setReleaseStatus("1");
|
obj.setReleaseStatus("1");
|
||||||
List<OSSFile> listFile = getOssFilesLawsEnterpriseStandard(lawsEnterpriseStandard);
|
List<OSSFile> listFile = getOssFilesLawsEnterpriseStandard(lawsEnterpriseStandard);
|
||||||
updateES(opType, obj, listFile, lawsEnterpriseStandard.getId());
|
updateES(opType, obj, listFile, lawsEnterpriseStandard.getId());
|
||||||
@@ -1309,7 +1326,7 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
obj.setStandardState("4");
|
obj.setStandardState("4");
|
||||||
obj.setReleaseDate(lawsNewsFeed.getReleaseTime());
|
obj.setReleaseDate(lawsNewsFeed.getReleaseTime());
|
||||||
obj.setCreateTime(lawsNewsFeed.getCreateTime());
|
obj.setCreateTime(lawsNewsFeed.getCreateTime());
|
||||||
obj.setCreateBy(lawsNewsFeed.getCreateBy());
|
obj.setPushRangeFlag(lawsNewsFeed.getPushRangeFlag());
|
||||||
obj.setReleaseStatus(String.valueOf(lawsNewsFeed.getReleaseStatus()));
|
obj.setReleaseStatus(String.valueOf(lawsNewsFeed.getReleaseStatus()));
|
||||||
updateESLawsNewsFeed(opType, lawsNewsFeed, obj);
|
updateESLawsNewsFeed(opType, lawsNewsFeed, obj);
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
@@ -1381,14 +1398,14 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
map.put(RESOURCE_TYPE, obj.getResourceType());
|
map.put(RESOURCE_TYPE, obj.getResourceType());
|
||||||
map.put("standard_type_order", obj.getStandardTypeOrder());
|
map.put("standard_type_order", obj.getStandardTypeOrder());
|
||||||
map.put("standard_state_order", obj.getStandardStateOrder());
|
map.put("standard_state_order", obj.getStandardStateOrder());
|
||||||
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("release_date",obj.getReleaseDate());
|
map.put("release_date",obj.getReleaseDate());
|
||||||
// 没有时间 强行加入最早时间
|
// 没有时间 强行加入最早时间
|
||||||
try {
|
try {
|
||||||
@@ -1398,8 +1415,8 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
|
|||||||
log.error("文档库添加es失败",e);
|
log.error("文档库添加es失败",e);
|
||||||
}
|
}
|
||||||
map.put("es_create_time",new Date());
|
map.put("es_create_time",new Date());
|
||||||
map.put("create_by",obj.getCreateBy());
|
|
||||||
map.put(RELEASE_STATUS,obj.getReleaseStatus());
|
map.put(RELEASE_STATUS,obj.getReleaseStatus());
|
||||||
|
map.put("push_range_flag",obj.getReleaseStatus());
|
||||||
//添加es
|
//添加es
|
||||||
JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(map, SerializerFeature.WriteMapNullValue));
|
JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(map, SerializerFeature.WriteMapNullValue));
|
||||||
try {
|
try {
|
||||||
|
|||||||
+5
-4
@@ -102,12 +102,13 @@ public class LawsHomeNormalSearchVO implements Serializable {
|
|||||||
* 入库时间
|
* 入库时间
|
||||||
*/
|
*/
|
||||||
private Date createTime;
|
private Date createTime;
|
||||||
/**
|
|
||||||
* 创建人(动态消息使用)
|
|
||||||
*/
|
|
||||||
private String createBy;
|
|
||||||
/**
|
/**
|
||||||
* 发布状态(0-未发布、1-已发布)(动态消息使用)
|
* 发布状态(0-未发布、1-已发布)(动态消息使用)
|
||||||
*/
|
*/
|
||||||
private String releaseStatus;
|
private String releaseStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 推送范围标识(1-指定用户、2-全体用户)
|
||||||
|
*/
|
||||||
|
private Integer pushRangeFlag;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user