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 d5a11fb7..61597413 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 @@ -241,25 +241,25 @@ public class SearchCenterServiceImpl implements SearchCenterService { sortField2 = "standYear"; sortField3 = "standSort.keyword"; } -// if("laws".equals(searchInfoEO.getSelectIndex())){ -// sortField1 = "lawsNumber"; -// sortField2 = "lawsYear"; -// sortField3 = "lawsType.keyword"; -// } else if("bussstand".equals(searchInfoEO.getSelectIndex())) { -// sortField1 = "putTime"; -// sortField2 = "standNumber"; -// sortField3 = "standYear"; -// sortField4 = "standSort.keyword"; -// } else if ("stand".equals(searchInfoEO.getSelectIndex())) { -// sortField1 = "SSRQ"; -// sortField2 = "standNumber"; -// sortField3 = "standYear"; -// sortField4 = "standSort.keyword"; -// } else { -// sortField1 = "standNumber"; -// sortField2 = "standYear"; -// sortField3 = "standSort.keyword"; -// } + if("laws".equals(searchInfoEO.getSelectIndex())){ + sortField1 = "lawsNumber"; + sortField2 = "lawsYear"; + sortField3 = "lawsType.keyword"; + } else if("bussstand".equals(searchInfoEO.getSelectIndex())) { + sortField1 = "put_time_data"; + sortField2 = "standNumber"; + sortField3 = "standYear"; + sortField4 = "standSort.keyword"; + } else if ("stand".equals(searchInfoEO.getSelectIndex())) { + sortField1 = "SSRQName"; + sortField2 = "standNumber"; + sortField3 = "standYear"; + sortField4 = "standSort.keyword"; + } else { + sortField1 = "standNumber"; + sortField2 = "standYear"; + sortField3 = "standSort.keyword"; + } // 国内海外查询标准体系字段由id变为文字 // if (StringUtils.isNotBlank(searchInfoEO.getStandSystem())) { @@ -307,11 +307,13 @@ public class SearchCenterServiceImpl implements SearchCenterService { searchRequestBuilder = client.prepareSearch(searchInfoEO.getSelectIndex()) .setSearchType(SearchType.DFS_QUERY_THEN_FETCH) .addSort(new ScoreSortBuilder().order(SortOrder.DESC)) + .addSort(sortField1, SortOrder.DESC) .addSort("standSortOrder", SortOrder.ASC) - .addSort(sortField1, SortOrder.ASC) - .addSort(sortField2, SortOrder.DESC) - .addSort(sortField3, SortOrder.ASC) + .addSort(sortField2, SortOrder.ASC) + .addSort(sortField3, SortOrder.DESC) + .addSort(sortField4, SortOrder.ASC) .addSort("issue_time_data", SortOrder.DESC) + .setFrom((searchInfoEO.getPage()-1) * searchInfoEO.getPageSize()) .setSize(searchInfoEO.getPageSize()); if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue())){ diff --git a/adc-da-slrs/src/main/java/com/adc/da/mq/SendBussMQService.java b/adc-da-slrs/src/main/java/com/adc/da/mq/SendBussMQService.java index c3321cf7..c2ee042c 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/mq/SendBussMQService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/mq/SendBussMQService.java @@ -121,6 +121,7 @@ public class SendBussMQService { }else{ saveMap.put("put_time_data",-1000000000000000000L); } + saveMap.put("warehousingTime",sdf.format(infoEO.getCreationTime())); // 入库时间 //查询字典表,形成Hash映射提升速度 List dicInfo = dicTypeEODao.getDicInfo("dic_id","dic_type_code", "dic_type_name","show_index"); diff --git a/adc-da-slrs/src/main/java/com/adc/da/mq/SendLawsMQService.java b/adc-da-slrs/src/main/java/com/adc/da/mq/SendLawsMQService.java index 18937562..f357daad 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/mq/SendLawsMQService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/mq/SendLawsMQService.java @@ -243,7 +243,9 @@ public class SendLawsMQService { // 动态存储属性字段 for (String field : fieldInfoList) { - saveMap.put(field,attrInfoMap.getOrDefault(field,"")); + Object fieldValueObj = attrInfoMap.getOrDefault(field,""); + saveMap.put(field,fieldValueObj); + String fieldValue = ""; String fieldFilter = field.toLowerCase(); if(infoMap.get(fieldFilter) != null && StringUtils.isNotBlank(infoMap.get(fieldFilter).toString())){ @@ -259,7 +261,12 @@ public class SendLawsMQService { fieldValue = fieldValue.replace("null",""); } } - saveMap.put(field+"Name",fieldValue); + if("SSRQ".equals(field)){ + saveMap.put(field+"Name",fieldValue.replace(" ","").replace("-","")); + }else{ + saveMap.put(field+"Name",fieldValue); + + } } if(infoEOMapItems != null && !infoEOMapItems.isEmpty()){ diff --git a/adc-da-slrs/src/main/java/com/adc/da/mq/SendStandMQService.java b/adc-da-slrs/src/main/java/com/adc/da/mq/SendStandMQService.java index 8c881c6c..197d402b 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/mq/SendStandMQService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/mq/SendStandMQService.java @@ -194,6 +194,8 @@ public class SendStandMQService { saveMap.put("validFlag","0"); saveMap.put("content",infoEO.getFileIds()); saveMap.put("CHJL",infoEO.getCHJL()); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + saveMap.put("warehousingTime",sdf.format(infoEO.getCreationTime())); // 入库时间 String fieldInfo = InitStandAttrUtil.queryField; List fieldInfoList = Arrays.asList(fieldInfo .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); 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 3ef873b1..eeb0c340 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 @@ -23,7 +23,9 @@ import com.adc.da.sys.constant.ValidFlagEnum; import com.adc.da.sys.entity.UserOrgEO; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import lombok.extern.log4j.Log4j; @@ -496,6 +498,7 @@ public class DataSyncServiceImpl implements IDataSyncService { } List addUserList = new ArrayList<>(); List upUserList = new ArrayList<>(); + Set syncUserIdSet = new HashSet<>(); for (String s : res) { JSONObject userData = JSONObject.parseObject(s); if(userData.containsKey("results")){ @@ -503,6 +506,7 @@ public class DataSyncServiceImpl implements IDataSyncService { jsonArray.forEach(object -> { JSONObject jsonObject = JSONObject.parseObject(object.toString()); String userid = jsonObject.getString("userid"); + syncUserIdSet.add(userid); TsUser userEO = tsUserService.getById(userid); String userState = ""; if(userEO != null){ @@ -566,6 +570,23 @@ public class DataSyncServiceImpl implements IDataSyncService { logger.debug("本次更新的用户为:"+JSONObject.toJSONString(upUserList)); tsUserService.updateBatchById(upUserList); } + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TsUser::getState,"1"); + wrapper.eq(TsUser::getValidFlag,"0"); + wrapper.eq(TsUser::getDisableFlag,"0"); + wrapper.select(TsUser::getUserId); + Set userIdDbList = tsUserService.list(wrapper).stream().map(TsUser::getUserId).collect(Collectors.toSet()); + userIdDbList.removeAll(syncUserIdSet); + logger.info("本次同步删除掉的用户有:"+userIdDbList); + if(!userIdDbList.isEmpty()){ + //删除数据库中不存在的用户 + LambdaUpdateWrapper wrapper1 = new LambdaUpdateWrapper<>(); + wrapper1.in(TsUser::getUserId,userIdDbList); + wrapper1.set(TsUser::getState,"0"); + wrapper1.set(TsUser::getValidFlag,"1"); + wrapper1.set(TsUser::getDisableFlag,"1"); + tsUserService.update(wrapper1); + } }else{ logger.info("本次获取用户的数据为空,原因有2种:1、没有同步数据 2、请求接口报错"); } diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarInstitution/TsInstitutionMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarInstitution/TsInstitutionMapper.xml index 4e26835d..4e72c69e 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarInstitution/TsInstitutionMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarInstitution/TsInstitutionMapper.xml @@ -47,8 +47,9 @@ @@ -96,7 +97,8 @@ from ts_user left join ts_institution ON ts_institution.id = (SELECT parent_id from ts_institution WHERE id = ts_user.INSTITUTION_ID) left join ts_institution t2 on t2.id=ts_user.INSTITUTION_ID - WHERE institution_id=#{institutionId} + WHERE ts_user.STATE = '1' and ts_user.VALID_FLAG = '0' and ts_user.DISABLE_FLAG = '0' + and institution_id=#{institutionId} and ( ts_user.ACCOUNT like concat(concat('%',#{userName}),'%') or ts_user.UNAME like concat(concat('%',#{userName}),'%') )