From 577c6c5a829f72f71f604a634f52f8631e0e44d1 Mon Sep 17 00:00:00 2001 From: zhangyanduan Date: Thu, 2 Jun 2022 14:08:09 +0800 Subject: [PATCH 1/9] =?UTF-8?q?fix:=20=E5=9F=BA=E7=A1=80=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=A2=9E=E5=8A=A0=E4=BA=8B=E5=8A=A1=E6=8E=A7?= =?UTF-8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/adc/da/scheduled/ScheduledSync.java | 2 +- .../DataSync/service/IDataSyncService.java | 4 +- .../service/impl/DataSyncServiceImpl.java | 244 +++++++++++------- 3 files changed, 148 insertions(+), 102 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/scheduled/ScheduledSync.java b/adc-da-slrs/src/main/java/com/adc/da/scheduled/ScheduledSync.java index 14248747..97f81da3 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/scheduled/ScheduledSync.java +++ b/adc-da-slrs/src/main/java/com/adc/da/scheduled/ScheduledSync.java @@ -27,7 +27,7 @@ public class ScheduledSync { @Scheduled(cron="0 0 2 * * ?") @Async - public void syncSchedulingTasks() throws Exception { + public void syncSchedulingTasks() { iDataSyncService.orgDataSync(); //时间短 iDataSyncService.dataSync(); //时间长 } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/DataSync/service/IDataSyncService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/DataSync/service/IDataSyncService.java index 555eb715..986f24ed 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/DataSync/service/IDataSyncService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/DataSync/service/IDataSyncService.java @@ -2,7 +2,7 @@ package com.adc.da.slrs.DataSync.service; public interface IDataSyncService { - public String dataSync() throws Exception; + public String dataSync(); - public String orgDataSync() throws Exception; + public String orgDataSync(); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/DataSync/service/impl/DataSyncServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/DataSync/service/impl/DataSyncServiceImpl.java index 74c1c951..b945c3da 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/DataSync/service/impl/DataSyncServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/DataSync/service/impl/DataSyncServiceImpl.java @@ -1,5 +1,6 @@ package com.adc.da.slrs.DataSync.service.impl; +import com.adc.da.login.util.UserUtils; import com.adc.da.slrs.DataSync.service.IDataSyncService; import com.adc.da.slrs.sarInstitution.entity.TsInstitution; import com.adc.da.slrs.sarInstitution.service.ITsInstitutionService; @@ -12,8 +13,13 @@ import com.adc.da.sys.entity.UserOrgEO; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; +import lombok.extern.log4j.Log4j; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; import java.sql.Timestamp; import java.util.*; @@ -29,77 +35,80 @@ public class DataSyncServiceImpl implements IDataSyncService { @Autowired ITsInstitutionService tsInstitutionService; + private static Logger logger = LoggerFactory.getLogger(DataSyncServiceImpl.class); + @Transactional(rollbackFor = {RuntimeException.class,Exception.class}) @Override - public String dataSync() throws Exception { - SyncUserService syncUserService = new SyncUserService(); - List res = syncUserService.syncFotonUser(); - //存放岗位信息 - Map positionMap = new HashMap<>(); - Map useDistinct = new HashMap<>(); - TsPosition position = new TsPosition(); - position.setCurrent(1); - position.setPageSize(100000); - IPage iPage = tsPositionService.getPosition(position); - List positions=iPage.getRecords(); - if (!positions.isEmpty()) { - positions.forEach(tsPosition -> { - positionMap.put(tsPosition.getName(), tsPosition.getId()); - }); - } + public String dataSync(){ + try{ + SyncUserService syncUserService = new SyncUserService(); + List res = syncUserService.syncFotonUser(); + //存放岗位信息 + Map positionMap = new HashMap<>(); + Map useDistinct = new HashMap<>(); + TsPosition position = new TsPosition(); + position.setCurrent(1); + position.setPageSize(100000); + IPage iPage = tsPositionService.getPosition(position); + List positions=iPage.getRecords(); + if (!positions.isEmpty()) { + positions.forEach(tsPosition -> { + positionMap.put(tsPosition.getName(), tsPosition.getId()); + }); + } - /** - * 得到数据时,删除系统表中所有用户信息 - */ - if (res.size()>0){ - tsUserService.deleteUser(); - } - for (String s : res) { - //获取到所有用户数据 - List tsUsers = new ArrayList<>(); + /** + * 得到数据时,删除系统表中所有用户信息 + */ + if (res.size()>0){ + tsUserService.deleteUser(); + } + for (String s : res) { + //获取到所有用户数据 + List tsUsers = new ArrayList<>(); - JSONArray jsonArray = JSONArray.parseArray(JSONObject.parseObject(s.toString()).getString("results")); - jsonArray.forEach(object -> { - JSONObject jsonObject = JSONObject.parseObject(object.toString()); - //先获取岗位以及岗位id - TsUser tsUser = new TsUser(); - UserOrgEO userOrgEO = new UserOrgEO(); - //设置岗位 - if (null != jsonObject.getString("title")) { - //通过岗位名称查询系统表中是否有岗位,有则设定用户的岗位为系统中的岗位,否则新增 - if (null == positionMap.get(jsonObject.getString("title"))) { - TsPosition tsPosition = new TsPosition(); - tsPosition.setId(String.valueOf(UUID.randomUUID())); - tsPosition.setName(jsonObject.getString("title")); - tsPositionService.addPosition(tsPosition); - //放入岗位的map集合中 - positionMap.put(tsPosition.getName(), tsPosition.getId()); - //放入类中 - tsUser.setPositionName(tsPosition.getName()); - tsUser.setPositionId(tsPosition.getId()); - } else { - tsUser.setPositionName(jsonObject.getString("title").trim()); - tsUser.setPositionId(positionMap.get(jsonObject.getString("title").trim())); + JSONArray jsonArray = JSONArray.parseArray(JSONObject.parseObject(s.toString()).getString("results")); + jsonArray.forEach(object -> { + JSONObject jsonObject = JSONObject.parseObject(object.toString()); + //先获取岗位以及岗位id + TsUser tsUser = new TsUser(); + UserOrgEO userOrgEO = new UserOrgEO(); + //设置岗位 + if (null != jsonObject.getString("title")) { + //通过岗位名称查询系统表中是否有岗位,有则设定用户的岗位为系统中的岗位,否则新增 + if (null == positionMap.get(jsonObject.getString("title"))) { + TsPosition tsPosition = new TsPosition(); + tsPosition.setId(String.valueOf(UUID.randomUUID())); + tsPosition.setName(jsonObject.getString("title")); + tsPositionService.addPosition(tsPosition); + //放入岗位的map集合中 + positionMap.put(tsPosition.getName(), tsPosition.getId()); + //放入类中 + tsUser.setPositionName(tsPosition.getName()); + tsUser.setPositionId(tsPosition.getId()); + } else { + tsUser.setPositionName(jsonObject.getString("title").trim()); + tsUser.setPositionId(positionMap.get(jsonObject.getString("title").trim())); + } } - } - //设置其他数据 - Timestamp createTime = new Timestamp(new Date().getTime()); - tsUser.setState(jsonObject.getString("userStatus")); - tsUser.setUname(null!=jsonObject.getString("name")?jsonObject.getString("name"):""); - tsUser.setValidFlag("0"); - tsUser.setDisableFlag("0"); - tsUser.setCreationTime(createTime); - tsUser.setUserId(jsonObject.getString("userid")); - tsUser.setAccount(jsonObject.getString("userid")); - tsUser.setInstitutionId(null!=jsonObject.getString("orgNumber")?jsonObject.getString("orgNumber"):"" ); - tsUser.setInstitutionName(null!=jsonObject.getString("orgName")?jsonObject.getString("orgName"):"" ); - //2022-05-23:用户同步增加状态标识,将停用的用户过滤掉 - if (null == useDistinct.get(jsonObject.getString("userid")) && "1".equals(jsonObject.getString("userStatus"))) { - tsUsers.add(tsUser); + //设置其他数据 + Timestamp createTime = new Timestamp(new Date().getTime()); + tsUser.setState(jsonObject.getString("userStatus")); + tsUser.setUname(null!=jsonObject.getString("name")?jsonObject.getString("name"):""); + tsUser.setValidFlag("0"); + tsUser.setDisableFlag("0"); + tsUser.setCreationTime(createTime); + tsUser.setUserId(jsonObject.getString("userid")); + tsUser.setAccount(jsonObject.getString("userid")); + tsUser.setInstitutionId(null!=jsonObject.getString("orgNumber")?jsonObject.getString("orgNumber"):"" ); + tsUser.setInstitutionName(null!=jsonObject.getString("orgName")?jsonObject.getString("orgName"):"" ); + //2022-05-23:用户同步增加状态标识,将停用的用户过滤掉 + if (null == useDistinct.get(jsonObject.getString("userid")) && "1".equals(jsonObject.getString("userStatus"))) { + tsUsers.add(tsUser); - } + } // //测试数据删除 // if (! "anbin".equals(jsonObject.getString("userid"))){ @@ -113,12 +122,12 @@ public class DataSyncServiceImpl implements IDataSyncService { // // } // } - useDistinct.put(tsUser.getUserId(),tsUser.getUserId()); - }); - tsUserService.saveBatch(tsUsers); - } + useDistinct.put(tsUser.getUserId(),tsUser.getUserId()); + }); + tsUserService.saveBatch(tsUsers); + } - //测试数据添加 + //测试数据添加 // TsUser addUser = new TsUser(); // addUser.setState("FFFFFFF"); // addUser.setUname("zhaokaiyao"); @@ -132,42 +141,79 @@ public class DataSyncServiceImpl implements IDataSyncService { // // List addUserList = Arrays.asList(addUser); // tsUserService.saveBatch(addUserList); + + }catch(Exception e){ + logger.error(e.getMessage(),e); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + } return "1"; + } - - public String orgDataSync() throws Exception { - SyncUserService syncUserService = new SyncUserService(); - List res = syncUserService.syncFotonOrg(); - - //获取到所有用户数据 - List strings=new ArrayList<>(); - - tsInstitutionService.clearData(); - for (String s : res) { - JSONArray jsonArray = JSONArray.parseArray(JSONObject.parseObject(s.toString()).getString("results")); - jsonArray.forEach(object -> { - JSONObject jsonObject = JSONObject.parseObject(object.toString()); - strings.add(jsonObject.getString("parentOrgNumber")); - }); - } - for (String s : res) { - List tsInstitutions = new ArrayList<>(); - JSONArray jsonArray = JSONArray.parseArray(JSONObject.parseObject(s.toString()).getString("results")); - jsonArray.forEach(object -> { - JSONObject jsonObject = JSONObject.parseObject(object.toString()); - TsInstitution tsInstitution=new TsInstitution(); - tsInstitution.setId(jsonObject.getString("orgNumber")); - tsInstitution.setName(jsonObject.getString("orgName")); - tsInstitution.setHasChild(strings.contains(jsonObject.getString("orgNumber"))?"1":"0"); - tsInstitution.setParentId(jsonObject.getString("parentOrgNumber")); - //部门为"null"的数据不保存 - if (!"null".equals(jsonObject.getString("orgName"))){ - tsInstitutions.add(tsInstitution); + @Transactional(rollbackFor = {RuntimeException.class,Exception.class}) + public String orgDataSync(){ + try{ + SyncUserService syncUserService = new SyncUserService(); + List res = syncUserService.syncFotonOrg(); + //获取到所有用户数据 + List strings=new ArrayList<>(); + //tsInstitutionService.clearData(); + for (String s : res) { + JSONArray jsonArray = JSONArray.parseArray(JSONObject.parseObject(s.toString()).getString("results")); + jsonArray.forEach(object -> { + JSONObject jsonObject = JSONObject.parseObject(object.toString()); + strings.add(jsonObject.getString("parentOrgNumber")); + }); + } + List allTsInstitutionList = tsInstitutionService.list(); + for (String s : res) { + List addTsInstitutionList = new ArrayList<>(); + List updateTsInstitutionList = new ArrayList<>(); + List delTsInstitutionList = new ArrayList<>(); + Set syncAllIdList = new HashSet<>(); + JSONArray jsonArray = JSONArray.parseArray(JSONObject.parseObject(s.toString()).getString("results")); + jsonArray.forEach(object -> { + JSONObject jsonObject = JSONObject.parseObject(object.toString()); + TsInstitution tsInstitution=new TsInstitution(); + tsInstitution.setId(jsonObject.getString("orgNumber")); + tsInstitution.setName(jsonObject.getString("orgName")); + tsInstitution.setHasChild(strings.contains(jsonObject.getString("orgNumber"))?"1":"0"); + tsInstitution.setParentId(jsonObject.getString("parentOrgNumber")); + //部门为"null"的数据不保存 + if (!"null".equals(jsonObject.getString("orgName"))){ + TsInstitution institution = tsInstitutionService.getById(tsInstitution.getId()); + if(institution!=null){ + updateTsInstitutionList.add(tsInstitution); + }else{ + addTsInstitutionList.add(tsInstitution); + } + syncAllIdList.add(tsInstitution.getId()); + } + }); + //遍历出来需要删除的数据 + for(TsInstitution data :allTsInstitutionList){ + if(!syncAllIdList.contains(data.getId())){ + delTsInstitutionList.add(data); + } } - }); - tsInstitutionService.saveBatch(tsInstitutions); + //需要新增的数据 + if(!addTsInstitutionList.isEmpty()){ + tsInstitutionService.saveBatch(addTsInstitutionList); + } + //需要更新的数据 + if(!updateTsInstitutionList.isEmpty()){ + tsInstitutionService.updateBatchById(updateTsInstitutionList); + } + //需要删除的数据 + if(!delTsInstitutionList.isEmpty()){ + tsInstitutionService.updateBatchById(delTsInstitutionList); + } + + } + }catch(Exception e){ + logger.error(e.getMessage(),e); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); } return "1"; } From 692907904dd907b55d9125b886d4d0401f6b32dd Mon Sep 17 00:00:00 2001 From: zhangyanduan Date: Thu, 2 Jun 2022 14:10:01 +0800 Subject: [PATCH 2/9] =?UTF-8?q?mybatisPlus=20=E5=A2=9E=E5=8A=A0=E4=B9=90?= =?UTF-8?q?=E8=A7=82=E9=94=81=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/adc/da/main/config/MybatisPlusConfig.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/adc-da-main/src/main/java/com/adc/da/main/config/MybatisPlusConfig.java b/adc-da-main/src/main/java/com/adc/da/main/config/MybatisPlusConfig.java index 0ca71a89..58a5bb65 100644 --- a/adc-da-main/src/main/java/com/adc/da/main/config/MybatisPlusConfig.java +++ b/adc-da-main/src/main/java/com/adc/da/main/config/MybatisPlusConfig.java @@ -1,5 +1,6 @@ package com.adc.da.main.config; +import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor; import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; import org.mybatis.spring.annotation.MapperScan; import org.springframework.context.annotation.Bean; @@ -19,4 +20,14 @@ public class MybatisPlusConfig { return new PaginationInterceptor(); } + /*** + * 增加乐观锁机制 + * @return + */ + @Bean + public OptimisticLockerInterceptor optimisticLockerInterceptor(){ + return new OptimisticLockerInterceptor(); + } + + } From d7da01a447a3d01677c21ff4137968b7aabaf6b5 Mon Sep 17 00:00:00 2001 From: zhangyanduan Date: Thu, 2 Jun 2022 14:53:11 +0800 Subject: [PATCH 3/9] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DBUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DataSyncServiceImpl.java | 77 ++++++++++--------- .../SarMenuStandardNewServiceNewImpl.java | 2 +- .../service/impl/TsResourceServiceImpl.java | 2 +- 3 files changed, 41 insertions(+), 40 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/DataSync/service/impl/DataSyncServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/DataSync/service/impl/DataSyncServiceImpl.java index b945c3da..1ad2f235 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/DataSync/service/impl/DataSyncServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/DataSync/service/impl/DataSyncServiceImpl.java @@ -167,49 +167,50 @@ public class DataSyncServiceImpl implements IDataSyncService { }); } List allTsInstitutionList = tsInstitutionService.list(); + List addTsInstitutionList = new ArrayList<>(); + List updateTsInstitutionList = new ArrayList<>(); + List delTsInstitutionList = new ArrayList<>(); + Set syncAllIdList = new HashSet<>(); for (String s : res) { - List addTsInstitutionList = new ArrayList<>(); - List updateTsInstitutionList = new ArrayList<>(); - List delTsInstitutionList = new ArrayList<>(); - Set syncAllIdList = new HashSet<>(); JSONArray jsonArray = JSONArray.parseArray(JSONObject.parseObject(s.toString()).getString("results")); - jsonArray.forEach(object -> { - JSONObject jsonObject = JSONObject.parseObject(object.toString()); - TsInstitution tsInstitution=new TsInstitution(); - tsInstitution.setId(jsonObject.getString("orgNumber")); - tsInstitution.setName(jsonObject.getString("orgName")); - tsInstitution.setHasChild(strings.contains(jsonObject.getString("orgNumber"))?"1":"0"); - tsInstitution.setParentId(jsonObject.getString("parentOrgNumber")); - //部门为"null"的数据不保存 - if (!"null".equals(jsonObject.getString("orgName"))){ - TsInstitution institution = tsInstitutionService.getById(tsInstitution.getId()); - if(institution!=null){ - updateTsInstitutionList.add(tsInstitution); - }else{ - addTsInstitutionList.add(tsInstitution); + if(jsonArray!=null){ + jsonArray.forEach(object -> { + JSONObject jsonObject = JSONObject.parseObject(object.toString()); + TsInstitution tsInstitution=new TsInstitution(); + tsInstitution.setId(jsonObject.getString("orgNumber")); + tsInstitution.setName(jsonObject.getString("orgName")); + tsInstitution.setHasChild(strings.contains(jsonObject.getString("orgNumber"))?"1":"0"); + tsInstitution.setParentId(jsonObject.getString("parentOrgNumber")); + //部门为"null"的数据不保存 + if (!"null".equals(jsonObject.getString("orgName"))){ + TsInstitution institution = tsInstitutionService.getById(tsInstitution.getId()); + if(institution!=null){ + updateTsInstitutionList.add(tsInstitution); + }else{ + addTsInstitutionList.add(tsInstitution); + } + syncAllIdList.add(tsInstitution.getId()); } - syncAllIdList.add(tsInstitution.getId()); - } - }); - //遍历出来需要删除的数据 - for(TsInstitution data :allTsInstitutionList){ - if(!syncAllIdList.contains(data.getId())){ - delTsInstitutionList.add(data); - } + }); } - //需要新增的数据 - if(!addTsInstitutionList.isEmpty()){ - tsInstitutionService.saveBatch(addTsInstitutionList); + } + //遍历出来需要删除的数据 + for(TsInstitution data :allTsInstitutionList){ + if(!syncAllIdList.contains(data.getId())){ + delTsInstitutionList.add(data); } - //需要更新的数据 - if(!updateTsInstitutionList.isEmpty()){ - tsInstitutionService.updateBatchById(updateTsInstitutionList); - } - //需要删除的数据 - if(!delTsInstitutionList.isEmpty()){ - tsInstitutionService.updateBatchById(delTsInstitutionList); - } - + } + //需要新增的数据 + if(!addTsInstitutionList.isEmpty()){ + tsInstitutionService.saveBatch(addTsInstitutionList); + } + //需要更新的数据 + if(!updateTsInstitutionList.isEmpty()){ + tsInstitutionService.updateBatchById(updateTsInstitutionList); + } + //需要删除的数据 + if(!delTsInstitutionList.isEmpty()){ + tsInstitutionService.updateBatchById(delTsInstitutionList); } }catch(Exception e){ logger.error(e.getMessage(),e); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/service/impl/SarMenuStandardNewServiceNewImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/service/impl/SarMenuStandardNewServiceNewImpl.java index d287cb43..175233dd 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/service/impl/SarMenuStandardNewServiceNewImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/service/impl/SarMenuStandardNewServiceNewImpl.java @@ -47,7 +47,7 @@ public class SarMenuStandardNewServiceNewImpl extends ServiceImpl Date: Thu, 2 Jun 2022 16:40:25 +0800 Subject: [PATCH 4/9] =?UTF-8?q?feat:=20There=20is=20no=20way=20the,=20?= =?UTF-8?q?=E5=8A=A8=E6=80=81=E6=B6=88=E6=81=AF=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/NewsFeedController.java | 17 +++- .../adc/da/slrs/NewsFeed/entity/NewsFeed.java | 2 + .../NewsFeed/service/INewsFeedService.java | 1 - .../impl/SarBussionessStandServiceImpl.java | 81 +++++++++++++++ .../impl/SarStandardsInfoServiceImpl.java | 99 ++++++++++++++++++- 5 files changed, 196 insertions(+), 4 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/NewsFeed/controller/NewsFeedController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/NewsFeed/controller/NewsFeedController.java index f881d013..8941bf7f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/NewsFeed/controller/NewsFeedController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/NewsFeed/controller/NewsFeedController.java @@ -20,6 +20,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.ArrayList; import java.util.List; /** @@ -38,13 +39,25 @@ public class NewsFeedController extends BaseController { @GetMapping("/getNewsFeed") public ResponseMessage> NewFeedPage(NewsFeedPage page){ IPage iPage = new Page<>(); + iPage.setCurrent(page.getPage()); iPage.setSize(page.getPageSize()); - iPage.setTotal(page.getPage()); + List list = new ArrayList<>(); + if("GNWBZFG".equals(page.getMessageType())){ + list.add("hc99551723c"); + }else if("ZYBZFG".equals(page.getMessageType())){ + list.add("hya6gay4vx"); + list.add("8rjsx83ows"); + list.add("ncb6osftj8"); + list.add("3dx7oy5jff"); + }else if("QYBZFB".equals(page.getMessageType())){ + list.add("6jnqba2mby"); + } QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq(StringUtils.isNotEmpty(page.getStandardId()),"STANDARD_ID",page.getStandardId()); queryWrapper.eq(StringUtils.isNotEmpty(page.getStandardName()),"STANDARD_NAME",page.getStandardName()); queryWrapper.eq("MESSAGE_TYPE",page.getMessageType()); - queryWrapper.orderByDesc("UPDATE_TIME"); + queryWrapper.in("TEXT_STATE",list); + queryWrapper.orderByDesc("RENEW_TIME"); IPage newsFeedList = newsFeedService.page(iPage,queryWrapper); return Result.success(newsFeedList); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/NewsFeed/entity/NewsFeed.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/NewsFeed/entity/NewsFeed.java index 41837032..20badbaf 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/NewsFeed/entity/NewsFeed.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/NewsFeed/entity/NewsFeed.java @@ -3,6 +3,7 @@ package com.adc.da.slrs.NewsFeed.entity; import com.adc.da.base.entity.BaseEntity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -59,5 +60,6 @@ public class NewsFeed extends BaseEntity { @TableField("RENEW_TIME") @ApiModelProperty(value = "更新时间") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") private Date renewTime; } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/NewsFeed/service/INewsFeedService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/NewsFeed/service/INewsFeedService.java index fd4b7b97..13a878c9 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/NewsFeed/service/INewsFeedService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/NewsFeed/service/INewsFeedService.java @@ -9,7 +9,6 @@ import org.springframework.stereotype.Service; * @Date: 2022/5/23 0023 15:01 * @Version 1.0 */ -@Service public interface INewsFeedService extends IService { int insertNewsFeed(NewsFeed newsFeed); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java index 63a74ddf..96a67174 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java @@ -18,6 +18,8 @@ import com.adc.da.person.service.IPersonCollectEOService; import com.adc.da.search.entity.SarBussionessStandEO; import com.adc.da.search.entity.StandLawsEO; import com.adc.da.search.service.StandLawsSearchService; +import com.adc.da.slrs.NewsFeed.entity.NewsFeed; +import com.adc.da.slrs.NewsFeed.service.INewsFeedService; import com.adc.da.slrs.otConvertMq.dao.OtConvertMqDao; import com.adc.da.slrs.otConvertMq.entity.OtConvertMq; import com.adc.da.slrs.sarBussStandAttrInfo.dao.SarBussStandAttrInfoDao; @@ -155,6 +157,9 @@ public class SarBussionessStandServiceImpl extends ServiceImpl newMap = new HashMap<>(); + Map oldMap = beforeSarStandardsInfo.getAttrInfoMap(); + String attrStr = sarStandardsInfoEO.getSarStandAttrEOStr(); + if (org.apache.commons.lang3.StringUtils.isNotBlank(attrStr)) { + newMap = JSONObject.fromObject(attrStr); + } + + // 发布稿 + List fbgNew = Arrays.stream(newMap.getOrDefault("FBGBJBD", "").toString().split(",")) + .map(String::trim).collect(Collectors.toList()); + + List fbgOld = Arrays.stream(oldMap.getOrDefault("FBGBJBD", "").toString().split(",")) + .map(String::trim).collect(Collectors.toList()); + // 取差集 判断是否有新的发布稿 + List filterDisunityFbg = fbgNew.stream() + .filter(item -> !new ArrayList<>(fbgOld) + .contains(item)) + .collect(Collectors.toList()); + + // 在研稿件 + String strUsNew = newMap.getOrDefault("CA", "").toString()+ + ","+newMap.getOrDefault("GLWJ", "").toString()+ + ","+newMap.getOrDefault("XGD", "").toString()+ + ","+newMap.getOrDefault("BPG", "").toString()+ + ","+newMap.getOrDefault("ZQYJG", "").toString()+ + ","+newMap.getOrDefault("SSG", "").toString()+ + ","+newMap.getOrDefault("JDWJ", "").toString()+ + ","+newMap.getOrDefault("KWJ", "").toString()+ + ","+newMap.getOrDefault("XDB", "").toString()+ + ","+newMap.getOrDefault("ZBJBD", "").toString(); + String strUsOld = oldMap.getOrDefault("CA", "").toString()+ + ","+oldMap.getOrDefault("GLWJ", "").toString()+ + ","+oldMap.getOrDefault("XGD", "").toString()+ + ","+oldMap.getOrDefault("BPG", "").toString()+ + ","+oldMap.getOrDefault("ZQYJG", "").toString()+ + ","+oldMap.getOrDefault("SSG", "").toString()+ + ","+oldMap.getOrDefault("JDWJ", "").toString()+ + ","+oldMap.getOrDefault("KWJ", "").toString()+ + ","+oldMap.getOrDefault("XDB", "").toString()+ + ","+oldMap.getOrDefault("ZBJBD", "").toString(); + List usNew = Arrays.stream(strUsNew.split(",")) + .map(String::trim).collect(Collectors.toList()); + List usOld = Arrays.stream(strUsOld.split(",")) + .map(String::trim).collect(Collectors.toList()); + // 取差集 判断是否有新的在研稿件 + List filterDisunityUs = usNew.stream() + .filter(item -> !new ArrayList<>(usOld) + .contains(item)) + .collect(Collectors.toList()); + + // 0 发布稿件 新的文件数量 大于等于 在研稿件 就属于发布动态消息 则 为 1 在研 + if(filterDisunityFbg.size() >= filterDisunityUs.size()){ + saveNewFeed(sarStandardsInfoEO, "2"); + }else { + saveNewFeed(sarStandardsInfoEO, ""); + } + } + + private void saveNewFeed(SarBussionessStand sarStandardsInfoEO, String s) { + NewsFeed newsFeed = new NewsFeed(); + newsFeed.setId(UUIDUtils.randomUUID20()); + newsFeed.setRenewTime(new Date()); + newsFeed.setStandardId(sarStandardsInfoEO.getId()); + newsFeed.setResourceType("BUSINESS"); + newsFeed.setMessageType(s); + newsFeed.setStandard(verifyObj(sarStandardsInfoEO.getStandCode()).toString()); + newsFeed.setStandardName(verifyObj(sarStandardsInfoEO.getStandName()).toString()); + newsFeed.setReleaseDate(verifyObj(sarStandardsInfoEO.getIssueTime()).toString()); + // 企标 技术标准或产品标准走完流程 文本状态默认 发布状态 + newsFeed.setTextState("6jnqba2mby"); + iNewsFeedService.insertNewsFeed(newsFeed); + } + public void saveUpdateLog(SarBussionessStand sarStandardsInfoEO,SarBussionessStand beforeSarStandardsInfo) throws Exception{ Map newMap = new HashMap<>(); Map oldMap = beforeSarStandardsInfo.getAttrInfoMap(); 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 f605e2b0..32e0808e 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 @@ -4,6 +4,8 @@ import com.adc.da.att.dao.AttFileEODao; import com.adc.da.att.entity.AttFileEO; import com.adc.da.person.entity.StandInfo; import com.adc.da.person.entity.TsPersonCollect; +import com.adc.da.slrs.NewsFeed.entity.NewsFeed; +import com.adc.da.slrs.NewsFeed.service.INewsFeedService; import com.adc.da.slrs.regulations.dao.StandDataDao; import com.adc.da.slrs.regulations.entity.SearchStandContext; import com.adc.da.slrs.regulations.entity.StandData; @@ -105,11 +107,13 @@ import org.apache.poi.openxml4j.opc.OPCPackage; import org.apache.poi.poifs.filesystem.FileMagic; import org.apache.poi.xwpf.extractor.XWPFWordExtractor; import org.apache.poi.xwpf.usermodel.XWPFDocument; +import org.json.JSONArray; import org.json.JSONTokener; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; @@ -278,6 +282,10 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl 0 && InitStandAttrUtil.selectionFieldList.contains(name)) { if (StringUtils.isNotBlank(entry.getValue().toString())) { Object json = new JSONTokener(entry.getValue().toString()).nextValue(); - if (json instanceof org.json.JSONArray) { + if (json instanceof JSONArray) { valArr = com.alibaba.fastjson.JSONObject.parseArray(entry.getValue().toString(), String.class); } else { value = entry.getValue().toString(); @@ -1227,6 +1235,8 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl newMap = new HashMap<>(); + Map oldMap = beforeSarStandardsInfo.getAttrInfoMap(); + String attrStr = sarStandardsInfoEO.getSarStandAttrEOStr(); + if (StringUtils.isNotBlank(attrStr)) { + newMap = JSONObject.fromObject(attrStr); + } + + // 发布稿 + List fbgNew = Arrays.stream(newMap.getOrDefault("FBGBJBD", "").toString().split(",")) + .map(String::trim).collect(Collectors.toList()); + + List fbgOld = Arrays.stream(oldMap.getOrDefault("FBGBJBD", "").toString().split(",")) + .map(String::trim).collect(Collectors.toList()); + // 取差集 判断是否有新的发布稿 + List filterDisunityFbg = fbgNew.stream() + .filter(item -> !new ArrayList<>(fbgOld) + .contains(item)) + .collect(Collectors.toList()); + + filterDisunityFbg = filterDisunityFbg.stream().filter(s -> !s.equals("")).collect(Collectors.toList()); + // 在研稿件 + String strUsNew = newMap.getOrDefault("CA", "").toString()+ + ","+newMap.getOrDefault("GLWJ", "").toString()+ + ","+newMap.getOrDefault("XGD", "").toString()+ + ","+newMap.getOrDefault("BPG", "").toString()+ + ","+newMap.getOrDefault("ZQYJG", "").toString()+ + ","+newMap.getOrDefault("SSG", "").toString()+ + ","+newMap.getOrDefault("JDWJ", "").toString()+ + ","+newMap.getOrDefault("KWJ", "").toString()+ + ","+newMap.getOrDefault("XDB", "").toString()+ + ","+newMap.getOrDefault("ZBJBD", "").toString(); + String strUsOld = oldMap.getOrDefault("CA", "").toString()+ + ","+oldMap.getOrDefault("GLWJ", "").toString()+ + ","+oldMap.getOrDefault("XGD", "").toString()+ + ","+oldMap.getOrDefault("BPG", "").toString()+ + ","+oldMap.getOrDefault("ZQYJG", "").toString()+ + ","+oldMap.getOrDefault("SSG", "").toString()+ + ","+oldMap.getOrDefault("JDWJ", "").toString()+ + ","+oldMap.getOrDefault("KWJ", "").toString()+ + ","+oldMap.getOrDefault("XDB", "").toString()+ + ","+oldMap.getOrDefault("ZBJBD", "").toString(); + List usNew = Arrays.stream(strUsNew.split(",")) + .map(String::trim).collect(Collectors.toList()); + List usOld = Arrays.stream(strUsOld.split(",")) + .map(String::trim).collect(Collectors.toList()); + // 取差集 判断是否有新的在研稿件 + List filterDisunityUs = usNew.stream() + .filter(item -> !new ArrayList<>(usOld) + .contains(item)) + .collect(Collectors.toList()); + + filterDisunityUs = filterDisunityUs.stream().filter(s -> !s.equals("")).collect(Collectors.toList()); + + + // 0 发布稿件 新的文件数量 大于等于 在研稿件 就属于发布动态消息 则 为 1 在研 + if(filterDisunityFbg.size() >= filterDisunityUs.size()){ + saveNewFeed(sarStandardsInfoEO, "0"); + }else { + saveNewFeed(sarStandardsInfoEO, "1"); + } + + + + } + + private void saveNewFeed(SarStandardsInfo sarStandardsInfoEO, String s) { + NewsFeed newsFeed = new NewsFeed(); + newsFeed.setId(UUIDUtils.randomUUID20()); + newsFeed.setRenewTime(new Date()); + newsFeed.setStandardId(sarStandardsInfoEO.getId()); + newsFeed.setResourceType(verifyObj(sarStandardsInfoEO.getStandType()).toString()); + newsFeed.setMessageType(s); + String standard = ""; + if(StringUtils.isNotBlank(sarStandardsInfoEO.getStandYear())){ + standard = verifyObj(sarStandardsInfoEO.getStandSort()).toString() +" "+ verifyObj(sarStandardsInfoEO.getStandNumber()).toString()+"-"+verifyObj(sarStandardsInfoEO.getStandYear()).toString(); + }else { + standard = verifyObj(sarStandardsInfoEO.getStandSort()).toString() +" "+ verifyObj(sarStandardsInfoEO.getStandNumber()).toString(); + } + newsFeed.setStandard(standard); + newsFeed.setStandardName(verifyObj(sarStandardsInfoEO.getStandName()).toString()); + newsFeed.setReleaseDate(verifyObj(sarStandardsInfoEO.getIssueTime()).toString()); + newsFeed.setTextState(verifyObj(sarStandardsInfoEO.getTextStatus()).toString()); + iNewsFeedService.insertNewsFeed(newsFeed); + } + public void saveUpdateLog(SarStandardsInfo sarStandardsInfoEO, SarStandardsInfo beforeSarStandardsInfo) throws Exception { Map newMap = new HashMap<>(); Map oldMap = beforeSarStandardsInfo.getAttrInfoMap(); From 4573f62d7f568b8343b8774d85e34c8d85dce293 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Thu, 2 Jun 2022 16:51:07 +0800 Subject: [PATCH 5/9] =?UTF-8?q?feat:=20There=20is=20no=20way=20the,=20?= =?UTF-8?q?=E5=8A=A8=E6=80=81=E6=B6=88=E6=81=AF=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adc/da/slrs/NewsFeed/controller/NewsFeedController.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/NewsFeed/controller/NewsFeedController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/NewsFeed/controller/NewsFeedController.java index 8941bf7f..5141223e 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/NewsFeed/controller/NewsFeedController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/NewsFeed/controller/NewsFeedController.java @@ -56,7 +56,9 @@ public class NewsFeedController extends BaseController { queryWrapper.eq(StringUtils.isNotEmpty(page.getStandardId()),"STANDARD_ID",page.getStandardId()); queryWrapper.eq(StringUtils.isNotEmpty(page.getStandardName()),"STANDARD_NAME",page.getStandardName()); queryWrapper.eq("MESSAGE_TYPE",page.getMessageType()); - queryWrapper.in("TEXT_STATE",list); + if(StringUtils.isNotBlank(page.getMessageType())){ + queryWrapper.in("TEXT_STATE",list); + } queryWrapper.orderByDesc("RENEW_TIME"); IPage newsFeedList = newsFeedService.page(iPage,queryWrapper); return Result.success(newsFeedList); From 7cd5904c0505d13d301fc869017612daf402a984 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Mon, 6 Jun 2022 09:18:22 +0800 Subject: [PATCH 6/9] =?UTF-8?q?feat:=20There=20is=20no=20way=20the,=20?= =?UTF-8?q?=E5=8A=A8=E6=80=81=E6=B6=88=E6=81=AF=E5=BA=93=E8=A1=A8=E7=BB=93?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/sql/news_feed_动态消息表更新表结构.sql | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 doc/sql/news_feed_动态消息表更新表结构.sql diff --git a/doc/sql/news_feed_动态消息表更新表结构.sql b/doc/sql/news_feed_动态消息表更新表结构.sql new file mode 100644 index 00000000..1741f4d0 --- /dev/null +++ b/doc/sql/news_feed_动态消息表更新表结构.sql @@ -0,0 +1,33 @@ +/* +Navicat MySQL Data Transfer + +Source Server : 123.56.177.15_new_测试 +Source Server Version : 50736 +Source Host : 123.56.177.15:3306 +Source Database : foton_slrs_test2 + +Target Server Type : MYSQL +Target Server Version : 50736 +File Encoding : 65001 + +Date: 2022-06-02 12:17:37 +*/ + +SET FOREIGN_KEY_CHECKS=0; + +-- ---------------------------- +-- Table structure for news_feed +-- ---------------------------- +DROP TABLE IF EXISTS `news_feed`; +CREATE TABLE `news_feed` ( + `ID` varchar(50) CHARACTER SET utf8mb4 NOT NULL COMMENT 'ID', + `RESOURCE_TYPE` varchar(50) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '资源类型', + `MESSAGE_TYPE` varchar(50) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '消息类型', + `STANDARD_ID` varchar(50) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '标准类型', + `STANDARD` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '标准号', + `STANDARD_NAME` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '标准名称', + `RELEASE_DATE` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '发布日期', + `TEXT_STATE` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '文本状态', + `RENEW_TIME` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='动态消息表'; From 52fc8846b622091bdcbfcddfa739767cfeccbddf Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Mon, 6 Jun 2022 09:33:54 +0800 Subject: [PATCH 7/9] =?UTF-8?q?feat:=20There=20is=20no=20way=20the,=20bug?= =?UTF-8?q?=20#52893=20=E7=BC=BA=E5=B0=91=E4=BB=A3=E6=9B=BF=E6=A0=87?= =?UTF-8?q?=E5=87=86=E5=8F=B7=20=E8=A2=AB=E4=BB=A3=E6=9B=BF=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SarStandardsInfoServiceImpl.java | 5 +++++ 1 file changed, 5 insertions(+) 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 32e0808e..6896763d 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 @@ -1222,7 +1222,12 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl Date: Mon, 6 Jun 2022 10:22:25 +0800 Subject: [PATCH 8/9] feat: There is no way the, xxx --- .../adc/da/search/service/impl/SearchCenterServiceImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 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 9adcd241..da24e2bb 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 @@ -1333,9 +1333,9 @@ public class SearchCenterServiceImpl implements SearchCenterService { QueryBuilder multiQueryBuilder1; QueryBuilder queryBuilder1 = QueryBuilders.multiMatchQuery(""); if(StringUtils.isNotBlank(searchInfoEO.getSelectValue())){ - queryBuilder1 = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(), - "title" - ).minimumShouldMatch("100%").field("title",1000f); + queryBuilder1 = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue().toUpperCase(), + "sortTitle","numberTitle","yearOrder","nameTitle","title" + ).minimumShouldMatch("100%").field("sortTitle",1005f).field("numberTitle",1004f).field("yearOrder",1003f).field("nameTitle",1002f).field("title",1000f); boolQueryBuilder.must(queryBuilder1); } From 01a4a19a2fcde75f215c364e706867705c4d1f2d Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Mon, 6 Jun 2022 11:20:28 +0800 Subject: [PATCH 9/9] feat: There is no way the, XXX --- .../service/impl/SearchCenterServiceImpl.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 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 da24e2bb..457c91eb 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 @@ -1333,9 +1333,21 @@ public class SearchCenterServiceImpl implements SearchCenterService { QueryBuilder multiQueryBuilder1; QueryBuilder queryBuilder1 = QueryBuilders.multiMatchQuery(""); if(StringUtils.isNotBlank(searchInfoEO.getSelectValue())){ + if(searchInfoEO.getSelectValue().length() > 1){ + String str0 = searchInfoEO.getSelectValue().substring(0,1); + String Str1 = searchInfoEO.getSelectValue().substring(1,2); + String reg = ".*[0-9].*"; + Pattern pattern = Pattern.compile("^[a-zA-Z\\/]+$"); + if (pattern.matcher(str0).matches() && Str1.matches(reg)) { + String value = searchInfoEO.getSelectValue().replace(str0,str0+" "); + searchInfoEO.setSelectValue(value); + } + } + + queryBuilder1 = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue().toUpperCase(), - "sortTitle","numberTitle","yearOrder","nameTitle","title" - ).minimumShouldMatch("100%").field("sortTitle",1005f).field("numberTitle",1004f).field("yearOrder",1003f).field("nameTitle",1002f).field("title",1000f); + "title" + ).minimumShouldMatch("100%").field("title",1000f); boolQueryBuilder.must(queryBuilder1); }