|
@@ -37,6 +37,7 @@ import org.springframework.stereotype.Service;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
+import java.util.stream.Stream;
|
|
|
|
|
|
/**
|
|
|
* @author mazq
|
|
@@ -107,7 +108,7 @@ public class ResourceServiceImpl extends BaseMybatisService<ServiceResource,Stri
|
|
|
if(CollectionUtils.isEmpty(list)){
|
|
|
return apps;
|
|
|
}
|
|
|
- setOrgIdsAndManIds(list);
|
|
|
+ setOrgsInfo(list);
|
|
|
List<Object> objects = batchInsertResource(list);
|
|
|
for (Object object : objects) {
|
|
|
ApplyInfo applyInfo = (ApplyInfo) object;
|
|
@@ -131,7 +132,7 @@ public class ResourceServiceImpl extends BaseMybatisService<ServiceResource,Stri
|
|
|
if(CollectionUtils.isEmpty(list)){
|
|
|
return services;
|
|
|
}
|
|
|
- setOrgIdsAndManIds(list);
|
|
|
+ setOrgsInfo(list);
|
|
|
List<Object> objects = batchInsertResource(list);
|
|
|
for (Object object : objects) {
|
|
|
ServiceResource service = (ServiceResource) object;
|
|
@@ -150,38 +151,42 @@ public class ResourceServiceImpl extends BaseMybatisService<ServiceResource,Stri
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 根据对方提供机构编码,承建单位编码,批量获取orgId和manufacturerId
|
|
|
+ * 根据对方提供机构编码,管理单位编码,批量获取id和name
|
|
|
* @param list
|
|
|
* @param <T> ResourceDTO
|
|
|
* @return
|
|
|
*/
|
|
|
- private <T extends ResourceDTO> List<T> setOrgIdsAndManIds(List<T> list) {
|
|
|
- //根据对方提供机构编码,承建单位编码,批量获取orgId和manufacturerId
|
|
|
- List<String> orgCodes = new ArrayList<>();
|
|
|
- for (ResourceDTO resourceDTO : list) {
|
|
|
- String buildUnitCode = resourceDTO.getBuildUnitCode();
|
|
|
- if(!StringUtils.isEmpty(buildUnitCode)){
|
|
|
- orgCodes.add(buildUnitCode);
|
|
|
- }
|
|
|
- }
|
|
|
- Map<String, String> orgIds = getOrgIds(orgCodes);
|
|
|
- for (ResourceDTO dto : list) {
|
|
|
- String orgId = orgIds.get(dto.getBuildUnitCode());
|
|
|
- dto.setBuildUnitId(orgId);
|
|
|
+ private <T extends ResourceDTO> List<T> setOrgsInfo(List<T> list) {
|
|
|
+ //根据对方提供机构编码,设置事权单位、管理单位信息
|
|
|
+ List<String> codes = list.stream()
|
|
|
+ .flatMap(item -> Stream.of(item.getManagerUnitCode(), item.getBuildUnitCode()))
|
|
|
+ .filter(s->StringUtils.isNotBlank(s))
|
|
|
+ .distinct()
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ Map<String, OrgInfo> orgInfoMap = getOrgInfos(codes);
|
|
|
+ for (T resource : list) {
|
|
|
+ String buildUnitCode = resource.getBuildUnitCode();
|
|
|
+ String managerUnitCode = resource.getManagerUnitCode();
|
|
|
+ setOrgIdAndName(resource, buildUnitCode, managerUnitCode, orgInfoMap);
|
|
|
}
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
- private Map<String, String> getOrgIds(List<String> list) {
|
|
|
+ private Map<String, OrgInfo> getOrgInfos(List<String> list) {
|
|
|
if(CollectionUtils.isEmpty(list)){
|
|
|
return new HashMap<>();
|
|
|
}
|
|
|
+ list = list
|
|
|
+ .stream()
|
|
|
+ .filter(s->StringUtils.isNotBlank(s))
|
|
|
+ .distinct()
|
|
|
+ .collect(Collectors.toList());
|
|
|
logger.info("get OrgIds by OrgCodes>> orgCodeList:{}",JSON.toJSONString(list));
|
|
|
List<OrgInfo> orgInfos = orgInfoFacade.getOrgsByCodes(list);
|
|
|
- Map<String, String> collect = orgInfos
|
|
|
+ Map<String, OrgInfo> collect = orgInfos
|
|
|
.stream()
|
|
|
- .collect(Collectors.toMap(OrgInfo::getCode, OrgInfo::getId,(old,last)->last));
|
|
|
- logger.info("get OrgIds by OrgCodes>> orgIdsList:{}",collect.values());
|
|
|
+ .collect(Collectors.toMap(item->item.getCode(), item->item,(old,last)->last));
|
|
|
+ logger.info("get OrgIds by OrgCodes>> orgIdsList:{}",collect.keySet());
|
|
|
return collect;
|
|
|
}
|
|
|
|
|
@@ -194,17 +199,20 @@ public class ResourceServiceImpl extends BaseMybatisService<ServiceResource,Stri
|
|
|
List<ResourceSync> menuList = resourceMap.get(ResourceTypeEnum.TJ_APP_MENU.getResourceId());
|
|
|
//插入应用资源
|
|
|
if(null!=appList){
|
|
|
- List<AppResourceDTO> apps = appList.stream().map(this::getAppResourceDTO).collect(Collectors.toList());
|
|
|
+ List<AppResourceDTO> apps = appList.stream().filter(item->StringUtils.isNotBlank(item.getAppCode()))
|
|
|
+ .map(this::getAppResourceDTO).collect(Collectors.toList());
|
|
|
batchInsertAppResource(apps);
|
|
|
}
|
|
|
//插入服务资源
|
|
|
if(null!=serviceList){
|
|
|
- List<ServiceResourceDTO> services = serviceList.stream().map(this::getServiceResourceDTO).collect(Collectors.toList());
|
|
|
+ List<ServiceResourceDTO> services = serviceList.stream().filter(item->StringUtils.isNotBlank(item.getServiceCode()))
|
|
|
+ .map(this::getServiceResourceDTO).collect(Collectors.toList());
|
|
|
batchInsertServiceResource(services);
|
|
|
}
|
|
|
//插入菜单目录
|
|
|
if(null!=menuList) {
|
|
|
- List<MenuResourceDTO> menus = menuList.stream().map(this::getMenuResourceDTOs)
|
|
|
+ List<MenuResourceDTO> menus = menuList.stream().filter(item->StringUtils.isNotBlank(item.getAppCode())).
|
|
|
+ map(this::getMenuResourceDTOs)
|
|
|
.flatMap(Collection::stream)
|
|
|
.collect(Collectors.toList());
|
|
|
batchInsertMenu(menus);
|
|
@@ -300,7 +308,8 @@ public class ResourceServiceImpl extends BaseMybatisService<ServiceResource,Stri
|
|
|
dto.setResourceProvider(resourceEnum.getResouProvider());
|
|
|
dto.setServiceCode(acceptDTO.getFWZYBSF());
|
|
|
dto.setServiceName(acceptDTO.getFWZYMC());
|
|
|
- dto.setBuildUnitCode(acceptDTO.getXXCZDW_GAJGJGDM());
|
|
|
+ dto.setBuildUnitCode(acceptDTO.getFWZYSQDW_JGDM());
|
|
|
+ dto.setManagerUnitCode(acceptDTO.getXXCZDW_GAJGJGDM());
|
|
|
dto.setServiceUrl(acceptDTO.getFWFWDZ());
|
|
|
String fwzyztdm = acceptDTO.getFWZYZTDM();
|
|
|
dto.setServiceStatus(fwzyztdm);
|
|
@@ -337,7 +346,8 @@ public class ResourceServiceImpl extends BaseMybatisService<ServiceResource,Stri
|
|
|
}
|
|
|
dto.setAppStatus(xtzybs);
|
|
|
dto.setAppUrl(acceptDTO.getYyxtfwdz());
|
|
|
- dto.setBuildUnitCode(acceptDTO.getYyxtgldwdm());
|
|
|
+ dto.setBuildUnitCode(acceptDTO.getYyxtsqdwdm());
|
|
|
+ dto.setManagerUnitCode(acceptDTO.getYyxtgldwdm());
|
|
|
dto.setContractUnit(acceptDTO.getYyxtcjdwmc());
|
|
|
dto.setDeleted(acceptDTO.getXtzxbs());
|
|
|
String sxrq = acceptDTO.getSxrq();
|
|
@@ -363,28 +373,44 @@ public class ResourceServiceImpl extends BaseMybatisService<ServiceResource,Stri
|
|
|
*/
|
|
|
private <T extends ResourceDTO> Object insertResource(T dto) {
|
|
|
//根据对方提供机构编码,承建单位编码,获取orgId和manufacturerId
|
|
|
- setOrgIdAndManId(dto);
|
|
|
+ setOrgInfo(dto);
|
|
|
Object resource = doInsert(dto);
|
|
|
return resource;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 根据对方提供机构编码,承建单位编码,获取orgId和manufacturerId
|
|
|
+ * 根据对方提供机构编码,管理单位单位编码,获取id和name
|
|
|
* @param dto ResourceDTO的子类
|
|
|
* @param <T>
|
|
|
* @return
|
|
|
*/
|
|
|
- private <T extends ResourceDTO> T setOrgIdAndManId(T dto) {
|
|
|
+ private <T extends ResourceDTO> T setOrgInfo(T dto) {
|
|
|
String buildUnitCode = dto.getBuildUnitCode();
|
|
|
- logger.info("get OrgInfo by OrgCode>>orgCode:{}",buildUnitCode);
|
|
|
- if (!StringUtils.isEmpty(buildUnitCode) && StringUtils.isEmpty(dto.getBuildUnitId())) {
|
|
|
- OrgInfo orgInfo = orgInfoFacade.getOrgInfoByCode(buildUnitCode);
|
|
|
- if (null != orgInfo) {
|
|
|
- dto.setBuildUnitId(orgInfo.getId());
|
|
|
- logger.info("get OrgInfo by OrgCode>>orgCode:{}",orgInfo.getId());
|
|
|
+ String managerUnitCode = dto.getManagerUnitCode();
|
|
|
+ logger.info("get OrgInfo by OrgCode>>orgCode:{}, managerUnitCode:{}",buildUnitCode,managerUnitCode);
|
|
|
+ List<String> list = new ArrayList<>();
|
|
|
+ list.add(buildUnitCode);
|
|
|
+ list.add(managerUnitCode);
|
|
|
+ Map<String, OrgInfo> orgInfoMap = getOrgInfos(list);
|
|
|
+ setOrgIdAndName(dto, buildUnitCode, managerUnitCode, orgInfoMap);
|
|
|
+ return dto;
|
|
|
+ }
|
|
|
+
|
|
|
+ private <T extends ResourceDTO> void setOrgIdAndName(T dto, String buildUnitCode, String managerUnitCode, Map<String, OrgInfo> orgInfoMap) {
|
|
|
+ if (StringUtils.isNotBlank(buildUnitCode)) {
|
|
|
+ OrgInfo buildOrg = orgInfoMap.get(buildUnitCode);
|
|
|
+ if (null != buildOrg) {
|
|
|
+ dto.setBuildUnit(buildOrg.getFullName());
|
|
|
+ dto.setBuildUnitId(buildOrg.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(buildUnitCode)) {
|
|
|
+ OrgInfo manageOrg = orgInfoMap.get(managerUnitCode);
|
|
|
+ if (null != manageOrg) {
|
|
|
+ dto.setManagerUnit(manageOrg.getFullName());
|
|
|
+ dto.setManagerUnitId(manageOrg.getId());
|
|
|
}
|
|
|
}
|
|
|
- return dto;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -392,7 +418,7 @@ public class ResourceServiceImpl extends BaseMybatisService<ServiceResource,Stri
|
|
|
* @param dto ResourceDTO
|
|
|
* @return
|
|
|
*/
|
|
|
- private Object doInsert(ResourceDTO dto) {
|
|
|
+ private <T extends ResourceDTO> Object doInsert(T dto) {
|
|
|
Object obj;
|
|
|
String resourceType = dto.getResourceId();
|
|
|
ResourceOperateStrategy operateStrategy = null;
|