EDZ 3 년 전
부모
커밋
0db29824e3

+ 8 - 0
src/main/java/net/chenlin/dp/modules/TaskDemo.java

@@ -1,5 +1,6 @@
 package net.chenlin.dp.modules;
 
+import net.chenlin.dp.modules.api.controller.DingdingOpenInterface;
 import org.springframework.stereotype.Component;
 
 @Component("TaskDemo")
@@ -14,4 +15,11 @@ public class TaskDemo {
         System.out.println("11111111111111111111111111111");
     }
 
+    public static void main(String[] args) {
+
+        DingdingOpenInterface dingdingOpenInterface = new DingdingOpenInterface();
+        dingdingOpenInterface.getToken();
+
+    }
+
 }

+ 83 - 0
src/main/java/net/chenlin/dp/modules/api/controller/DingdingOpenInterface.java

@@ -0,0 +1,83 @@
+package net.chenlin.dp.modules.api.controller;
+
+import com.dingtalk.api.DefaultDingTalkClient;
+import com.dingtalk.api.DingTalkClient;
+import com.dingtalk.api.request.*;
+import com.dingtalk.api.response.*;
+import com.taobao.api.ApiException;
+import net.chenlin.dp.common.openapi4j.util.PropUtil;
+import net.chenlin.dp.common.utils.DateUtils;
+import net.chenlin.dp.common.utils.JSONUtils;
+import org.springframework.boot.configurationprocessor.json.JSONException;
+import org.springframework.boot.configurationprocessor.json.JSONObject;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Properties;
+
+/**
+ * 此类用于钉钉公开接口方法调用
+ */
+public class DingdingOpenInterface {
+
+    /**
+     * 企业内部应用的access_token,每20分钟改变一次
+     */
+    public static String gettoken = "";
+
+
+    /**
+     * 获取钉钉企业内部应用的access_token
+     */
+    public static void getToken(){
+
+        try {
+            Properties prop = PropUtil.getProperties("/config.properties");
+            String appkey = prop.getProperty("ding_appkey");
+            String appsecret = prop.getProperty("ding_appsecret");
+            DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/gettoken");
+            OapiGettokenRequest req = new OapiGettokenRequest();
+            req.setHttpMethod("GET");
+            req.setAppkey(appkey);
+            req.setAppsecret(appsecret);
+            OapiGettokenResponse rsp = client.execute(req);
+
+            Map<String,String> map;
+            map = toMap(rsp.getBody());
+            if(map.get("errcode").equals("0")){
+                gettoken = map.get("access_token");
+            }else{
+                gettoken = "error";
+            }
+
+            System.out.println("access_token获取:"+gettoken);
+
+        } catch (ApiException | JSONException e) {
+            e.printStackTrace();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+
+
+
+    public static Map toMap(String jsonString) throws JSONException {
+        JSONObject jsonObject = new JSONObject(jsonString);
+        Map result = new HashMap();
+        Iterator iterator = jsonObject.keys();
+        String key = null;
+        String value = null;
+
+        while (iterator.hasNext()) {
+
+            key = (String) iterator.next();
+            value = jsonObject.getString(key);
+            result.put(key, value);
+
+        }
+        return result;
+    }
+
+}

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

@@ -69,7 +69,7 @@ public class interfaceTest {
         /**
          * 获取审批实例ID列表
          * 备用金process_code:PROC-9331671D-265D-4A79-A6F2-93326D727673(备用金列表获取)
-         * 备用金process_code:PROC-40356B7F-6825-4DC3-83B9-8AD6D0D2CA49(销售订单列表获取)
+         * 销售订单process_code:PROC-40356B7F-6825-4DC3-83B9-8AD6D0D2CA49(销售订单列表获取)
          * 钉钉接口仅支持120天内数据
          */
 //        try {

+ 11 - 0
src/main/resources/config.properties

@@ -1,3 +1,5 @@
+
+################# U8接口参数 ####################
 #调用方id
 from_account=yuanshaohua
 #提供方id
@@ -16,3 +18,12 @@ api_url_orderstatus_get = https://api.yonyouup.com/orderstatus/get?from_account=
 api_url_result_get = https://api.yonyouup.com/result?requestid={requestid}
 #网站api的url
 baseURL=https://api.yonyouup.com/api/
+
+################# 钉钉接口参数 ####################
+
+ding_appkey=ding1h54xhh2cyh90hgk
+ding_appsecret=EZMYVfZn_yBBj2Mr_qfZPtJvVErJqdQKVHQvHGk9s3LLuAZxdwAsqdnXIuSy6uVx
+#备用金process_code
+byj_process_code=PROC-9331671D-265D-4A79-A6F2-93326D727673
+#销售订单process_code
+xxdd_process_code=PROC-40356B7F-6825-4DC3-83B9-8AD6D0D2CA49