ソースを参照

1、九恒星支付入参、回参格式解析调整

wanghaiwu 3 週間 前
コミット
0fefdaed2f

+ 45 - 4
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/fi/cas/opplugin/PayBillToolUtil.java

@@ -162,9 +162,9 @@ public class PayBillToolUtil {
             data.put("OP_ACNT_LIST", OP_ACNT_LIST);
             //结算方式
             if(info.getDynamicObject("settletype") != null) {
-                data.put("SETTLE_TYPE", info.getDynamicObject("settletype").getString("name"));
+                data.put("settletype", info.getDynamicObject("settletype").getString("name"));
             } else {
-                data.put("SETTLE_TYPE", "");
+                data.put("settletype", "");
             }
 
             //无用字段
@@ -492,7 +492,28 @@ public class PayBillToolUtil {
             //存入日志表
             saveAgentlog(payBillEntity, qjjson, apiResult, "1");
 
-            JSONObject cbsReturnJson = new JSONObject(apiResult);
+            JSONObject esbReturnJson = new JSONObject(apiResult);
+            if(esbReturnJson.get("responseData") == null){
+                errMsg.append("单据号:").append(billNum).append(",推送资金系统失败,");
+                errMsg.append("错误号:").append("XXXXXXX");
+                errMsg.append(",错误原因:").append("未正常返回responseData参数");
+                errMsg.append("\r\n");
+
+                return errMsg.toString();
+            }
+
+            JSONArray esbJSONArray = esbReturnJson.getJSONArray("responseData");
+            if(esbJSONArray == null || esbJSONArray.length() == 0){
+                errMsg.append("单据号:").append(billNum).append(",推送资金系统失败,");
+                errMsg.append("错误号:").append("XXXXXXX");
+                errMsg.append(",错误原因:").append("未正常返回responseData参数");
+                errMsg.append("\r\n");
+
+                return errMsg.toString();
+            }
+
+            JSONObject cbsReturnJson = esbJSONArray.getJSONObject(0);
+
             /************************************************************/
 
             if (cbsReturnJson == null) {
@@ -708,7 +729,27 @@ public class PayBillToolUtil {
             //存入日志表
             savelog(payBillEntity, qjjson, apiResult);
 
-            JSONObject cbsReturnJson = new JSONObject(apiResult);
+            JSONObject esbReturnJson = new JSONObject(apiResult);
+            if(esbReturnJson.get("responseData") == null){
+                errMsg.append("单据号:").append(billNum).append(",推送资金系统失败,");
+                errMsg.append("错误号:").append("XXXXXXX");
+                errMsg.append(",错误原因:").append("未正常返回responseData参数");
+                errMsg.append("\r\n");
+
+                return errMsg.toString();
+            }
+
+            JSONArray esbJSONArray = esbReturnJson.getJSONArray("responseData");
+            if(esbJSONArray == null || esbJSONArray.length() == 0){
+                errMsg.append("单据号:").append(billNum).append(",推送资金系统失败,");
+                errMsg.append("错误号:").append("XXXXXXX");
+                errMsg.append(",错误原因:").append("未正常返回responseData参数");
+                errMsg.append("\r\n");
+
+                return errMsg.toString();
+            }
+
+            JSONObject cbsReturnJson = esbJSONArray.getJSONObject(0);
             /************************************************************/
 
             if (cbsReturnJson == null) {

+ 15 - 1
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/fi/cas/task/AgentpaybillQueryStatusTast.java

@@ -81,7 +81,21 @@ public class AgentpaybillQueryStatusTast extends AbstractTask {
 
             log.info("单据号:" + billNum + "返回参数" + apiResult);
 
-            JSONObject cbsReturnJson = new JSONObject(apiResult);
+//            JSONObject cbsReturnJson = new JSONObject(apiResult);
+
+            JSONObject esbReturnJson = new JSONObject(apiResult);
+            if(esbReturnJson.get("responseData") == null){
+                log.info("单据号:" + billNum + ", 未正常返回responseData参数");
+                return;
+            }
+
+            JSONArray esbJSONArray = esbReturnJson.getJSONArray("responseData");
+            if(esbJSONArray == null || esbJSONArray.length() == 0){
+                log.info("单据号:" + billNum + ", 未正常返回responseData参数");
+                return;
+            }
+
+            JSONObject cbsReturnJson = esbJSONArray.getJSONObject(0);
             /************************************************************/
 
             log.info("单据号:"+billNum+"返回参数"+cbsReturnJson.toString());

+ 16 - 1
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/fi/cas/task/PayQueryStatusTast.java

@@ -12,6 +12,7 @@ import kd.bos.orm.query.QFilter;
 import kd.bos.schedule.executor.AbstractTask;
 import kd.bos.servicehelper.BusinessDataServiceHelper;
 import kd.bos.servicehelper.operation.SaveServiceHelper;
+import org.json.JSONArray;
 import org.json.JSONObject;
 
 import java.io.IOException;
@@ -77,7 +78,21 @@ public class PayQueryStatusTast extends AbstractTask {
 
             log.info("单据号:" + billNum + "返回参数" + apiResult);
 
-            JSONObject cbsReturnJson = new JSONObject(apiResult);
+//            JSONObject cbsReturnJson = new JSONObject(apiResult);
+
+            JSONObject esbReturnJson = new JSONObject(apiResult);
+            if(esbReturnJson.get("responseData") == null){
+                log.info("单据号:" + billNum + ", 未正常返回responseData参数");
+                return;
+            }
+
+            JSONArray esbJSONArray = esbReturnJson.getJSONArray("responseData");
+            if(esbJSONArray == null || esbJSONArray.length() == 0){
+                log.info("单据号:" + billNum + ", 未正常返回responseData参数");
+                return;
+            }
+
+            JSONObject cbsReturnJson = esbJSONArray.getJSONObject(0);
             /************************************************************/