ソースを参照

feat: 企微卡片「【任务审批】」标题/描述

wuwenyi 2 日 前
親
コミット
3d39faa48b

+ 30 - 0
src/main/java/com/qqflow/engine/domain/flow/service/impl/WeComNotificationService.java

@@ -91,6 +91,10 @@ public class WeComNotificationService implements NotificationService {
             String couponName = task.path("taskName").asText(instanceTitle);
             return textCardTitle("【优惠券审批】", couponName + "待您审批");
         }
+        if (task != null && task.path("taskType").asInt() == 20) {
+            String taskName = task.path("taskName").asText(instanceTitle);
+            return textCardTitle("【任务审批】", taskName + "待您审批");
+        }
         return textCardTitle("【待办审批】", instanceTitle);
     }
 
@@ -119,6 +123,32 @@ public class WeComNotificationService implements NotificationService {
             sb.append("<div class=\"gray\">当前节点:").append(nodeName).append("</div>");
             return sb.toString();
         }
+        if (task != null && task.path("taskType").asInt() == 20) {
+            String taskName = task.path("taskName").asText(instanceTitle);
+            String taskTypeName = findItemValue(task, "任务信息", "任务类型");
+            String sceneName = findItemValue(task, "任务信息", "场景");
+            String sendTime = findItemValue(task, "发送设置", "发送时间");
+            if (!StringUtils.hasText(sendTime)) {
+                sendTime = findItemValue(task, "触发设置", "生效时间");
+            }
+            String submitter = task.path("submitUserName").asText("");
+            StringBuilder sb = new StringBuilder();
+            sb.append("<div class=\"gray\">任务名称:").append(taskName).append("</div>");
+            if (StringUtils.hasText(taskTypeName)) {
+                sb.append("<div class=\"gray\">任务类型:").append(taskTypeName).append("</div>");
+            }
+            if (StringUtils.hasText(sceneName)) {
+                sb.append("<div class=\"gray\">场景:").append(sceneName).append("</div>");
+            }
+            if (StringUtils.hasText(sendTime)) {
+                sb.append("<div class=\"gray\">发送时间:").append(sendTime).append("</div>");
+            }
+            if (StringUtils.hasText(submitter)) {
+                sb.append("<div class=\"gray\">推送方:").append(submitter).append("</div>");
+            }
+            sb.append("<div class=\"gray\">当前节点:").append(nodeName).append("</div>");
+            return sb.toString();
+        }
         return String.format("流程:%s\n标题:%s\n节点:%s\n请及时处理。", processName, instanceTitle, nodeName);
     }