瀏覽代碼

添加审批人为任务驳回时的消息通知对象

lvy 3 月之前
父節點
當前提交
8ad5fbf12b

+ 1 - 1
blade-service/blade-business/src/main/java/org/springblade/business/controller/TaskController.java

@@ -1511,7 +1511,7 @@ public class TaskController extends BladeController {
                             task -> task));
         }
         //所有满足条件的日志 转map
-        String logQuery = "select business_id,create_user_name ,create_time, operation_type from u_operation_log where  operation_content like '%废除%'";
+        String logQuery = "select business_id,create_user_name ,create_time, operation_type, save_data from u_operation_log where  operation_content like '%废除%'";
         List<OperationLog> operationLogs = jdbcTemplate.query(logQuery, new BeanPropertyRowMapper<>(OperationLog.class));
         if(ObjectUtil.isNotEmpty(operationLogs)){
              operationLogMap = operationLogs.stream().collect(Collectors.groupingBy(OperationLog::getBusinessId));

+ 25 - 13
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TaskServiceImpl.java

@@ -722,28 +722,40 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
                     }
                     String projectName = "", contractName = "";
                     Task task = taskMap.get(taskApp.getTaskId());
-                    if (projectMap.containsKey(task.getProjectId())) {
-                        ProjectInfo project = projectMap.get(task.getProjectId());
-                        projectName = StringUtils.isNotEmpty(project.getProjectAlias()) ? project.getProjectAlias() : project.getProjectName();
-                    }
-                    if (contractMap.containsKey(task.getContractId())) {
-                        ContractInfo contract = contractMap.get(task.getContractId());
-                        contractName = contract.getContractName();
-                    }
-                    //保存通知记录
-                    this.messageWarningService.savePushUserMessageWarning(
-                            new MessageWarningVO(
+                    if (task != null) {
+                        if (projectMap.containsKey(task.getProjectId())) {
+                            ProjectInfo project = projectMap.get(task.getProjectId());
+                            projectName = StringUtils.isNotEmpty(project.getProjectAlias()) ? project.getProjectAlias() : project.getProjectName();
+                        }
+                        if (contractMap.containsKey(task.getContractId())) {
+                            ContractInfo contract = contractMap.get(task.getContractId());
+                            contractName = contract.getContractName();
+                        }
+                        List<TaskParallel> list = this.taskParallelService.list(Wrappers.<TaskParallel>lambdaQuery().select(TaskParallel::getTaskUser).eq(TaskParallel::getProcessInstanceId, task.getProcessInstanceId()));
+                        Set<String> userIds = list.stream().map(TaskParallel::getTaskUser).collect(Collectors.toSet());
+                        userIds.add(task.getReportUser());
+                        List<MessageWarningVO> messageWarningVOS = new ArrayList<>();
+                        //保存通知记录
+                        for (String id : userIds) {
+                            messageWarningVOS.add(new MessageWarningVO(
                                     Long.valueOf(task.getProjectId()),
                                     Long.valueOf(task.getContractId()),
                                     //驳回通知
                                     3,
                                     //内容
-                                    projectName + contractName + "的用户【" + AuthUtil.getNickName() + "】驳回了【" + task.getTaskName() + "】" + "驳回原因:" + taskApp.getComment(),
+                                    projectName + contractName + "的用户【" + AuthUtil.getNickName() + "】驳回了【" + task.getTaskName() + "】" + "驳回原因:" + taskApp.getComment(),
                                     //推送的目标人
-                                    Long.parseLong(task.getReportUser()),
+                                    Long.parseLong(id),
                                     //默认未读
                                     0
                             ));
+                        }
+                        try {
+                            this.messageWarningService.savePushUserMessageWarning(messageWarningVOS);
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                    }
                 }
             }
         }