|
@@ -11,10 +11,7 @@ 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;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* 此类用于钉钉公开接口方法调用
|
|
@@ -51,7 +48,7 @@ public class DingdingOpenInterface {
|
|
|
gettoken = "error";
|
|
|
}
|
|
|
|
|
|
- System.out.println("access_token获取:"+gettoken);
|
|
|
+// System.out.println("access_token获取:"+gettoken);
|
|
|
|
|
|
} catch (ApiException | JSONException e) {
|
|
|
e.printStackTrace();
|
|
@@ -61,7 +58,101 @@ public class DingdingOpenInterface {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 获取审批实例ID列表
|
|
|
+ * 备用金process_code:PROC-9331671D-265D-4A79-A6F2-93326D727673(备用金列表获取)
|
|
|
+ * 销售订单process_code:PROC-40356B7F-6825-4DC3-83B9-8AD6D0D2CA49(销售订单列表获取)
|
|
|
+ * 钉钉接口仅支持120天内数据
|
|
|
+ */
|
|
|
+
|
|
|
+ public List<String> getOrderIdList(String processCode){
|
|
|
+
|
|
|
+ Map<String,Object> map = new HashMap<>();
|
|
|
+ List<String> list = new ArrayList<>();
|
|
|
+
|
|
|
+ try {
|
|
|
+ DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/processinstance/listids");
|
|
|
+ OapiProcessinstanceListidsRequest req = new OapiProcessinstanceListidsRequest();
|
|
|
+
|
|
|
+ req.setProcessCode(processCode);
|
|
|
+ Calendar nowTime = Calendar.getInstance();
|
|
|
+ nowTime.add(Calendar.MONTH, -1);
|
|
|
+ Date date = nowTime.getTime();
|
|
|
+ req.setStartTime(Long.valueOf(date.getTime()));//时间戳:例1586448000000
|
|
|
+ OapiProcessinstanceListidsResponse rsp = client.execute(req, gettoken);//access_token
|
|
|
+ map = JSONUtils.jsonToMap(rsp.getBody());
|
|
|
+
|
|
|
+ if(map.get("errcode").equals(0)){
|
|
|
+ Map<String,Object> mapList = (Map<String, Object>) map.get("result");
|
|
|
+ list = (List<String>) mapList.get("list");
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ } catch (ApiException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+
|
|
|
+ return list;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取审批实例详
|
|
|
+ */
|
|
|
+ public Map<String,Object> getOrderDetails(String processInstanceId){
|
|
|
|
|
|
+ Map<String,Object> map = new HashMap<>();
|
|
|
+
|
|
|
+ try {
|
|
|
+ DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/processinstance/get");
|
|
|
+ OapiProcessinstanceGetRequest req = new OapiProcessinstanceGetRequest();
|
|
|
+ req.setProcessInstanceId(processInstanceId);//实例id
|
|
|
+ OapiProcessinstanceGetResponse rsp = client.execute(req, gettoken);//access_token
|
|
|
+
|
|
|
+ map = JSONUtils.jsonToMap(rsp.getBody());
|
|
|
+
|
|
|
+ if(map.get("errcode").equals(0)){
|
|
|
+ Map<String,Object> map1 = (Map<String, Object>) map.get("process_instance");
|
|
|
+ return map1;
|
|
|
+ }
|
|
|
+
|
|
|
+ } catch (ApiException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 接口表格数据转换成可使用的map数据
|
|
|
+ * @param map1
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static Map<String,Object> tableToMap(Map<String,Object> map1){
|
|
|
+
|
|
|
+ List<Map<String,Object>> listMap = (List<Map<String, Object>>) map1.get("form_component_values");
|
|
|
+ Map<String,Object> newMap = new HashMap<>();
|
|
|
+ for(Map<String, Object> o:listMap){
|
|
|
+ newMap.put((String) o.get("name"),o.get("value"));
|
|
|
+ }
|
|
|
+ return newMap;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static void main(String[] args) {
|
|
|
+// for (Map.Entry<String, Object> entry : JSONUtils.jsonToMap(rsp.getBody()).entrySet()) {
|
|
|
+// System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
|
|
|
+// }
|
|
|
+ Calendar nowTime = Calendar.getInstance();
|
|
|
+// nowTime.add(Calendar.MINUTE, 5);
|
|
|
+ nowTime.add(Calendar.MONTH, -1);
|
|
|
+ Date date = nowTime.getTime();
|
|
|
+ System.out.println(date.getTime());
|
|
|
+ System.out.println(nowTime.getTime());
|
|
|
+ }
|
|
|
|
|
|
public static Map toMap(String jsonString) throws JSONException {
|
|
|
JSONObject jsonObject = new JSONObject(jsonString);
|