瀏覽代碼

1、九恒星支付

wanghaiwu 3 周之前
父節點
當前提交
787f4974f9

+ 36 - 6
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/fi/cas/task/AgentpaybillQueryStatusTast.java

@@ -2,6 +2,8 @@ package fi.cas.task;
 
 import com.alibaba.druid.support.logging.Log;
 import com.alibaba.druid.support.logging.LogFactory;
+import com.kingdee.util.StringUtils;
+import fi.cas.opplugin.HttpUtils;
 import fi.cas.opplugin.PayBillToolUtil;
 import fi.cas.opplugin.TypeUtils;
 import fi.cas.opplugin.Utils;
@@ -17,10 +19,8 @@ import kd.bos.servicehelper.operation.SaveServiceHelper;
 import org.json.JSONArray;
 import org.json.JSONObject;
 
-import java.util.Date;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
+import java.io.IOException;
+import java.util.*;
 
 public class AgentpaybillQueryStatusTast extends AbstractTask {
     private static final Log log = LogFactory.getLog(AgentpaybillQueryStatusTast.class);
@@ -36,7 +36,7 @@ public class AgentpaybillQueryStatusTast extends AbstractTask {
         Map<Object, DynamicObject> payinfos  = BusinessDataServiceHelper.loadFromCache("cas_agentpaybill", new QFilter[] {filter});
         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 : payinfos.values()) {
             //调用接口查询付款状态
@@ -52,7 +52,37 @@ public class AgentpaybillQueryStatusTast extends AbstractTask {
             String bodyjson=param.toString();
             String billNum = dataEntity.getString("billno");
             log.info("单据号:"+billNum+"传入参数"+param.toString());
-            JSONObject cbsReturnJson =PayBillToolUtil.JHXServiceQuery(url,bodyjson);//待补充,超时返回参数待修改,整体待重构
+
+
+//            JSONObject cbsReturnJson =PayBillToolUtil.JHXServiceQuery(url,bodyjson);//待补充,超时返回参数待修改,整体待重构
+
+            /***************************************add by wanghaiwu 20225/05/24*************************************************************/
+            //改成调用restful ebs api的方式
+            Map<String, String> header = new HashMap<>();
+            header.put("Content-Type", "application/json; charset=UTF-8");
+
+            //如果是esb接口,需要包一层参数
+            if(isESBApi) {
+                bodyjson = PayBillToolUtil.buildEsbApiBodyJSON(new JSONObject(bodyjson));
+            }
+
+            String apiResult = "";
+            try {
+                apiResult = HttpUtils.postjson(url, header, bodyjson);
+            } catch (IOException e) {
+                log.info("单据号:" + billNum + "查询失败:" + e.getMessage());
+                continue;
+            }
+
+            if(StringUtils.isEmpty(apiResult)){
+                log.info("单据号:" + billNum + "查询结果为空");
+                continue;
+            }
+
+            log.info("单据号:" + billNum + "返回参数" + apiResult);
+
+            JSONObject cbsReturnJson = new JSONObject(apiResult);
+            /************************************************************/
 
             log.info("单据号:"+billNum+"返回参数"+cbsReturnJson.toString());
             if(cbsReturnJson==null||cbsReturnJson.get("data")==null){

+ 40 - 8
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/fi/cas/task/PayQueryStatusTast.java

@@ -2,6 +2,7 @@ package fi.cas.task;
 
 import com.alibaba.druid.support.logging.Log;
 import com.alibaba.druid.support.logging.LogFactory;
+import com.kingdee.util.StringUtils;
 import fi.cas.opplugin.*;
 import kd.bos.context.RequestContext;
 import kd.bos.dataentity.entity.DynamicObject;
@@ -13,10 +14,8 @@ import kd.bos.servicehelper.BusinessDataServiceHelper;
 import kd.bos.servicehelper.operation.SaveServiceHelper;
 import org.json.JSONObject;
 
-import java.util.Date;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
+import java.io.IOException;
+import java.util.*;
 
 public class PayQueryStatusTast extends AbstractTask {
     private static final Log log = LogFactory.getLog(PayQueryStatusTast.class);
@@ -32,7 +31,7 @@ public class PayQueryStatusTast extends AbstractTask {
         DynamicObject[] payinfos = BusinessDataServiceHelper.load("cas_paybill","billno,billstatus,nckd_paystatus,nckd_sbyy,nckd_fqqdrq,nckd_fkcs,nckd_bbh", new QFilter[] {filter});
         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 : payinfos) {
             //调用接口查询付款状态
@@ -43,12 +42,45 @@ public class PayQueryStatusTast extends AbstractTask {
             param.put("data",data);
             param.put("txDateTime",Utils.getData(new Date(), "yyyyMMddHHmmss"));
             param.put("batchNo",TypeUtils.nullToString(dataEntity.get("billno"))+"-"+TypeUtils.nullToString(dataEntity.get("nckd_bbh"))+"-"+Utils.getData(new Date(), "yyyyMMddHHmmss"));
-            param.put("code","NSTC-Q001");
+            param.put("code","JY-NSTC-Q001");
 
-            String bodyjson=param.toString();
+            String bodyjson = param.toString();
             String billNum = dataEntity.getString("billno");
+
             log.info("单据号:"+billNum+"传入参数"+param.toString());
-            JSONObject cbsReturnJson =PayBillToolUtil.JHXServiceQuery(url,bodyjson);//待补充,超时返回参数待修改,整体待重构
+
+
+//            JSONObject cbsReturnJson = PayBillToolUtil.JHXServiceQuery(url, bodyjson);//待补充,超时返回参数待修改,整体待重构
+
+            /***************************************add by wanghaiwu 20225/05/24*************************************************************/
+            //改成调用restful ebs api的方式
+            Map<String, String> header = new HashMap<>();
+            header.put("Content-Type", "application/json; charset=UTF-8");
+
+            //如果是esb接口,需要包一层参数
+            if(isESBApi) {
+                bodyjson = PayBillToolUtil.buildEsbApiBodyJSON(new JSONObject(bodyjson));
+            }
+
+            String apiResult = "";
+            try {
+                apiResult = HttpUtils.postjson(url, header, bodyjson);
+            } catch (IOException e) {
+                log.info("单据号:" + billNum + "查询失败:" + e.getMessage());
+                continue;
+            }
+
+            if(StringUtils.isEmpty(apiResult)){
+                log.info("单据号:" + billNum + "查询结果为空");
+                continue;
+            }
+
+            log.info("单据号:" + billNum + "返回参数" + apiResult);
+
+            JSONObject cbsReturnJson = new JSONObject(apiResult);
+            /************************************************************/
+
+
             log.info("单据号:"+billNum+"返回参数"+cbsReturnJson.toString());
             if(cbsReturnJson==null||cbsReturnJson.get("data")==null){
             }else{