Merge branch 'develop_migration' into 'develop_master'

feat: There is no way the,  车身中心反馈说勾选下面的条件时,名称搜索搜不到

See merge request LiuChao/foton-slrs-system-rest!563
This commit is contained in:
super_liu
2022-07-28 10:36:18 +08:00
2 changed files with 68 additions and 17 deletions
@@ -18,10 +18,10 @@ public class IDMUtil {
private OkHttpUtil okHttpUtil;
private final String app_key = "app_slrs";
private final String app_secret = "Fxi5LHbI5yGbQQDpVp86GcCdXeC5Bjfe";
private final String access_url = "http://sso.foton.com.cn/oauth2.0/accessTokenByJson";
private final String profile_ur = "http://sso.foton.com.cn/oauth2.0/profileByJson";
private final String redirect_url = "https://srms.foton.com.cn";
private final String app_secret = "wj5iDTqyguQCxnsoo5VU21BoRSZqevhI";
private final String access_url = "http://testsso1.foton.com.cn/oauth2.0/accessTokenByJson";
private final String profile_ur = "http://testsso1.foton.com.cn/oauth2.0/profileByJson";
private final String redirect_url = "http://127.0.0.1:9090";
public String idmLogin(String code){
try{
@@ -66,7 +66,6 @@ public class IDMUtil {
}
}catch(Exception e){
log.error("单点登录获取用户信息失败");
e.printStackTrace();
}
return "";
}
@@ -237,7 +237,7 @@ public class SearchCenterServiceImpl implements SearchCenterService {
.addSort("issue_time_data", SortOrder.DESC)
.setSize(searchInfoEO.getPageSize());
if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue()) && StringUtils.isBlank(searchInfoEO.getIsHigh())){
if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue())){
QueryBuilder multiQueryBuilder;
switch (searchInfoEO.getSelectIndex()){
case "stand":
@@ -245,7 +245,7 @@ public class SearchCenterServiceImpl implements SearchCenterService {
.should(QueryBuilders.wildcardQuery("standSort.keyword", searchInfoEO.getSelectValue().toUpperCase()).boost(1005f))
.should(QueryBuilders.termQuery("standNumber", searchInfoEO.getSelectValue().toUpperCase()).boost(1004f))
.should(QueryBuilders.wildcardQuery("standYear.keyword", searchInfoEO.getSelectValue().toUpperCase()).boost(1003f))
.should(QueryBuilders.wildcardQuery("nameshow.keyword", searchInfoEO.getSelectValue().toUpperCase()).boost(1002f))
.should(QueryBuilders.wildcardQuery("nameshow.keyword", "*" +searchInfoEO.getSelectValue().toUpperCase()+ "*").boost(1002f))
.should(QueryBuilders.wildcardQuery("numbershow.keyword", "*" + searchInfoEO.getSelectValue().toUpperCase() + "*").boost(1000f))
.should(QueryBuilders.wildcardQuery("numbershow.keyword", "*" + searchInfoEO.getSelectValue() + "*").boost(999f));
break;
@@ -260,30 +260,68 @@ public class SearchCenterServiceImpl implements SearchCenterService {
.should(QueryBuilders.wildcardQuery("standSort.keyword", searchInfoEO.getSelectValue().toUpperCase()).boost(1005f))
.should(QueryBuilders.termQuery("standNumber", searchInfoEO.getSelectValue().toUpperCase()).boost(1004f))
.should(QueryBuilders.wildcardQuery("standYear.keyword", searchInfoEO.getSelectValue().toUpperCase()).boost(1003f))
.should(QueryBuilders.wildcardQuery("nameshow.keyword", searchInfoEO.getSelectValue().toUpperCase()).boost(1002f))
.should(QueryBuilders.wildcardQuery("nameshow.keyword", "*" +searchInfoEO.getSelectValue().toUpperCase()+ "*").boost(1002f))
.should(QueryBuilders.wildcardQuery("stand_code.keyword", "*" + searchInfoEO.getSelectValue().toUpperCase() + "*").boost(1000f))
.should(QueryBuilders.wildcardQuery("stand_code.keyword", "*" + searchInfoEO.getSelectValue() + "*").boost(999F));
.should(QueryBuilders.wildcardQuery("stand_code.keyword", "*" + searchInfoEO.getSelectValue() + "*").boost(999f));
break;
default: break;
}
}
switch (searchInfoEO.getSelectIndex()){
case "stand":
case "bussstand":
if (StringUtils.isNotBlank(searchInfoEO.getStandSort())) {
if (StringUtils.isNotBlank(searchInfoEO.getStandSort())) {
List<String> list = Arrays.asList(searchInfoEO.getStandSort().split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList());
if(list.size() > 1){
BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder();
list.forEach(s -> {
boolQueryBuilderShould.should(QueryBuilders.termQuery("standSort.keyword", s));
});
boolQueryBuilder.must(boolQueryBuilderShould);
}else {
boolQueryBuilder.must(QueryBuilders.termQuery("standSort.keyword", searchInfoEO.getStandSort()));
}
}
}
break;
// case "laws":
// break;
default: break;
}
if(boolQueryShould!=null){
boolQueryBuilder.must(QueryBuilders.matchQuery("validFlag", 0));
if(searchInfoEO.getCLLX() != null && StringUtils.isNotBlank(searchInfoEO.getCLLX())){
BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder();
List<String> fieldList = Arrays.asList(searchInfoEO.getCLLX() .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList());
fieldList.forEach(s -> {
boolQueryBuilderShould.should(QueryBuilders.termQuery("CLLX", s));
});
boolQueryBuilder.must(boolQueryBuilderShould);
}
if(searchInfoEO.getNYLXCLASS() != null && StringUtils.isNotBlank(searchInfoEO.getNYLXCLASS())){
BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder();
List<String> fieldList = Arrays.asList(searchInfoEO.getNYLXCLASS() .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList());
fieldList.forEach(s -> {
boolQueryBuilderShould.should(QueryBuilders.termQuery("NYLXCLASS", s));
});
boolQueryBuilder.must(boolQueryBuilderShould);
}
if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue())){
if (StringUtils.isNotBlank(searchInfoEO.getType())) {
boolQueryShould.must(QueryBuilders.wildcardQuery("type.keyword", "*"+searchInfoEO.getType()+"*"));
}
if (StringUtils.isNotBlank(searchInfoEO.getStandType()) && StringUtils.isNotBlank(searchInfoEO.getSelectIndex())) {
if(searchInfoEO.getSelectIndex().equals("bussstand")){
boolQueryShould.must(QueryBuilders.wildcardQuery("type.keyword", "*"+searchInfoEO.getStandType()+"*"));
boolQueryBuilder.must(QueryBuilders.wildcardQuery("type.keyword", "*"+searchInfoEO.getStandType()+"*"));
}else {
boolQueryBuilder.must(QueryBuilders.wildcardQuery("standType.keyword", "*"+searchInfoEO.getStandType()+"*"));
}
}
if (StringUtils.isNotBlank(searchInfoEO.getStandSort())) {
boolQueryBuilder.must(QueryBuilders.wildcardQuery("numbershow.keyword", "*"+searchInfoEO.getStandSort()+" "+"*"));
}
if (StringUtils.isNotBlank(searchInfoEO.getTextStatus())) {
boolQueryBuilder.must(QueryBuilders.wildcardQuery("textStatus.keyword", "*"+searchInfoEO.getTextStatus()+"*"));
}
@@ -420,9 +458,6 @@ public class SearchCenterServiceImpl implements SearchCenterService {
boolQueryBuilder.must(QueryBuilders.wildcardQuery("standType.keyword", "*"+searchInfoEO.getStandType()+"*"));
}
}
if (StringUtils.isNotBlank(searchInfoEO.getStandSort())) {
boolQueryBuilder.must(QueryBuilders.wildcardQuery("numbershow.keyword", "*"+searchInfoEO.getStandSort()+" "+"*"));
}
if (StringUtils.isNotBlank(searchInfoEO.getTextStatus())) {
boolQueryBuilder.must(QueryBuilders.wildcardQuery("textStatus.keyword", "*"+searchInfoEO.getTextStatus()+"*"));
}
@@ -835,7 +870,18 @@ public class SearchCenterServiceImpl implements SearchCenterService {
// 高级搜索项,只针对标准
if (StringUtils.isNotBlank(searchInfoEO.getStandSort())) {
boolQueryBuilder.must(QueryBuilders.wildcardQuery("numbershow.keyword", "*"+searchInfoEO.getStandSort()+"*"));
if (StringUtils.isNotBlank(searchInfoEO.getStandSort())) {
List<String> list = Arrays.asList(searchInfoEO.getStandSort().split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList());
if(list.size() > 1){
BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder();
list.forEach(s -> {
boolQueryBuilderShould.should(QueryBuilders.termQuery("standSort.keyword", s));
});
boolQueryBuilder.must(boolQueryBuilderShould);
}else {
boolQueryBuilder.must(QueryBuilders.termQuery("standSort.keyword", searchInfoEO.getStandSort()));
}
}
}
if (StringUtils.isNotBlank(searchInfoEO.getStandCode())) {
boolQueryBuilder.must(QueryBuilders.wildcardQuery("standNumber.keyword", "*"+searchInfoEO.getStandCode()+"*"));
@@ -1448,6 +1494,7 @@ public class SearchCenterServiceImpl implements SearchCenterService {
HighlightBuilder.Field highlightTitle = new HighlightBuilder.Field("title");
hiBuilder.field(highlightTitle);
HighlightBuilder.Field highlightUser = new HighlightBuilder.Field("textContent");
highlightUser.numOfFragments(3);
hiBuilder.field(highlightUser);
HighlightBuilder.Field highlightItem = new HighlightBuilder.Field("textItems");
hiBuilder.field(highlightItem);
@@ -1601,6 +1648,10 @@ public class SearchCenterServiceImpl implements SearchCenterService {
HighlightBuilder hiBuilder=new HighlightBuilder();
HighlightBuilder.Field highlightTitle = new HighlightBuilder.Field("title.keyword");
hiBuilder.field(highlightTitle);
HighlightBuilder.Field highlightUser = new HighlightBuilder.Field("textContent");
highlightUser.numOfFragments(1);
highlightUser.fragmentSize(100);
hiBuilder.field(highlightUser);
hiBuilder.preTags("<span class='highlight-Es-class'>");
hiBuilder.postTags("</span>");
updateIndex("fulltextserch");
@@ -1959,6 +2010,7 @@ public class SearchCenterServiceImpl implements SearchCenterService {
HighlightBuilder.Field highlightTitle = new HighlightBuilder.Field("title");
hiBuilder.field(highlightTitle);
HighlightBuilder.Field highlightUser = new HighlightBuilder.Field("textContent");
highlightUser.numOfFragments(3);
hiBuilder.field(highlightUser);
HighlightBuilder.Field highlightDate = new HighlightBuilder.Field("issue_time");
hiBuilder.field(highlightDate);