From 8ccbd447be20b8ce77998fb46462facbe5e53554 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Tue, 10 Aug 2021 14:55:53 +0800 Subject: [PATCH] feat:There is no way the --- .../service/impl/SearchCenterServiceImpl.java | 37 ++++++++++- .../impl/StandLawsSearchServiceImpl.java | 6 +- .../adc/da/mq/service/SendStandMQService.java | 66 +++++++++++++++---- .../entity/SarStandardsInfo.java | 2 +- .../impl/SarStandardsInfoServiceImpl.java | 4 +- 5 files changed, 96 insertions(+), 19 deletions(-) diff --git a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java index c2677851..fa4f21b3 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java +++ b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java @@ -33,6 +33,8 @@ import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import java.text.SimpleDateFormat; import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import java.util.stream.Collectors; @Component @@ -91,13 +93,20 @@ public class SearchCenterServiceImpl implements SearchCenterService { QueryBuilder multiQueryBuilder; switch (searchInfoEO.getSelectIndex()){ case "stand": + if (isRqFormat(searchInfoEO.getSelectValue())) { + Long starttime = dateFormatToStr(searchInfoEO.getSelectValue()).getTime(); + Long endtime = dateFormatToStr(searchInfoEO.getSelectValue()).getTime(); + RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(ISSUE_TIME).format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true); + boolQueryShould.should(rangeQueryBuilder); + } boolQueryShould.should(QueryBuilders.wildcardQuery("standSort.keyword", "*"+searchInfoEO.getSelectValue()+"*")) .should(QueryBuilders.wildcardQuery("standNumber.keyword", "*"+searchInfoEO.getSelectValue()+"*")) .should(QueryBuilders.wildcardQuery("standYear.keyword", "*"+searchInfoEO.getSelectValue()+"*")) .should(QueryBuilders.wildcardQuery("stand_name.keyword", "*"+searchInfoEO.getSelectValue()+"*")) .should(QueryBuilders.wildcardQuery("standEnName.keyword", "*"+searchInfoEO.getSelectValue()+"*")) - .should(QueryBuilders.wildcardQuery("standNature.keyword", "*"+searchInfoEO.getSelectValue()+"*")) - .should(QueryBuilders.wildcardQuery("textStatus.keyword", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("standNatureName.keyword", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("textStatusName.keyword", "*"+searchInfoEO.getSelectValue()+"*")) + .should(QueryBuilders.wildcardQuery("isRelateAccessName.keyword", "*"+searchInfoEO.getSelectValue()+"*")) .should(QueryBuilders.wildcardQuery("numbershow.keyword", "*"+searchInfoEO.getSelectValue()+"*")) .should(QueryBuilders.wildcardQuery("content.keyword", "*"+searchInfoEO.getSelectValue()+"*")) .should(QueryBuilders.wildcardQuery("standSystem.keyword", "*"+searchInfoEO.getSelectValue()+"*")); @@ -205,6 +214,30 @@ public class SearchCenterServiceImpl implements SearchCenterService { return result; } + private Date dateFormatToStr(String dateStr){ + Date date = new Date(); + try { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + date = dateFormat.parse(dateStr.trim().substring(0,10)); + }catch (Exception e){ + e.getMessage(); + } + return date; + } + + public static boolean isRqFormat(String mes){ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + try { + if (mes.equals(sdf.format(sdf.parse(mes)))) { + return true; + } + }catch (Exception e){ + return false; + } + + return false; + } + /** * 自动匹配动态字段条件查询 ES * @param searchInfoEO diff --git a/adc-da-search/src/main/java/com/adc/da/search/service/impl/StandLawsSearchServiceImpl.java b/adc-da-search/src/main/java/com/adc/da/search/service/impl/StandLawsSearchServiceImpl.java index dde8aed7..fe9eca50 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/service/impl/StandLawsSearchServiceImpl.java +++ b/adc-da-search/src/main/java/com/adc/da/search/service/impl/StandLawsSearchServiceImpl.java @@ -152,10 +152,10 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService { contentBuilder.append("标准年份:").append(attrInfoMap.get("standYear")).append(" "); contentBuilder.append("标准名称:").append(attrInfoMap.get("standName")).append(" "); contentBuilder.append("标准英文名称:").append(attrInfoMap.get("standEnName")).append(" "); - contentBuilder.append("标准性质:").append(attrInfoMap.get("standNature")).append(" "); - contentBuilder.append("文本状态:").append(attrInfoMap.get("textStatus")).append(" "); + contentBuilder.append("标准性质:").append(attrInfoMap.get("standNatureName")).append(" "); + contentBuilder.append("文本状态:").append(attrInfoMap.get("textStatusName")).append(" "); contentBuilder.append("标准发布日期:").append(attrInfoMap.get("issueTime")).append(" "); - contentBuilder.append("是否纳入认证清单:").append(attrInfoMap.get("isRelateAccess")).append(" "); + contentBuilder.append("是否纳入认证清单:").append(attrInfoMap.get("isRelateAccessName")).append(" "); // 区分国内、海外 if (isForeign) { diff --git a/adc-da-slrs/src/main/java/com/adc/da/mq/service/SendStandMQService.java b/adc-da-slrs/src/main/java/com/adc/da/mq/service/SendStandMQService.java index f6660306..87e5343d 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/mq/service/SendStandMQService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/mq/service/SendStandMQService.java @@ -5,6 +5,7 @@ import com.adc.da.slrs.otSvpps.service.IOtSvppsService; import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo; import com.adc.da.slrs.sarStandardsInfo.service.ISarStandardsInfoService; import com.adc.da.slrs.sysInfo.service.SysInfoEOService; +import com.adc.da.sys.dao.DicTypeEODao; import com.adc.da.utils.util.InitStandAttrUtil; import com.rabbitmq.client.Channel; import net.sf.json.JSONObject; @@ -35,6 +36,9 @@ public class SendStandMQService { @Autowired private SysInfoEOService sysInfoEOService; + @Autowired + private DicTypeEODao dicTypeEODao; + @Autowired private IOtSvppsService otSvppsEOService; @@ -112,12 +116,45 @@ public class SendStandMQService { saveMap.put("standstateshow",codeName); } saveMap.put("issueTime",dateFormatToStr(infoEO.getIssueTime())); - + Date issue_time_data = null; + if (StringUtils.isNotBlank(infoEO.getIssueTime())) { + try { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + issue_time_data = format.parse(dateFormatToStr(infoEO.getIssueTime())+" 00:00:00"); + } catch (ParseException ignored) { + } + } + if (issue_time_data != null) { + saveMap.put("issue_time_data",issue_time_data.getTime()); + }else{ + saveMap.put("issue_time_data",-1000000000000000000L); + } + String standNatureName = ""; + if(infoEO.getStandNature() != null && StringUtils.isNotBlank(infoEO.getStandNature())){ + List valArr = Arrays.asList(infoEO.getStandNature().split(",")); + standNatureName = dicTypeEODao.getDicNamesByCodes(valArr); + } saveMap.put("standNature",infoEO.getStandNature()); + saveMap.put("standNatureName",standNatureName); saveMap.put("synopsis",infoEO.getSynopsis()); saveMap.put("standType",infoEO.getStandType()); + String textStatusName = ""; + if(infoEO.getTextStatus() != null && StringUtils.isNotBlank(infoEO.getTextStatus())){ + List valArr = Arrays.asList(infoEO.getTextStatus().split(",")); + textStatusName = dicTypeEODao.getDicNamesByCodes(valArr); + } saveMap.put("textStatus",infoEO.getTextStatus()); + saveMap.put("textStatusName",textStatusName); + String isRelateAccessName = ""; + if(infoEO.getIsRelateAccess() != null && StringUtils.isNotBlank(infoEO.getIsRelateAccess())){ + if(infoEO.getIsRelateAccess().equals("1")){ + isRelateAccessName = "是"; + }else { + isRelateAccessName = "否"; + } + } saveMap.put("isRelateAccess",infoEO.getIsRelateAccess()); + saveMap.put("isRelateAccessName",isRelateAccessName); saveMap.put("standSystem",infoEO.getStandSystem()); // 自定义属性字段 @@ -148,16 +185,18 @@ public class SendStandMQService { //当建立代替时,产生的没有文件的问题 if (StringUtils.isBlank(String.valueOf(saveMap.get("content")))) { - String context = String.valueOf(saveMap.get("FBGBJBD")) + "," - + String.valueOf(saveMap.get("XXZLXX")) + "," - + String.valueOf(saveMap.get("ZQYJG")) + "," - + String.valueOf(saveMap.get("BPG")) + "," - + String.valueOf(saveMap.get("CA")) + "," - + String.valueOf(saveMap.get("SSG")) + "," - + String.valueOf(saveMap.get("JDWJ")) + "," - + String.valueOf(saveMap.get("XGD")) + "," - + String.valueOf(saveMap.get("KWJ")) + "," - + String.valueOf(saveMap.get("ZBJBD")); + List list = new ArrayList<>(); + + String context = filterStringIsNotBlank(String.valueOf(saveMap.get("FBGBJBD")),true) + + filterStringIsNotBlank(String.valueOf(saveMap.get("XXZLXX")),true) + + filterStringIsNotBlank(String.valueOf(saveMap.get("ZQYJG")),true) + + filterStringIsNotBlank(String.valueOf(saveMap.get("BPG")),true) + + filterStringIsNotBlank(String.valueOf(saveMap.get("CA")),true) + + filterStringIsNotBlank(String.valueOf(saveMap.get("SSG")),true) + + filterStringIsNotBlank(String.valueOf(saveMap.get("JDWJ")),true) + + filterStringIsNotBlank(String.valueOf(saveMap.get("XGD")),true) + + filterStringIsNotBlank(String.valueOf(saveMap.get("KWJ")),true) + + filterStringIsNotBlank(String.valueOf(saveMap.get("ZBJBD")),false); context = context.replace(",,", ","); saveMap.put("content", context); } @@ -168,6 +207,11 @@ public class SendStandMQService { } } + private String filterStringIsNotBlank(String str,boolean boo){ + String f = ","; + return (str == null || str.equals("") || str.equals("null")) ? "" : (boo ? str+f : str); + } + private String dateFormatToStr(String dateStr){ if(dateStr == null || dateStr.equals("")){ return ""; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/entity/SarStandardsInfo.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/entity/SarStandardsInfo.java index d9b5d1c2..dfcf8fca 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/entity/SarStandardsInfo.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/entity/SarStandardsInfo.java @@ -119,7 +119,7 @@ public class SarStandardsInfo extends BaseEntity { @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") private Date modifyTime; - @ApiModelProperty(value = "是否纳入认证清单(0否 1是)") + @ApiModelProperty(value = "是否纳入认证清单(2否 1是)") @TableField("IS_RELATE_ACCESS") private String isRelateAccess; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java index ea59b101..2eaa3968 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java @@ -2103,14 +2103,14 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl keys = attrInfoMap.keySet(); for (String key:keys) { String value = String.valueOf(attrInfoMap.get(key)); - if (com.adc.da.util.utils.StringUtils.isNotBlank(value) && !"null".equals(value) && !"SVPPS".equals(key)){ + if (StringUtils.isNotBlank(value) && !"null".equals(value) && !"SVPPS".equals(key)){ value = value.replace(" , ",","); value = value.replace(","," , "); attrInfoMap.put(key,value); } } // 根据文件attid 读取文件内容 - if (org.apache.commons.lang.StringUtils.isNotEmpty(String.valueOf(attrInfoMap.get("content")))) { + if (StringUtils.isNotEmpty(String.valueOf(attrInfoMap.get("content")))) { String[] attidlist = String.valueOf(attrInfoMap.get("content")).split(" , "); StringBuilder content = new StringBuilder(""); for (int i = 0; i < attidlist.length; i++) {