EDZ 3 years ago
parent
commit
0f70997c3e
1 changed files with 46 additions and 31 deletions
  1. 46 31
      src/main/java/net/chenlin/dp/modules/api/controller/interfaceTest.java

+ 46 - 31
src/main/java/net/chenlin/dp/modules/api/controller/interfaceTest.java

@@ -2,14 +2,8 @@ package net.chenlin.dp.modules.api.controller;
 
 import com.dingtalk.api.DefaultDingTalkClient;
 import com.dingtalk.api.DingTalkClient;
-import com.dingtalk.api.request.OapiGettokenRequest;
-import com.dingtalk.api.request.OapiProcessinstanceGetRequest;
-import com.dingtalk.api.request.OapiProcessinstanceListidsRequest;
-import com.dingtalk.api.request.OapiSsoGettokenRequest;
-import com.dingtalk.api.response.OapiGettokenResponse;
-import com.dingtalk.api.response.OapiProcessinstanceGetResponse;
-import com.dingtalk.api.response.OapiProcessinstanceListidsResponse;
-import com.dingtalk.api.response.OapiSsoGettokenResponse;
+import com.dingtalk.api.request.*;
+import com.dingtalk.api.response.*;
 import com.taobao.api.ApiException;
 import net.chenlin.dp.common.utils.DateUtils;
 import net.chenlin.dp.common.utils.JSONUtils;
@@ -34,42 +28,58 @@ public class interfaceTest {
         /**
          * 获取企业内部应用的access_token
          */
-//        try {
-//            DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/gettoken");
-//            OapiGettokenRequest req = new OapiGettokenRequest();
-//            req.setHttpMethod("GET");
-//            req.setAppkey("ding1h54xhh2cyh90hgk");
-//            req.setAppsecret("EZMYVfZn_yBBj2Mr_qfZPtJvVErJqdQKVHQvHGk9s3LLuAZxdwAsqdnXIuSy6uVx");
-//            OapiGettokenResponse rsp = client.execute(req);
-//            System.out.println(rsp.getBody());
+    /*    try {
+            DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/gettoken");
+            OapiGettokenRequest req = new OapiGettokenRequest();
+            req.setHttpMethod("GET");
+            req.setAppkey("ding1h54xhh2cyh90hgk");
+            req.setAppsecret("EZMYVfZn_yBBj2Mr_qfZPtJvVErJqdQKVHQvHGk9s3LLuAZxdwAsqdnXIuSy6uVx");
+            OapiGettokenResponse rsp = client.execute(req);
 //            System.out.println(JSONUtils.jsonToMap(rsp.getBody()));
 //            System.out.println(toMap(rsp.getBody()).get("errcode"));
 
+            if(toMap(rsp.getBody()).get("errcode").equals("0")){
+                gettoken = (String) toMap(rsp.getBody()).get("access_token");
+
+            }else{
+                System.out.println("access_token获取失败");
+            }
+
+            System.out.println("access_token获取:"+gettoken);
 //            {"errcode":40096,"errmsg":"不合法的appKey或appSecret"}
 //            {errcode=40096, errmsg=不合法的appKey或appSecret}
-
+//
 //            {"errcode":0,"access_token":"00cf48fbfa5d302fa63e8d43360997b9","errmsg":"ok","expires_in":7200}
 //            {errcode=0, access_token=00cf48fbfa5d302fa63e8d43360997b9, errmsg=ok, expires_in=7200}
 
-//        } catch (ApiException | JSONException e) {
-//            e.printStackTrace();
-//        } catch (Exception e) {
-//            e.printStackTrace();
-//        }
+        } catch (ApiException | JSONException e) {
+            e.printStackTrace();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        //根据单据名称获取对应process_code
+        DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/process/get_by_name");
+        OapiProcessGetByNameRequest req = new OapiProcessGetByNameRequest();
+        req.setName("销售订单测试");
+        OapiProcessGetByNameResponse rsp = client.execute(req, gettoken);
+        System.out.println(rsp.getBody());
+*/
 
         /**
-         * 获取审批实例ID列表(备用金列表获取)
-         * 备用金process_code:PROC-9331671D-265D-4A79-A6F2-93326D727673
+         * 获取审批实例ID列表
+         * 备用金process_code:PROC-9331671D-265D-4A79-A6F2-93326D727673(备用金列表获取)
+         * 备用金process_code:PROC-40356B7F-6825-4DC3-83B9-8AD6D0D2CA49(销售订单列表获取)
          * 钉钉接口仅支持120天内数据
          */
 //        try {
 //            DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/processinstance/listids");
 //            OapiProcessinstanceListidsRequest req = new OapiProcessinstanceListidsRequest();
 //
-//            req.setProcessCode("PROC-9331671D-265D-4A79-A6F2-93326D727673");
+//            req.setProcessCode("PROC-40356B7F-6825-4DC3-83B9-8AD6D0D2CA49");
 ////            req.setStartTime(System.currentTimeMillis());//时间戳:例1586448000000
-//            req.setStartTime(Long.valueOf(DateUtils.date3TimeStamp("2021-05-12 23:59:59", "yyyy-MM-dd HH:mm:ss")));//时间戳:例1586448000000
-//            OapiProcessinstanceListidsResponse rsp = client.execute(req, "5237b03a68b13fec9c351473efed2a11");//access_token
+//            req.setStartTime(Long.valueOf(DateUtils.date3TimeStamp("2021-09-1 23:59:59", "yyyy-MM-dd HH:mm:ss")));//时间戳:例1586448000000
+//            OapiProcessinstanceListidsResponse rsp = client.execute(req, "b63175b83675374682f76130b4790323");//access_token
 //
 //            System.out.println(JSONUtils.jsonToMap(rsp.getBody()));
 //        } catch (ApiException e) {
@@ -84,10 +94,15 @@ public class interfaceTest {
         try {
             DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/processinstance/get");
             OapiProcessinstanceGetRequest req = new OapiProcessinstanceGetRequest();
-            req.setProcessInstanceId("bfb52963-17dd-4476-b557-da71a5b8ff68");//实例id
-            OapiProcessinstanceGetResponse rsp = client.execute(req, "5237b03a68b13fec9c351473efed2a11");//access_token
-//            System.out.println(rsp.getBody());
-            System.out.println(JSONUtils.jsonToMap(rsp.getBody()));
+            req.setProcessInstanceId("e3fa7ef4-645a-4238-9ea4-125d00160304");//实例id
+            OapiProcessinstanceGetResponse rsp = client.execute(req, "b63175b83675374682f76130b4790323");//access_token
+            System.out.println(rsp.getBody());
+//            System.out.println(JSONUtils.jsonToMap(rsp.getBody()));
+//            for (Map.Entry<String, Object> entry : JSONUtils.jsonToMap(rsp.getBody()).entrySet()) {
+//                System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
+//            }
+
+
         } catch (ApiException e) {
             e.printStackTrace();
         }