From d97c5223b68df0153cef2180b9256d6916c5414d Mon Sep 17 00:00:00 2001 From: ludc Date: 星期四, 07 三月 2024 11:35:04 +0800 Subject: [PATCH] 集成相关更改 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java | 10 +- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java | 171 ++---------------------------------------- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/gennerAttrMapUtil.java | 7 + Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java | 15 +++ 4 files changed, 35 insertions(+), 168 deletions(-) diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java index 8b576fc..bd9f7d9 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java @@ -78,6 +78,21 @@ return null; } + /** + * 浠巑ap涓幏鍙栧�硷紝骞朵笖鍙互蹇界暐澶у皬鍐� + * @param map + * @param key + * @return + */ + public static String getMapStrValueIgnoreCase(Map<String, String> map,String key){ + for (Map.Entry<String, String> entry : map.entrySet()) { + if (entry.getKey().equalsIgnoreCase(key)) { + return entry.getValue(); + } + } + return null; + } + public static String getPk() { return String.valueOf(getPKLong(1,1)); } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java index 0289569..d21f912 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java @@ -908,9 +908,8 @@ DockingSystemConfig dockingSystemConfig = dockingSystemConfigService.getById(systeminfooid); String paramType = dockingSystemConfig.getParamType();//xml/json if(paramType.equals(DATATYPE_JSON)){ - // Object object = JSONObject.toJSON(jsonRootDataDTO); - // sendString = object.toString(); - sendString = jsonRootDataDTO; + Object object = JSONObject.toJSON(jsonRootDataDTO); + sendString = object; }else{ //缁勭粐杩斿洖鎺ュ彛淇℃伅 XStream xStream = new XStream(new DomDriver()); @@ -936,7 +935,7 @@ for (DockingTask dockingTask:dockingTaskS){ //姣忎釜task涓�涓簨鍔★紝寮�鍚� String paramString=""; - String sendObject=""; + Object sendString=""; String backString=""; try { //鏌ヨ绯荤粺鎺ュ彛淇℃伅,ip method,dataType @@ -1010,16 +1009,17 @@ String paramType = dockingSystemConfig.getParamType();//xml/json if (paramType.equals(DATATYPE_JSON)) { Object object = JSONObject.toJSON(nodeJosnDTO); - sendObject = object.toString(); + //sendString = object.toString(); + sendString = object; } else { //缁勭粐杩斿洖鎺ュ彛淇℃伅 XStream xStream = new XStream(new DomDriver()); xStream.processAnnotations(NodedataDTO.class); xStream.autodetectAnnotations(true); - sendObject = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" + xStream.toXML(nodeDataDTO); + sendString = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" + xStream.toXML(nodeDataDTO); } //璋冪敤鎺ュ彛 - callInterface(sendObject,dockingSystemConfig, dockingTask,"pushData"); + callInterface(sendString,dockingSystemConfig, dockingTask,"pushData"); }catch (Throwable e){ e.printStackTrace(); }finally { @@ -1037,7 +1037,7 @@ private void callInterface(Object sendObject, DockingSystemConfig dockingSystemConfig,DockingTask dockingTask,String operation) throws Throwable{ String paramString = ""; String backString = ""; - String sendString = dockingSystemConfig.getContentType().equals(DATATYPE_JSON) ? JSONObject.toJSON(sendObject).toString():sendObject.toString(); + String sendString = sendObject.toString(); String msg= "" ; String url = dockingSystemConfig.getRequestUrl();//url List<ResultNodeObjectDTO> resultNodeObjectDTOS =new ArrayList<>(); @@ -1079,160 +1079,7 @@ for (DockingSysIntHeader dockingSysIntHeader : dockingSysIntHeaderList) { headers.add(dockingSysIntHeader.getHeaderKey(), dockingSysIntHeader.getHeaderValue()); } - backString = HttpUtils.postByMediaType(url, params, headers,new MediaType(dockingSystemConfig.getContentType())); - } - if(backString.startsWith("\"")){ - backString=backString.substring(backString.indexOf("\"")+1); - } - if(backString.endsWith("\"")){ - backString=backString.substring(0,backString.lastIndexOf("\"")); - } - if(backString.contains("\n")){ - String res="\n"; - backString= backString.replaceAll(res,""); - } - if(backString.contains("\\")){ - String res="\\\\\""; - backString= backString.replaceAll(res,"\"").trim(); - } - }else if (type.equals(URLTYPE_WEBSERVICE)) {//webserver璇锋眰 - MultiValueMap<String, String> params = new LinkedMultiValueMap<>(); - for (DockingSysIntParam dockingSysIntParam : dockingSysIntParamList) { - params.add(dockingSysIntParam.getParamKey(), dockingSysIntParam.getParamValue()); - } - - paramString = sendString; - MultiValueMap<String, String> headers = new LinkedMultiValueMap<>(); - for (DockingSysIntHeader dockingSysIntHeader : dockingSysIntHeaderList) { - headers.add(dockingSysIntHeader.getHeaderKey(), dockingSysIntHeader.getHeaderValue()); - } - backString = WsErpClientUtil.sendMsg(url, namespace, soapaction, interfaceFunction, targName, sendString, 10000); - - } else {//corba鎺ュ彛 - //paramString=sendString; - // backString = jacorbClient.getBOFactoryService().sendCode(sendString); - } - - ResultJsonDTO resultJsonDTO = new ResultJsonDTO(); - if(returnType.equals(DATATYPE_JSON)){ - resultJsonDTO =JSONObject.toJavaObject(JSONObject.parseObject(backString), ResultJsonDTO.class); - }else { - //缁勭粐杩斿洖鎺ュ彛淇℃伅 - XStream xStream = new XStream(new DomDriver()); - xStream.processAnnotations(ResultNodeDataDTO.class); - xStream.autodetectAnnotations(true); - ResultNodeDataDTO resultNodeDataDTO = (ResultNodeDataDTO) xStream.fromXML(backString); - resultJsonDTO.setData(resultNodeDataDTO); - } - ResultNodeDataDTO resultNodeDataDTO=resultJsonDTO.getData(); - resultNodeObjectDTOS=resultNodeDataDTO.getObject(); - }catch (Throwable e){ - msg="璋冪敤鎺ュ彛澶辫触:"+e.getMessage(); - e.printStackTrace(); - log.error("璋冪敤鎺ュ彛澶辫触:"+e); - // throw new Throwable("璋冪敤鎺ュ彛澶辫触:"+e); - ResultNodeObjectDTO resultNodeObjectDTO=new ResultNodeObjectDTO(); - resultNodeObjectDTO.setErroid("1"); - resultNodeObjectDTO.setMsg(msg); - resultNodeObjectDTO.setCode(dockingSystemConfig.getPushType().equalsIgnoreCase("2")?dockingTask.getClassifyId():dockingTask.getId()); - resultNodeObjectDTO.setItemid(dockingTask.getBtmOid()); - resultNodeObjectDTOS.add(resultNodeObjectDTO); - }finally { - boolean isSend = false; - for (ResultNodeObjectDTO resultNodeObjectDTO:resultNodeObjectDTOS){ - String erroid = resultNodeObjectDTO.getErroid(); - msg = resultNodeObjectDTO.getMsg(); - if("0".equals(erroid)){ - isSend = true; - }else if("1".equals(erroid)){ - isSend=false; - }else{ - isSend=false; - } - DockingLog dockingLogeDO = new DockingLog(); - String oid=VciBaseUtil.getPk(); - dockingLogeDO.setOid(oid); - dockingLogeDO.setSystemCode(dockingTask.getSystemCode()); - dockingLogeDO.setSystemName(dockingTask.getSystemName()); - dockingLogeDO.setSystemOid(dockingTask.getSystemOid()); - dockingLogeDO.setClassifyOid(dockingTask.getClassifyOid()); - dockingLogeDO.setClassifyId(dockingTask.getClassifyId()); - dockingLogeDO.setClassifyName(dockingTask.getClassifyName()); - dockingLogeDO.setCreateTime(new Date()); - dockingLogeDO.setId(dockingTask.getId()); - dockingLogeDO.setUniqueCode(dockingTask.getUniqueCode()); - dockingLogeDO.setParamString(paramString); - dockingLogeDO.setReturnString(backString); - dockingLogeDO.setInterfaceStatus(isSend?"true":"false"); - dockingLogeDO.setType(operation); - dockingLogeDO.setMsg(msg); - log.error("闆嗘垚鎺ㄩ�佹暟鎹�,systemcode:"+dockingTask.getSystemCode()+",systemname:"+dockingTask.getSystemName()+",url:"+url+",param:"+paramString+",e:"+msg); - dockingLogeService.save(dockingLogeDO); - } - //鍏ㄩ兘鎺ユ敹鎴愬姛鐨勬儏鍐典笅,淇敼dockingtask sendflag涓哄凡鍙戦�� - if(isSend) { - dockingTask.setSendFlag(MdmDuckingConstant.SEND_FLAG_TRUE); - dockingTask.setLastModifyTime(new Date()); - dockingTaskService.updateById(dockingTask); - } - } - } - - /** - * 璋冪敤鎺ュ彛锛屼紶鍙備负JSON鏃朵紶object绫诲瀷 - * @param sendObject - * @param dockingSystemConfig - * @param dockingTask - * @param operation - * @throws Throwable - */ - private void callInterfaceByContentType(Object sendObject, DockingSystemConfig dockingSystemConfig,DockingTask dockingTask,String operation,String sendType) throws Throwable{ - String paramString = ""; - String sendString = sendType.equals(DATATYPE_JSON) ? JSONObject.toJSON(sendObject).toString():sendObject.toString(); - String backString = ""; - String msg=""; - String url = dockingSystemConfig.getRequestUrl();//url - List<ResultNodeObjectDTO> resultNodeObjectDTOS =new ArrayList<>(); - try { - boolean usedFlag= dockingSystemConfig.getUsedFlag().equals("true")?true:false; - if(!usedFlag){ - throw new Throwable("鎺ュ彛宸茬粡鍋滅敤锛�"); - } - String type = dockingSystemConfig.getInterfaceType().toLowerCase(Locale.ROOT);//get/post/webserver/corba - String paramType = dockingSystemConfig.getParamType();//xml/json - String returnType = dockingSystemConfig.getReturnType();//xml/json - String requestmethod= dockingSystemConfig.getRequestMethod(); - String interfaceFunction = dockingSystemConfig.getInterfaceFunction();//涓昏鏄痺ebservice鐨勬柟娉曞悕 - String namespace = dockingSystemConfig.getNamespace();//namespace - String soapaction = dockingSystemConfig.getSoapAction();//soapaction - String targName = dockingSystemConfig.getTargetName();//targName - String cxfaxis = dockingSystemConfig.getCxfAxis();//webservice鏄痗xf/axis - //鏌ヨparam - List<DockingSysIntParam> dockingSysIntParamList = dockingSysIntParamService.list(Wrappers.<DockingSysIntParam>query().lambda().eq(DockingSysIntParam::getInfoOid,dockingSystemConfig.getOid())); - //鏌ヨheader - List<DockingSysIntHeader> dockingSysIntHeaderList = dockingSysIntHeaderService.list(Wrappers.<DockingSysIntHeader>query().lambda().eq(DockingSysIntHeader::getInfoOid,dockingSystemConfig.getOid())); - if(type.equals(URLTYPE_HTTP)) { - if (requestmethod.equals(URLTYPE_GET)) {//GET璇锋眰 - String sendurl = url + "?" + DATA_PARAM_NAME + "=" + sendString; - //鎷兼帴param - for (DockingSysIntParam dockingSysIntParam : dockingSysIntParamList) { - sendurl = sendurl + "&" + dockingSysIntParam.getParamKey() + "=" + dockingSysIntParam.getParamValue(); - } - paramString = sendurl; - backString = HttpUtils.get(sendurl); - } else if (requestmethod.equals(URLTYPE_POST)) {//POST璇锋眰 - MultiValueMap<String, Object> params = new LinkedMultiValueMap<>(); - for (DockingSysIntParam dockingSysIntParam : dockingSysIntParamList) { - params.add(dockingSysIntParam.getParamKey(), dockingSysIntParam.getParamValue()); - } - params.add(DATA_PARAM_NAME,sendObject); - paramString = params.toString(); - MultiValueMap<String, String> headers = new LinkedMultiValueMap<>(); - for (DockingSysIntHeader dockingSysIntHeader : dockingSysIntHeaderList) { - headers.add(dockingSysIntHeader.getHeaderKey(), dockingSysIntHeader.getHeaderValue()); - } - // TODO: 2024-02-25鏀癸紝涓轰簡婊¤冻HR浠ュ強鍏朵粬鎯呭喌涓嬫牴鎹瓹ontent-type鐨勭被鍨嬫潵鍙戣姹傦紝骞朵笖param涓殑json鏄渶鍚庣殑鏃跺�欏彂閫佽姹傚啀杞� - backString = HttpUtils.postByMediaType(url, params, headers, MediaType.APPLICATION_FORM_URLENCODED); + backString = HttpUtils.postByMediaType(url, params, headers,MediaType.valueOf(dockingSystemConfig.getContentType())); } if(backString.startsWith("\"")){ backString=backString.substring(backString.indexOf("\"")+1); diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java index 30d7676..2af4b6c 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java @@ -2355,7 +2355,6 @@ return clientBusinessObjectList; } - private List<CodeOrderSecDTO> getRuleCodeOrderSecDTOsBZ(CodeRuleVO ruleVO,CodeClassifyFullInfoBO classifyFullInfo){ List<CodeBasicSecVO> codeBasicSecVOS= ruleVO.getSecVOList(); List<CodeOrderSecDTO> codeOrderSecDTOList=new ArrayList<>(); @@ -2367,7 +2366,6 @@ } return codeOrderSecDTOList; } - /*** * 鏍规嵁浼犲叆鐨勫弬鏁颁俊鎭牎楠岀爜娈佃鍒� @@ -2462,7 +2460,9 @@ e.printStackTrace(); throw new Throwable("闆嗘垚绯荤粺鏍囪瘑涓猴細銆�" + systemId + "銆戯紝鍒嗙被搴撲负:銆�" + libray + "銆戠殑闆嗘垚灞炴�ч厤缃枃浠惰鍙栧け璐�"); } - String path = stringStringMap.get(systemId); + // String path = stringStringMap.get(systemId); + // 蹇界暐key澶у皬鍐欙紝鑾峰彇閰嶇疆鐨勬槧灏勬枃浠惰矾寰� + String path = VciBaseUtil.getMapStrValueIgnoreCase(stringStringMap,systemId); if (!CollectionUtils.isEmpty(libraryClsfDOList)) { Map<String, List<ClsfAttrMappingDO>> libPropMaps = libraryClsfDOList.stream().collect(Collectors.toMap(LibraryClsfDO::getLibrary, LibraryClsfDO::getProp, (key1, key2) -> key2)); log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�" + libray + "浠庨厤缃枃浠朵腑鎵惧搴斿睘鎬ф槧灏勯厤缃�"); @@ -2587,7 +2587,9 @@ e.printStackTrace(); throw new Throwable("闆嗘垚绯荤粺鏍囪瘑涓猴細銆�" + systemId + "銆戯紝鍒嗙被搴撲负:銆�" + libray + "銆戠殑闆嗘垚灞炴�ч厤缃枃浠惰鍙栧け璐�"); } - String path = stringStringMap.get(systemId); + // String path = stringStringMap.get(systemId); + // 蹇界暐key澶у皬鍐欙紝鑾峰彇閰嶇疆鐨勬槧灏勬枃浠惰矾寰� + String path = VciBaseUtil.getMapStrValueIgnoreCase(stringStringMap,systemId); if (!CollectionUtils.isEmpty(libraryClsfDOList)) { Map<String, List<ClsfAttrMappingDO>> libPropMaps = libraryClsfDOList.stream().collect(Collectors.toMap(LibraryClsfDO::getLibrary, LibraryClsfDO::getProp, (key1, key2) -> key2)); log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�" + libray + "浠庨厤缃枃浠朵腑鎵惧搴斿睘鎬ф槧灏勯厤缃�"); diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/gennerAttrMapUtil.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/gennerAttrMapUtil.java index 8916bdc..b6b05d8 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/gennerAttrMapUtil.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/gennerAttrMapUtil.java @@ -6,9 +6,11 @@ import com.vci.ubcs.code.vo.webserviceModel.attrmap.LibraryDO; import com.vci.ubcs.code.webService.config.AttributeMapConfig; import com.vci.ubcs.starter.util.LocalFileUtil; +import com.vci.ubcs.starter.web.util.VciBaseUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import java.util.Locale; import java.util.Map; @Slf4j @@ -34,8 +36,9 @@ throw new Throwable("绯荤粺鏍囪瘑涓虹┖"); } LibraryDO rootDataVO=new LibraryDO(); - if(system_attrmap.containsKey(systemId)){ - String path=system_attrmap.get(systemId); + if(system_attrmap.containsKey(systemId.toLowerCase(Locale.ROOT)) || system_attrmap.containsKey(systemId.toUpperCase(Locale.ROOT))){ + //String path = system_attrmap.get(systemId); + String path = VciBaseUtil.getMapStrValueIgnoreCase(system_attrmap,systemId); log.info("绯荤粺鏍囪瘑->"+systemId+"锛涙枃浠跺睘鎬ч厤缃枃浠惰矾寰�->"+path); String attributeMapData= LocalFileUtil.readContentForFile(path); log.info("璇诲彇鍚庣殑灞炴�ф槧灏勫唴瀹�"+attributeMapData); -- Gitblit v1.9.3