wzy недель назад: 3
Родитель
Сommit
bc0fab90f4

+ 40 - 32
mjava-zhongche/src/main/java/com/malk/zhongche/service/impl/ZhongcheServiceImpl.java

@@ -71,20 +71,20 @@ public class ZhongcheServiceImpl implements ZhongcheService {
 
 
         String executorId = UtilMap.getString(taskInfo, "executorId");//执行者id
         String executorId = UtilMap.getString(taskInfo, "executorId");//执行者id
 
 
-        Map ddUserInfo = tbClient.idMapQuery(executorId, true).get(0);
-
-        Map extra = UtilMap.getMap(ddUserInfo, "extra");
-
-        String ddUserId = UtilMap.getString(extra, "userId");//执行人钉钉userid
-        Map userInfoById = ddClient_contacts.getUserInfoById(ddClient.getAccessToken(),ddUserId);
-        String ddUserName = UtilMap.getString(userInfoById, "name");//执行人钉钉姓名
         Map ddUser = new HashMap();
         Map ddUser = new HashMap();
-        ddUser.put("label",ddUserName);
-        ddUser.put("value",ddUserId);
-        ddUser.put("emplId",ddUserId);
+        if (Strings.isNotBlank(executorId)){
+            Map ddUserInfo = tbClient.idMapQuery(executorId, true).get(0);
+            Map extra = UtilMap.getMap(ddUserInfo, "extra");
+            String ddUserId = UtilMap.getString(extra, "userId");//执行人钉钉userid
+            Map userInfoById = ddClient_contacts.getUserInfoById(ddClient.getAccessToken(),ddUserId);
+            String ddUserName = UtilMap.getString(userInfoById, "name");//执行人钉钉姓名
+            ddUser.put("label",ddUserName);
+            ddUser.put("value",ddUserId);
+            ddUser.put("emplId",ddUserId);
+        }
 
 
-        long startDate = extracted(UtilMap.getString(taskInfo, "startDate"));//任务开始时间
-        long dueDate = extracted(UtilMap.getString(taskInfo, "dueDate"));//任务截止时间
+        Long startDate = extracted(UtilMap.getString(taskInfo, "startDate"));//任务开始时间
+        Long dueDate = extracted(UtilMap.getString(taskInfo, "dueDate"));//任务截止时间
 
 
         String tfsId = UtilMap.getString(taskInfo, "tfsId");//任务状态id
         String tfsId = UtilMap.getString(taskInfo, "tfsId");//任务状态id
 
 
@@ -93,15 +93,18 @@ public class ZhongcheServiceImpl implements ZhongcheService {
         Map tfsInfo = tbClient.queryProjectCustomFlowStatus(projectId, body).get(0);
         Map tfsInfo = tbClient.queryProjectCustomFlowStatus(projectId, body).get(0);
         String tfsName = UtilMap.getString(tfsInfo, "name");//任务状态
         String tfsName = UtilMap.getString(tfsInfo, "name");//任务状态
 
 
-
-        //获取tb任务上级任务
         String parentTaskId = UtilMap.getString(taskInfo, "parentTaskId");
         String parentTaskId = UtilMap.getString(taskInfo, "parentTaskId");
-        Map parentTaskInfo = tbClient.queryTaskDetail(parentTaskId, null, null).get(0);
-        String parentTaskName = UtilMap.getString(parentTaskInfo, "content");
+        String parentTaskName = "";
+        String rootTaskName = "";
+        if (Strings.isNotBlank(parentTaskId)){
+            //获取tb任务上级任务
+            Map parentTaskInfo = tbClient.queryTaskDetail(parentTaskId, null, null).get(0);
+            parentTaskName = UtilMap.getString(parentTaskInfo, "content");
 
 
-        //获取tb顶级任务
-        Map rootTaskInfo = getRootTask(parentTaskId);
-        String rootTaskName = UtilMap.getString(rootTaskInfo, "content");
+            //获取tb顶级任务
+            Map rootTaskInfo = getRootTask(parentTaskId);
+            rootTaskName = UtilMap.getString(rootTaskInfo, "content");
+        }
 
 
         Map result = new HashMap();
         Map result = new HashMap();
         result.put("wtls", wtls);
         result.put("wtls", wtls);
@@ -193,22 +196,27 @@ public class ZhongcheServiceImpl implements ZhongcheService {
     }
     }
 
 
     //转换时区并返回时间戳
     //转换时区并返回时间戳
-    private static long extracted(String dueDate) {
-        // 1. 解析为 Instant(UTC 时间)
-        Instant instant = Instant.parse(dueDate);
+    private static Long extracted(String dateStr) {
+        if (Strings.isNotBlank(dateStr)){
+            // 1. 解析为 Instant(UTC 时间)
+            Instant instant = Instant.parse(dateStr);
+
+            // 2. 转换为目标时区(Asia/Shanghai, UTC+8)
+            ZoneId shanghaiZone = ZoneId.of("Asia/Shanghai");
+            ZonedDateTime shanghaiTime = instant.atZone(shanghaiZone);
 
 
-        // 2. 转换为目标时区(Asia/Shanghai, UTC+8)
-        ZoneId shanghaiZone = ZoneId.of("Asia/Shanghai");
-        ZonedDateTime shanghaiTime = instant.atZone(shanghaiZone);
+            // 3. 转换为时间戳(毫秒)
+            long timestamp = shanghaiTime.toInstant().toEpochMilli();
 
 
-        // 3. 转换为时间戳(毫秒)
-        long timestamp = shanghaiTime.toInstant().toEpochMilli();
+            // 输出结果
+            System.out.println("UTC 时间: " + instant);
+            System.out.println("上海时间: " + shanghaiTime);
+            System.out.println("时间戳(毫秒): " + timestamp);
 
 
-        // 输出结果
-        System.out.println("UTC 时间: " + instant);
-        System.out.println("上海时间: " + shanghaiTime);
-        System.out.println("时间戳(毫秒): " + timestamp);
+            return timestamp;
+        }else {
+            return null;
+        }
 
 
-        return timestamp;
     }
     }
 }
 }