xiexiang 7 månader sedan
förälder
incheckning
a7f7a83805

+ 1 - 0
src/main/java/cn/cslg/pas/common/model/report/MailMessageDTO.java

@@ -14,6 +14,7 @@ public class MailMessageDTO {
     private String name;
     private List<String> names;
     // emails
+    private String email;
     private List<String> emails;
     // 1
     private String tenantName;

+ 18 - 0
src/main/java/cn/cslg/pas/service/MailSendService.java

@@ -289,4 +289,22 @@ public class MailSendService {
             rabbitMQUtils.sendEmailMessage(map);
         }
     }
+
+    public void sendMatchCasePersonEmail(MailMessageDTO mailMessageDTO) {
+        List<String> emails = mailMessageDTO.getEmails();
+        if (emails != null && !emails.isEmpty()) {
+            Map<String, Object> map = new LinkedHashMap<>();
+            String title = "实际处理人分配通知:" + mailMessageDTO.getReportName();
+            map.put("title", title);
+            map.put("template", "mail/sendMatchCasePerson.html");
+            map.put("img", "/logo.png");
+            String[] emailArray = emails.toArray(new String[0]);
+            map.put("emails", emailArray);
+            map.put("value1", mailMessageDTO.getName());
+            map.put("value2", mailMessageDTO.getReportName());
+            map.put("value3", mailMessageDTO.getUrl());
+            rabbitMQUtils.sendEmailMessage(map);
+        }
+    }
+
 }

+ 15 - 0
src/main/java/cn/cslg/pas/service/report/MatchCasePersonService.java

@@ -1,16 +1,23 @@
 package cn.cslg.pas.service.report;
 
 import cn.cslg.pas.common.model.cronModel.PersonnelVO;
+import cn.cslg.pas.common.model.cronModel.SystemFile;
+import cn.cslg.pas.common.model.report.MailMessageDTO;
 import cn.cslg.pas.common.model.report.QueryMatchCasePersonVO;
 import cn.cslg.pas.common.model.report.UpdateIprPersonDTO;
 import cn.cslg.pas.common.model.report.UpdateMatchCasePersonDTO;
 import cn.cslg.pas.common.utils.CacheUtils;
 import cn.cslg.pas.common.utils.LoginUtils;
+import cn.cslg.pas.domain.business.Project;
+import cn.cslg.pas.domain.business.ReportProject;
 import cn.cslg.pas.domain.report.AssoIprReportType;
 import cn.cslg.pas.domain.report.IprPerson;
 import cn.cslg.pas.exception.ExceptionEnum;
 import cn.cslg.pas.exception.XiaoShiException;
+import cn.cslg.pas.service.business.ProjectService;
+import cn.cslg.pas.service.business.ReportProjectService;
 import cn.cslg.pas.service.permissions.PermissionService;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import cn.cslg.pas.domain.report.MatchCasePerson;
@@ -21,8 +28,10 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.regex.Pattern;
+import java.util.stream.Collectors;
 
 /**
  * @author admin
@@ -36,6 +45,10 @@ public class MatchCasePersonService extends ServiceImpl<MatchCasePersonMapper, M
     private final CacheUtils cacheUtils;
     @Autowired
     @Lazy
+    private SendReportMailService sendReportMailService;
+
+    @Autowired
+    @Lazy
     private IprPersonService iprPersonService;
 
     public Integer updateMatchCasePerson(UpdateMatchCasePersonDTO updateMatchCasePersonDTO) {
@@ -77,6 +90,7 @@ public class MatchCasePersonService extends ServiceImpl<MatchCasePersonMapper, M
         updateMatchCasePersonDTO.setName(name);
         updateMatchCasePersonDTO.setIprPersonId(iprPersonId);
         MatchCasePerson matchCasePerson = this.addMatchCasePersonDB(updateMatchCasePersonDTO);
+        sendReportMailService.sendMatchCasePersonMail(matchCasePerson.getProjectId(), name, email);
         return matchCasePerson.getId();
     }
 
@@ -148,6 +162,7 @@ public class MatchCasePersonService extends ServiceImpl<MatchCasePersonMapper, M
         this.remove(queryWrapper);
     }
 
+
 }
 
 

+ 22 - 1
src/main/java/cn/cslg/pas/service/report/SendReportMailService.java

@@ -158,7 +158,6 @@ public class SendReportMailService {
         return name + " <" + email + ">";
     }
 
-
     public void finalSendEmail(Integer projectId, List<String> fileGuids, List<ExtraEmailDTO> extraEmailDTOS) {
         MailMessageDTO mailMessageDTO = this.loadingData(projectId, fileGuids);
         if (mailMessageDTO != null) {
@@ -173,4 +172,26 @@ public class SendReportMailService {
             }
         }
     }
+
+    public void sendMatchCasePersonMail(Integer projectId, String name, String email) {
+        MailMessageDTO mailMessageDTO = this.loadMatchCaseData(projectId, name, email);
+        if (mailMessageDTO != null) {
+            mailSendService.sendMatchCasePersonEmail(mailMessageDTO);
+        }
+    }
+
+    public MailMessageDTO loadMatchCaseData(Integer projectId, String name, String email) {
+        MailMessageDTO mailMessageDTO = new MailMessageDTO();
+        List<String> emails = new ArrayList<>();
+        emails.add(email);
+        mailMessageDTO.setName(name);
+        mailMessageDTO.setEmail(email);
+        mailMessageDTO.setEmails(emails);
+        // url配置
+        mailMessageDTO.setUrl("https://www.xsip.cn/reportDetails?projectId=" + projectId);
+        //报告名称配置
+        Project project = projectService.getById(projectId);
+        mailMessageDTO.setReportName(project.getName());
+        return mailMessageDTO;
+    }
 }