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;
+
+}