|
@@ -1,5 +1,9 @@
|
|
|
package com.fourdage.dingding.util;
|
|
|
|
|
|
+import java.time.Instant;
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.time.ZoneId;
|
|
|
+import java.time.ZonedDateTime;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
@@ -116,11 +120,18 @@ public class DingDingUtil {
|
|
|
Map<String, Object> processMap = new HashMap<String, Object>();
|
|
|
processMap.put("method", "dingtalk.smartwork.bpms.processinstance.list");
|
|
|
processMap.put("session", getAccessToken());
|
|
|
- processMap.put("timestamp", Long.valueOf(System.currentTimeMillis()).toString());
|
|
|
+ String timestamp = Long.valueOf(System.currentTimeMillis()).toString();
|
|
|
+ processMap.put("timestamp", timestamp);
|
|
|
+
|
|
|
+
|
|
|
processMap.put("format", "json");
|
|
|
processMap.put("v", "2.0");
|
|
|
processMap.put("process_code", searchBean.getProcessCode());
|
|
|
- processMap.put("start_time", searchBean.getStartTime());
|
|
|
+ long startTime = searchBean.getStartTime();
|
|
|
+ Instant instant = Instant.ofEpochMilli(startTime);
|
|
|
+ LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
|
|
|
+ logger.info("start_time: {}, 时间:{}", startTime, localDateTime);
|
|
|
+ processMap.put("start_time", startTime);
|
|
|
processMap.put("cursor", searchBean.getPage() == null ? 0 : searchBean.getPage());
|
|
|
|
|
|
String resultStr = HttpHelper.sendGetByUrlConnection("https://eco.taobao.com/router/rest", processMap, "UTF-8");
|
|
@@ -133,6 +144,14 @@ public class DingDingUtil {
|
|
|
JSONObject list = result.getJSONObject("list");
|
|
|
JSONArray processInstanceTop = list.getJSONArray("process_instance_top_vo");
|
|
|
if (processInstanceTop != null){
|
|
|
+
|
|
|
+ long startTimeSearch = searchBean.getStartTimeSearch();
|
|
|
+ long endTimeSearch = searchBean.getEndTimeSearch();
|
|
|
+
|
|
|
+ logger.info("查询开始时间:{}, 查询结束时间:{}", DateUtils.getStrTime(startTimeSearch), DateUtils.getStrTime(endTimeSearch));
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
for (Object obj : processInstanceTop){
|
|
|
JSONObject jobj = (JSONObject)obj;
|
|
|
|
|
@@ -148,10 +167,16 @@ public class DingDingUtil {
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
- DateTime de = DateTime.parse(jobj.getString("finish_time"), format);
|
|
|
- if (de.isAfter(searchBean.getStartTimeSearch()) && de.isBefore(searchBean.getEndTimeSearch())){
|
|
|
- if (StringUtils.isNotEmpty(searchBean.getBusinessNum())
|
|
|
- && !jobj.getString("business_id").contains(searchBean.getBusinessNum())){
|
|
|
+ String finishTime = jobj.getString("finish_time");
|
|
|
+ String businessId = jobj.getString("business_id");
|
|
|
+ String title = jobj.getString("title");
|
|
|
+ logger.info("订单号:{}, 订单名称:{}, 完成时间:{}, 当前状态:{}", businessId, title, finishTime, status);
|
|
|
+
|
|
|
+ DateTime de = DateTime.parse(finishTime, format);
|
|
|
+
|
|
|
+
|
|
|
+ if (de.isAfter(startTimeSearch) && de.isBefore(endTimeSearch)){
|
|
|
+ if (StringUtils.isNotEmpty(searchBean.getBusinessNum()) && !businessId.contains(searchBean.getBusinessNum())){
|
|
|
continue;
|
|
|
}
|
|
|
|
|
@@ -170,6 +195,7 @@ public class DingDingUtil {
|
|
|
|
|
|
// 查询下一页
|
|
|
if (result.get("next_cursor") != null){
|
|
|
+ logger.info("查询下一页");
|
|
|
searchBean.setPage(String.valueOf(result.getInteger("next_cursor")));
|
|
|
getProcesses(processes, searchBean);
|
|
|
}
|