Procházet zdrojové kódy

1、九恒星支付

wanghaiwu před 3 týdny
rodič
revize
48cbc4886d

+ 17 - 37
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/fi/cas/opplugin/PayBillToolUtil.java

@@ -7,18 +7,14 @@ import kd.bos.entity.EntityMetadataCache;
 import kd.bos.logging.Log;
 import kd.bos.logging.LogFactory;
 import kd.bos.orm.query.QFilter;
-import kd.bos.sdk.util.KHttpClientUtils;
 import kd.bos.servicehelper.BusinessDataServiceHelper;
-
 import java.io.*;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.sql.Timestamp;
 import java.util.*;
-
 import kd.bos.servicehelper.operation.OperationServiceHelper;
 import kd.bos.servicehelper.operation.SaveServiceHelper;
-import nckd.base.helper.CommonHelperUtils;
 import org.json.JSONArray;
 import org.json.JSONObject;
 
@@ -385,6 +381,7 @@ public class PayBillToolUtil {
         //获取接口链接等信息
         DynamicObject jkpzxx = BusinessDataServiceHelper.loadSingle("nckd_jkpzxx", new QFilter[]{new QFilter("number", "=", "paytoJHX")});
         String url = jkpzxx.getString("nckd_servername");
+        boolean isESBApi = jkpzxx.getBoolean("nckd_isesb");
 
         for (DynamicObject dataEntity : billEntities) {
             boolean isSuccess = false;//是否成功标识
@@ -453,13 +450,15 @@ public class PayBillToolUtil {
             Map<String, String> header = new HashMap<>();
             header.put("Content-Type", "application/json; charset=UTF-8");
 
-            String bodyString = buildEsbApiBodyJSON(new JSONObject(qjjson));
+            //如果是esb接口,需要包一层参数
+            if(isESBApi) {
+                qjjson = buildEsbApiBodyJSON(new JSONObject(qjjson));
+            }
+
             String apiResult = "";
             try {
-                apiResult = KHttpClientUtils.postjson(url, header, bodyString);
+                apiResult = HttpUtils.postjson(url, header, qjjson);
             } catch (IOException e) {
-//                throw new RuntimeException(e);
-
                 errMsg.append("单据号:").append(billNum).append(",推送资金系统失败,");
                 errMsg.append("错误号:").append("XXXXXXX");
                 errMsg.append(",错误原因:").append("接口无法连通,未获取到返回结果");
@@ -480,18 +479,7 @@ public class PayBillToolUtil {
             //存入日志表
             saveAgentlog(payBillEntity, qjjson, apiResult, "1");
 
-            JSONObject apiResultJSON = new JSONObject(apiResult);
-            if(apiResultJSON.get("responseData") == null || apiResultJSON.getJSONArray("responseData").length() == 0){
-                errMsg.append("单据号:").append(billNum).append(",推送资金系统失败,");
-                errMsg.append("错误号:").append("XXXXXXX");
-                errMsg.append(",错误原因:").append("接口无法连通,未获取到返回结果");
-                errMsg.append("\r\n");
-
-                return errMsg.toString();
-            }
-
-            JSONObject cbsReturnJson = apiResultJSON.getJSONArray("responseData").getJSONObject(0);
-
+            JSONObject cbsReturnJson = new JSONObject(apiResult);
             /************************************************************/
 
             if (cbsReturnJson == null) {
@@ -559,6 +547,8 @@ public class PayBillToolUtil {
         DynamicObject jkpzxx = BusinessDataServiceHelper.loadSingle("nckd_jkpzxx", new QFilter[]{new QFilter("number", "=", "paytoJHX")});
 
         String url = jkpzxx.get("nckd_servername") + "";
+        boolean isESBApi = jkpzxx.getBoolean("nckd_isesb");
+
         for (DynamicObject dataEntity : billEntities) {
             boolean isSuccess = false;
             boolean isZFQZ = true;
@@ -675,13 +665,15 @@ public class PayBillToolUtil {
             Map<String, String> header = new HashMap<>();
             header.put("Content-Type", "application/json; charset=UTF-8");
 
-            String bodyString = buildEsbApiBodyJSON(new JSONObject(qjjson));
+            //如果是esb接口,需要包一层参数
+            if(isESBApi) {
+                qjjson = buildEsbApiBodyJSON(new JSONObject(qjjson));
+            }
+
             String apiResult = "";
             try {
-                apiResult = KHttpClientUtils.postjson(url, header, bodyString);
+                apiResult = HttpUtils.postjson(url, header, qjjson);
             } catch (IOException e) {
-//                throw new RuntimeException(e);
-
                 errMsg.append("单据号:").append(billNum).append(",推送资金系统失败,");
                 errMsg.append("错误号:").append("XXXXXXX");
                 errMsg.append(",错误原因:").append("接口无法连通,未获取到返回结果");
@@ -702,21 +694,9 @@ public class PayBillToolUtil {
             //存入日志表
             savelog(payBillEntity, qjjson, apiResult);
 
-            JSONObject apiResultJSON = new JSONObject(apiResult);
-            if(apiResultJSON.get("responseData") == null || apiResultJSON.getJSONArray("responseData").length() == 0){
-                errMsg.append("单据号:").append(billNum).append(",推送资金系统失败,");
-                errMsg.append("错误号:").append("XXXXXXX");
-                errMsg.append(",错误原因:").append("接口无法连通,未获取到返回结果");
-                errMsg.append("\r\n");
-
-                return errMsg.toString();
-            }
-
-            JSONObject cbsReturnJson = apiResultJSON.getJSONArray("responseData").getJSONObject(0);
-
+            JSONObject cbsReturnJson = new JSONObject(apiResult);
             /************************************************************/
 
-
             if (cbsReturnJson == null) {
                 isSuccess = false;
                 errMsg.append("单据号:").append(billNum).append(",推送资金系统失败,");