Bladeren bron

3/8 邮件发送模块添加

lwhhszx 1 jaar geleden
bovenliggende
commit
1f20de6921

+ 41 - 4
src/main/java/cn/cslg/pas/service/MailSendService.java

@@ -9,10 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
-import java.util.Arrays;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -109,4 +106,44 @@ public class MailSendService {
         }
         rabbitMQUtils.sendEmailMessage(map);
     }
+
+    //任务开始邮件
+    public void sendAddTaskEmail(String taskName, String addPerson, String endTime, String handlePerson, String email) {
+        Map<String, Object> map = new LinkedHashMap<>();
+        map.put("title", "任务通知");
+        map.put("template", "mail/eTask.html");
+        map.put("value1", handlePerson);
+        map.put("img", "\\src\\main\\resources\\mail\\logo.png");
+        map.put("email", email);
+        map.put("value2", addPerson);
+        map.put("value3", taskName);
+        map.put("value4", endTime);
+        map.put("value5", url);
+        rabbitMQUtils.sendEmailMessage(map);
+    }
+
+    public void sendImportTaskDoneEmail(String taskTypeName, String taskName, String personId) {
+        String res = "";
+        try {
+            res = permissionService.getPersonnelByIdsFromPCS(Arrays.asList(personId));
+        } catch (Exception e) {
+        }
+        if (!res.equals("")) {
+            JSONObject jsonObject = JSONObject.parseObject(res);
+            List<Personnel> personnels = JSON.parseArray(jsonObject.getString("data"), Personnel.class);
+           Personnel personnel =personnels.get(0);
+            Map<String, Object> map = new LinkedHashMap<>();
+            map.put("title","任务通知");
+            map.put("template","mail/eTaskDone.html");
+            map.put("value1",personnel.getPersonnelName());
+            map.put("img","\\src\\main\\resources\\mail\\logo.png");
+            map.put("email",personnel.getPersonnelEmail());
+            map.put("value2",taskTypeName);
+            map.put("value3",taskName);
+            rabbitMQUtils.sendEmailMessage(map);
+        }
+
+
+
+}
 }

+ 11 - 7
src/main/java/cn/cslg/pas/service/importPatent/TaskThread.java

@@ -11,6 +11,7 @@ import cn.cslg.pas.domain.business.ImportTask;
 import cn.cslg.pas.domain.es.Patent;
 import cn.cslg.pas.factorys.PatentImportFactory.PatentImportFactory;
 import cn.cslg.pas.factorys.PatentImportFactory.PatentImportImp;
+import cn.cslg.pas.service.MailSendService;
 import cn.cslg.pas.service.business.CommonService;
 import cn.cslg.pas.service.business.ImportTaskService;
 import cn.cslg.pas.service.common.MessageService;
@@ -113,8 +114,8 @@ public class TaskThread extends Thread {
         ImportTaskConfig config = configs.stream().filter(item -> item.getTaskType().equals(importTaskAMVO.getType()) && item.getImportTo().equals(Constants.IMPORT_PATENT_TO)).findFirst().orElse(null);
         PatentImportImp patentImportImp = patentImportFactory.getClass(config.getImportClass());
         patentImportImp.setTaskThread(this);
-      Boolean flag=  patentImportImp.startPatentThread();
-        if(flag) {
+        Boolean flag = patentImportImp.startPatentThread();
+        if (flag) {
             taskThreadLock.lock();
             try {
                 taskThreadCondition.await();
@@ -127,6 +128,9 @@ public class TaskThread extends Thread {
         if (importTaskAMVO.getState().equals(1)) {
             task.setState(2);
             importTaskAMVO.setState(2);
+            MailSendService mailSendService = applicationContext.getBean(MailSendService.class);
+
+            mailSendService.sendImportTaskDoneEmail("导入任务",task.getName(),task.getCreateId());
 
         } else {
             task.setState(importTaskAMVO.getState());
@@ -136,9 +140,9 @@ public class TaskThread extends Thread {
         task.updateById();
         MessageService messageService = applicationContext.getBean(MessageService.class);
         messageService.sendAllDoneMessage(importTaskAMVO);
-        SchedulingTaskService schedulingTaskService =applicationContext.getBean(SchedulingTaskService.class);
-   schedulingTaskService.removeTaskAMVO(importTaskAMVO.getId());
-   schedulingTaskService.startTask();
+        SchedulingTaskService schedulingTaskService = applicationContext.getBean(SchedulingTaskService.class);
+        schedulingTaskService.removeTaskAMVO(importTaskAMVO.getId());
+        schedulingTaskService.startTask();
     }
 
 
@@ -148,7 +152,7 @@ public class TaskThread extends Thread {
     public void awakeTaskThread() {
         synchronized ("导入任务是否完成") {
             importTaskAMVO.setThreadDoneCounter(importTaskAMVO.getThreadDoneCounter() + 1);
-            System.out.println("任务已经完成第"+importTaskAMVO.getThreadDoneCounter());
+            System.out.println("任务已经完成第" + importTaskAMVO.getThreadDoneCounter());
             if (importTaskAMVO.getThreadCounter().equals(importTaskAMVO.getThreadDoneCounter())) {
 
                 System.out.println("任务已经完成");
@@ -163,7 +167,7 @@ public class TaskThread extends Thread {
         }
     }
 
-    public  void doneTask(){
+    public void doneTask() {
         if (taskThreadLock.tryLock()) {
             //taskLock.lock();
             taskThreadCondition.signalAll();

+ 13 - 0
src/test/java/cn/cslg/pas/service/PDFBoxTests.java

@@ -0,0 +1,13 @@
+package cn.cslg.pas.service;
+
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+public class PDFBoxTests {
+    public  void test(){
+
+
+
+
+    }
+}