MailSendService.java 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. package cn.cslg.pas.service;
  2. import cn.cslg.pas.common.model.cronModel.Personnel;
  3. import cn.cslg.pas.common.utils.RabbitMQUtils;
  4. import cn.cslg.pas.service.permissions.PermissionService;
  5. import com.alibaba.fastjson.JSON;
  6. import com.alibaba.fastjson.JSONObject;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.beans.factory.annotation.Value;
  9. import org.springframework.stereotype.Service;
  10. import java.util.*;
  11. import java.util.regex.Matcher;
  12. import java.util.regex.Pattern;
  13. @Service
  14. public class MailSendService {
  15. @Autowired
  16. private PermissionService permissionService;
  17. @Value("${PASUrl}")
  18. private String url;
  19. @Autowired
  20. private RabbitMQUtils rabbitMQUtils;
  21. //发送协同邮件
  22. public String sendSynery(String personId, Boolean ifInner, Integer projectId, Integer taskId, Integer reportType, String code) {
  23. Map<String, Object> map = new LinkedHashMap<>();
  24. map.put("title", "任务通知");
  25. String name = "";
  26. //判断是否为内部人员
  27. if (ifInner) {
  28. String res = "";
  29. try {
  30. res = permissionService.getPersonnelByIdsFromPCS(Arrays.asList(personId));
  31. } catch (Exception e) {
  32. }
  33. if (!res.equals("")) {
  34. map.put("template", "mail/SyneryInside.html");
  35. JSONObject jsonObject = JSONObject.parseObject(res);
  36. List<Personnel> personnels = JSON.parseArray(jsonObject.getString("data"), Personnel.class);
  37. map.put("value1", personnels.get(0).getPersonnelName());
  38. map.put("email", personnels.get(0).getPersonnelEmail());
  39. map.put("img", "/logo.png");
  40. map.put("value2", url + "/Incomplete?taskId=" + taskId + "&reportId=" + projectId + "&type=1" + "&reportType=" + reportType);
  41. }
  42. } else {
  43. map.put("template", "mail/Synery.html");
  44. String orgin = personId;
  45. String parStr = "\\<([^}]*)\\>";
  46. Pattern pattern = Pattern.compile(parStr);
  47. Matcher matcher = pattern.matcher(orgin);
  48. if (matcher.find()) {
  49. String personName = orgin.substring(0, matcher.start());
  50. String email = matcher.group(0);
  51. email = email.replace("<", "");
  52. email = email.replace(">", "");
  53. map.put("value1", personName);
  54. map.put("email", email);
  55. map.put("img", "/logo.png");
  56. map.put("value2", code);
  57. map.put("value3", url + "/identificationCode");
  58. }
  59. }
  60. rabbitMQUtils.sendEmailMessage(map);
  61. return name;
  62. }
  63. //发送邮件给抄送人
  64. public void sentToCCMail(String personId, Boolean ifInner, String createPersonName) {
  65. Map<String, Object> map = new LinkedHashMap<>();
  66. map.put("title", "任务通知");
  67. //判断是否为内部人员
  68. if (ifInner) {
  69. String res = "";
  70. try {
  71. res = permissionService.getPersonnelByIdsFromPCS(Arrays.asList(personId));
  72. } catch (Exception e) {
  73. }
  74. if (!res.equals("")) {
  75. map.put("template", "mail/SyneryTo.html");
  76. JSONObject jsonObject = JSONObject.parseObject(res);
  77. List<Personnel> personnels = JSON.parseArray(jsonObject.getString("data"), Personnel.class);
  78. map.put("value1", personnels.get(0).getPersonnelName());
  79. map.put("email", personnels.get(0).getPersonnelEmail());
  80. map.put("img", "/logo.png");
  81. map.put("value2", createPersonName);
  82. rabbitMQUtils.sendEmailMessage(map);
  83. }
  84. } else {
  85. map.put("template", "mail/Synery.html");
  86. String orgin = personId;
  87. String parStr = "\\<([^}]*)\\>";
  88. Pattern pattern = Pattern.compile(parStr);
  89. Matcher matcher = pattern.matcher(orgin);
  90. if (matcher.find()) {
  91. String personName = orgin.substring(0, matcher.start());
  92. String email = matcher.group(0);
  93. email = email.replace("<", "");
  94. email = email.replace(">", "");
  95. map.put("value1", createPersonName);
  96. map.put("email", email);
  97. map.put("img", "/logo.png");
  98. map.put("value2", personName);
  99. }
  100. }
  101. rabbitMQUtils.sendEmailMessage(map);
  102. }
  103. //任务开始邮件
  104. public void sendAddTaskEmail(String taskName, String addPerson, String endTime, String handlePerson, String email) {
  105. Map<String, Object> map = new LinkedHashMap<>();
  106. map.put("title", "任务通知");
  107. map.put("template", "mail/eTask.html");
  108. map.put("value1", handlePerson);
  109. map.put("img", "\\src\\main\\resources\\mail\\logo.png");
  110. map.put("email", email);
  111. map.put("value2", addPerson);
  112. map.put("value3", taskName);
  113. map.put("value4", endTime);
  114. map.put("value5", url);
  115. rabbitMQUtils.sendEmailMessage(map);
  116. }
  117. public void sendImportTaskDoneEmail(String taskTypeName, String taskName, String personId) {
  118. String res = "";
  119. try {
  120. res = permissionService.getPersonnelByIdsFromPCS(Arrays.asList(personId));
  121. } catch (Exception e) {
  122. }
  123. if (!res.equals("")) {
  124. JSONObject jsonObject = JSONObject.parseObject(res);
  125. List<Personnel> personnels = JSON.parseArray(jsonObject.getString("data"), Personnel.class);
  126. Personnel personnel =personnels.get(0);
  127. Map<String, Object> map = new LinkedHashMap<>();
  128. map.put("title","任务通知");
  129. map.put("template","mail/eTaskDone.html");
  130. map.put("value1",personnel.getPersonnelName());
  131. map.put("img","\\src\\main\\resources\\mail\\logo.png");
  132. map.put("email",personnel.getPersonnelEmail());
  133. map.put("value2",taskTypeName);
  134. map.put("value3",taskName);
  135. rabbitMQUtils.sendEmailMessage(map);
  136. }
  137. }
  138. }