Эх сурвалжийг харах

样本送检 钉钉消息模板调整

陈长荣 2 сар өмнө
parent
commit
0888a7d96b

+ 8 - 0
jfcloud-gene-biz/src/main/java/com/github/jfcloud/gene/flow/service/impl/NotifyServiceImpl.java

@@ -1,6 +1,7 @@
 package com.github.jfcloud.gene.flow.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.github.jfcloud.admin.api.sys.dto.message.MessageUserDTO;
@@ -24,6 +25,7 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 @Slf4j
 @Service
@@ -110,6 +112,12 @@ public class NotifyServiceImpl implements NotifyService {
             log.error("钉钉通知用户为空");
             return;
         }
+        users = users.stream().filter(u -> u.getUserId() != null || StrUtil.isNotBlank(u.getUsername())).collect(Collectors.toList());
+        if (CollUtil.isEmpty(users)) {
+            log.error("钉钉通知用户为空");
+            return;
+        }
+
         TextMessageParam param = new TextMessageParam(new ArrayList<>(users), msg, systemName);
         log.info("【消息通知】发送:{}", JSON.toJSONString(param));
 

+ 3 - 5
jfcloud-gene-biz/src/main/java/com/github/jfcloud/gene/sample/service/biz/SampleAnimalImagingServiceImpl.java

@@ -38,10 +38,7 @@ import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
-import java.util.HashSet;
-import java.util.List;
-import java.util.Objects;
-import java.util.Set;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Slf4j
@@ -259,7 +256,8 @@ public class SampleAnimalImagingServiceImpl extends ServiceImpl<SampleAnimalImag
         if (StrUtil.isNotBlank(sampleInfo.getProjectName())) {
             projectType += "/" + sampleInfo.getProjectName();
         }
-        String dingMsg = String.format("【%s】【%s】已执行项目", projectType, UserUtil.getNickName());
+        String now = DateUtil.format(new Date(), DatePattern.CHINESE_DATE_TIME_PATTERN);
+        String dingMsg = String.format("【%s】【%s】%s执行项目", projectType, UserUtil.getNickName(), now);
 
         Set<Long> userIds = new HashSet<>();
         //申请人

+ 3 - 5
jfcloud-gene-biz/src/main/java/com/github/jfcloud/gene/sample/service/biz/SampleAnimalServiceImpl.java

@@ -51,10 +51,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.lang.reflect.Field;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Objects;
-import java.util.Set;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Slf4j
@@ -294,7 +291,8 @@ public class SampleAnimalServiceImpl extends ServiceImpl<SampleAnimalMapper, Sam
         if (StrUtil.isNotBlank(sampleInfo.getProjectName())) {
             projectType += "/" + sampleInfo.getProjectName();
         }
-        String dingMsg = String.format("【%s】【%s】已执行项目", projectType, UserUtil.getNickName());
+        String now = DateUtil.format(new Date(), DatePattern.CHINESE_DATE_TIME_PATTERN);
+        String dingMsg = String.format("【%s】【%s】%s执行项目", projectType, UserUtil.getNickName(), now);
 
         Set<Long> userIds = new HashSet<>();
 

+ 2 - 1
jfcloud-gene-biz/src/main/java/com/github/jfcloud/gene/sample/service/biz/SamplePathologicalServiceImpl.java

@@ -290,7 +290,8 @@ public class SamplePathologicalServiceImpl extends ServiceImpl<SamplePathologica
         if (StrUtil.isNotBlank(sampleInfo.getProjectName())) {
             projectType += "/" + sampleInfo.getProjectName();
         }
-        String dingMsg = String.format("【%s】【%s】已执行项目", projectType, UserUtil.getNickName());
+        String now = DateUtil.format(new Date(), DatePattern.CHINESE_DATE_TIME_PATTERN);
+        String dingMsg = String.format("【%s】【%s】%s执行项目", projectType, UserUtil.getNickName(), now);
 
         Set<Long> userIds = new HashSet<>();
         //申请人

+ 8 - 4
jfcloud-gene-biz/src/main/java/com/github/jfcloud/gene/sample/service/impl/SampleInfoServiceImpl.java

@@ -2,6 +2,8 @@ package com.github.jfcloud.gene.sample.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DatePattern;
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.lang.Assert;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
@@ -439,6 +441,8 @@ public class SampleInfoServiceImpl extends ServiceImpl<SampleInfoMapper, SampleI
             projectType += "/" + projectName;
         }
 
+        String now = DateUtil.format(new Date(), DatePattern.CHINESE_DATE_TIME_PATTERN);
+
         Long userId;
         String dingMsg;
         GeneStatusEnum statusEnum = Objects.requireNonNull(GeneStatusEnum.getByStatus(sampleInfo.getStatus()));
@@ -446,20 +450,20 @@ public class SampleInfoServiceImpl extends ServiceImpl<SampleInfoMapper, SampleI
             case REJECTED:
                 //驳回通知申请人
                 userId = Long.valueOf(sampleInfo.getCreateBy());
-                dingMsg = String.format("【%s】【%s/%s】不同意,请修正后再提交", projectType, previousStatus, previousUser);
+                dingMsg = String.format("【%s】【%s/%s】%s不同意,请修正后再提交", projectType, previousStatus, previousUser, now);
                 break;
             case DEPART_LEADER:
                 userId = sampleInfo.getDepartLeaderId();
-                dingMsg = String.format("【%s】【%s】提交,请进行审查", projectType, userIdNameCache.getNicknameByUserId(sampleInfo.getCreateBy()));
+                dingMsg = String.format("【%s】【%s】%s提交,请进行审查", projectType, userIdNameCache.getNicknameByUserId(sampleInfo.getCreateBy()), now);
                 break;
             case PROJECT_MANAGEMENT:
                 userId = sampleInfo.getProjectManageId();
-                dingMsg = String.format("【%s】【%s/%s】同意,请进行审查", projectType, previousStatus, previousUser);
+                dingMsg = String.format("【%s】【%s/%s】%s同意,请进行审查", projectType, previousStatus, previousUser, now);
                 break;
             case COMPLETED:
                 //执行
                 userId = Long.valueOf(sampleInfo.getCreateBy());
-                dingMsg = String.format("【%s】【%s/%s】同意,请执行项目", projectType, previousStatus, previousUser);
+                dingMsg = String.format("【%s】【%s/%s】%s同意,请执行项目", projectType, previousStatus, previousUser, now);
                 break;
             default:
                 log.error("流程项目 ({}) 状态异常 {}", projectName, statusEnum.getDescription());