feat(REQ-4418) - 调整钉钉发送逻辑,增加@的实现

This commit is contained in:
wangli 2025-09-02 20:17:17 +08:00
parent 9f72c409a7
commit ac6337db9e
3 changed files with 31 additions and 5 deletions

View File

@ -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<String> 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);
}
}

View File

@ -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());
}
}

View File

@ -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<String> refreshProperties() {
return CommonResponse.success(JSON.toJSONString(refreshProperties));
}
}