From e2377d2e5089d5349e8c858f1043359d95976899 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 07 三月 2024 11:35:52 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java | 175 +++-------------------------------------------------------
1 files changed, 9 insertions(+), 166 deletions(-)
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 9864832..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
@@ -72,11 +72,7 @@
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.annotation.Resource;
-import javax.jws.WebMethod;
import javax.servlet.http.HttpServletRequest;
-import javax.xml.ws.WebServiceContext;
-import javax.xml.ws.handler.MessageContext;
-import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.atomic.AtomicReference;
@@ -912,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());
@@ -940,7 +935,7 @@
for (DockingTask dockingTask:dockingTaskS){
//姣忎釜task涓�涓簨鍔★紝寮�鍚�
String paramString="";
- String sendObject="";
+ Object sendString="";
String backString="";
try {
//鏌ヨ绯荤粺鎺ュ彛淇℃伅,ip method,dataType
@@ -1014,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 {
@@ -1041,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<>();
@@ -1083,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);
--
Gitblit v1.9.3