diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/util/DingTalkUtils.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/util/DingTalkUtils.java index 2d096f46b..8e15cc993 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/util/DingTalkUtils.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/util/DingTalkUtils.java @@ -2,6 +2,7 @@ package cn.axzo.workflow.core.util; import cn.axzo.workflow.common.model.NextNodePreCheckAlterDTO; import cn.axzo.workflow.common.model.dto.AlterDTO; +import cn.axzo.workflow.common.model.request.feature.DingTalkStarterAlterDTO; import cn.hutool.core.date.DateUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; @@ -202,4 +203,21 @@ public class DingTalkUtils { request.setMarkdown(markdown); sendDingTalk(request); } + + public static void sendDingTalkForStarter(DingTalkStarterAlterDTO dto, List alterMobiles) { + OapiRobotSendRequest request = new OapiRobotSendRequest(); + request.setMsgtype("markdown"); + OapiRobotSendRequest.Markdown markdown = new OapiRobotSendRequest.Markdown(); + markdown.setTitle("Notice 审批模板节点预检查告警, Env: " + dto.getProfile()); + markdown.setText("#### [" + dto.getProfile() + "]应用必接事件告警\n" + + "> 应用名称:" + dto.getApplicationName() + "\n\n" + + "> 检测信息:" + dto.getAlterContent() + "\n\n" + + mobiles(alterMobiles)); + request.setMarkdown(markdown); + OapiRobotSendRequest.At at = new OapiRobotSendRequest.At(); + at.setAtMobiles(alterMobiles); + at.setIsAtAll(false); + request.setAt(at); + sendDingTalk(request); + } } diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/alter/DingTalkAlter.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/alter/DingTalkAlter.java index fe392dcbe..ea9d9efae 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/alter/DingTalkAlter.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/alter/DingTalkAlter.java @@ -46,17 +46,17 @@ public class DingTalkAlter implements Alter { if (obj instanceof AlterDTO) { AlterDTO alterDTO = (AlterDTO) obj; if (Objects.equals(profile, "master")) { - rivenDingtalk(alterDTO); - } else { DingTalkUtils.sendDingTalkForBizNodeAlter(profile, alterDTO, refreshProperties.getAlterMobiles()); + } else { + rivenDingtalk(alterDTO); } } if (obj instanceof NextNodePreCheckAlterDTO) { NextNodePreCheckAlterDTO alterDTO = (NextNodePreCheckAlterDTO) obj; if (Objects.equals(profile, "master")) { - rivenDingtalkForNodePreCheck(alterDTO); - } else { DingTalkUtils.sendDingTalkForNodePreCheck(profile, alterDTO, refreshProperties.getAlterMobiles()); + } else { + rivenDingtalkForNodePreCheck(alterDTO); } } @@ -66,7 +66,7 @@ public class DingTalkAlter implements Alter { // 忽略必接事件的应用 return; } - rivenDingtalkForStarter(starterAlterDTO); + DingTalkUtils.sendDingTalkForStarter(starterAlterDTO, refreshProperties.getAlterMobiles()); } } diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/TestController.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/TestController.java index ffd36aa5c..3d3ceb9ef 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/TestController.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/TestController.java @@ -9,6 +9,7 @@ import cn.axzo.workflow.common.model.request.form.definition.FormContentSearchDT import cn.axzo.workflow.common.model.request.form.instance.FormInstanceSearchDTO; import cn.axzo.workflow.common.model.response.bpmn.process.BpmnProcessInstanceVO; import cn.axzo.workflow.common.model.response.bpmn.process.ProcessNodeDetailVO; +import cn.axzo.workflow.core.conf.SupportRefreshProperties; import cn.axzo.workflow.core.engine.cmd.CustomGetProcessInstanceVariablesToObjectCmd; import cn.axzo.workflow.core.repository.entity.ExtAxBpmnFormRelation; import cn.axzo.workflow.core.service.BpmnProcessInstanceService; @@ -110,6 +111,8 @@ public class TestController { private SpecifyProcessInstanceSyncEsJobHandler specifyProcessInstanceSyncEsJobHandler; @Resource private TaskService taskService; + @Resource + private SupportRefreshProperties refreshProperties; @RepeatSubmit @GetMapping("/test") @@ -397,5 +400,10 @@ public class TestController { taskService.complete(taskId); return CommonResponse.success(true); } + + @GetMapping("/properties/refresh") + public CommonResponse refreshProperties() { + return CommonResponse.success(JSON.toJSONString(refreshProperties)); + } }