From 05bec5e2b7dd9064ebf417c36875f7d5b8239b71 Mon Sep 17 00:00:00 2001 From: zhaokai Date: Mon, 13 Apr 2026 09:34:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B6=88=E6=81=AF=E9=80=9A?= =?UTF-8?q?=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/.gitignore | 8 +++ .idea/easyCodeTableSettingEncode.xml | 16 ++++++ .idea/encodings.xml | 13 +++++ .idea/misc.xml | 12 +++++ .idea/vcs.xml | 6 +++ start/src/main/resources/sdk.yml | 6 +++ .../eightwork/command/TaskLogUpdateExe.java | 54 +++++++++++++++++-- .../domain/config/MessageConfig.java | 18 +++++++ 8 files changed, 128 insertions(+), 5 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/easyCodeTableSettingEncode.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/vcs.xml create mode 100644 web-domain/src/main/java/com/zcloud/eightwork/domain/config/MessageConfig.java diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..9a897b6 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Ignored default folder with query files +/queries/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/easyCodeTableSettingEncode.xml b/.idea/easyCodeTableSettingEncode.xml new file mode 100644 index 0000000..2961bf7 --- /dev/null +++ b/.idea/easyCodeTableSettingEncode.xml @@ -0,0 +1,16 @@ + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..cdf8174 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..d5cd614 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/start/src/main/resources/sdk.yml b/start/src/main/resources/sdk.yml index 4aad6d5..204c10b 100644 --- a/start/src/main/resources/sdk.yml +++ b/start/src/main/resources/sdk.yml @@ -49,3 +49,9 @@ openapi: apiCode: test:01 #多个可以逗号隔开,可以为空 tenantIds: 1838408702262321152 +message: + code: + list-check-taskLogTemplate: MS000127 + + + diff --git a/web-app/src/main/java/com/zcloud/eightwork/command/TaskLogUpdateExe.java b/web-app/src/main/java/com/zcloud/eightwork/command/TaskLogUpdateExe.java index bc19871..d401fe5 100644 --- a/web-app/src/main/java/com/zcloud/eightwork/command/TaskLogUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/eightwork/command/TaskLogUpdateExe.java @@ -5,11 +5,16 @@ import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.json.JSONUtil; +import com.alibaba.cola.dto.SingleResponse; import com.alibaba.cola.exception.BizException; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.jjb.saas.message.client.message.facede.MessageFacade; +import com.jjb.saas.message.client.message.request.MessageSendCmd; +import com.jjb.saas.message.client.message.request.MessageTargetCmd; import com.zcloud.eightwork.command.convertor.TaskLogConvertUtil; +import com.zcloud.eightwork.domain.config.MessageConfig; import com.zcloud.eightwork.domain.gateway.EightworkSupplementaryInfoGateway; import com.zcloud.eightwork.domain.gateway.TaskFlowGateway; import com.zcloud.eightwork.domain.gateway.TaskLogGateway; @@ -30,17 +35,17 @@ import com.zcloud.gbscommon.todolistmq.TodoListEventPusherUtil; import com.zcloud.gbscommon.todolistmq.event.TodoListAddEvent; import com.zcloud.gbscommon.todolistmq.event.TodoListCompleteEvent; import com.zcloud.gbscommon.utils.Tools; +import com.zcloud.gbscommon.utils.UuidUtil; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; +import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import javax.annotation.Resource; +import java.util.*; import java.util.stream.Collectors; @@ -111,7 +116,9 @@ public class TaskLogUpdateExe { private final EightworkSupplementaryInfoGateway eightworkSupplementaryInfoGateway; private final EightworkSupplementaryInfoRepository eightworkSupplementaryInfoRepository; private final EightworkSupplementaryInfoArchiveRepository eightworkSupplementaryInfoArchiveRepository; - + @DubboReference + private MessageFacade messageFacade; + private MessageConfig messageConfig; @Transactional(rollbackFor = Exception.class) public void execute(TaskLogUpdateCmd taskLogUpdateCmd) { TaskLogE taskLogE = new TaskLogE(); @@ -658,6 +665,7 @@ public class TaskLogUpdateExe { // 发送待办通知 sendTodoAddEvent(workId, next, currentLog.getWorkType()); + messageNotice(next.getActUser(),next, currentLog); log.info("已激活下一步: {}", next.getStepName()); @@ -1092,6 +1100,7 @@ public class TaskLogUpdateExe { branchStep.setStatus(TaskLogStatus.IN_PROGRESS.getCode()); addActionLog(actionLogs, branchStep); sendTodoAddEvent(getWorkId(currentLog.getWorkId()), branchStep, currentLog.getWorkType()); + messageNotice(getWorkId(currentLog.getWorkId()),branchStep, currentLog); log.info("已激活分支步骤: stepName={}, mergeTo={}", branchStep.getStepName(), branchStep.getBranchMergeStep()); } } @@ -1288,6 +1297,34 @@ public class TaskLogUpdateExe { log.error("发送待办新增事件失败: stepId={}", nextStep.getId(), e); } } + private void messageNotice(Long userId,TaskLogE nextStep, TaskLogE currentLog) { + //消息通知 + try{ + MessageSendCmd messageSendCmd = new MessageSendCmd(); + messageSendCmd.setBusinessId(UuidUtil.get32UUID()); + MessageTargetCmd messageTargetCmd = new MessageTargetCmd(); + messageTargetCmd.setUserId(userId); + messageSendCmd.setTargetCmd(messageTargetCmd); + messageSendCmd.setSourceCode(messageConfig.getTaskLogTemplate()); + messageSendCmd.setNeedTokenEnum(false); + + EightworkInfoDO eightworkInfoDO = getEightworkInfoDO(currentLog.getWorkId()); + Map sendParams = new HashMap(); + sendParams.put("approvalStatus", TaskLogStatus.getByCode(nextStep.getStatus()).getDesc()); + sendParams.put("workType", WorkCodeEnum.getNameByWorkType(currentLog.getWorkType())); + sendParams.put("checkNo",eightworkInfoDO.getCheckNo()); + sendParams.put("stepName", nextStep.getStepName()); + + messageSendCmd.setParams(sendParams); + + log.info("消息提醒发送消息参数:messageSendCmd: {}", JSONUtil.toJsonStr(messageSendCmd)); + SingleResponse d = messageFacade.send(messageSendCmd); + log.info("消息提醒发送消息结果:d: {}", JSONUtil.toJsonStr(d)); + + }catch (Exception e) { + log.error("消息提醒发送消息异常:", e); + } + } /** * 获取作业ID @@ -1299,6 +1336,13 @@ public class TaskLogUpdateExe { .eq(EightworkInfoDO::getWorkId, workId) ).getId(); } + private EightworkInfoDO getEightworkInfoDO(String workId) { + return eightworkInfoRepository.getOne( + new LambdaQueryWrapper() + .select(EightworkInfoDO::getId) + .eq(EightworkInfoDO::getWorkId, workId) + ); + } /** * 智能添加步骤到待更新列表 diff --git a/web-domain/src/main/java/com/zcloud/eightwork/domain/config/MessageConfig.java b/web-domain/src/main/java/com/zcloud/eightwork/domain/config/MessageConfig.java new file mode 100644 index 0000000..5679c13 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/eightwork/domain/config/MessageConfig.java @@ -0,0 +1,18 @@ +package com.zcloud.eightwork.domain.config; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.cloud.context.config.annotation.RefreshScope; +import org.springframework.context.annotation.Configuration; + +@Data +@Configuration +@RefreshScope +@ConfigurationProperties(prefix = "message.code") +public class MessageConfig { + /** + * 模板 + */ + private String taskLogTemplate; + +}