123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- package cn.cslg.pas.service;
- import cn.cslg.pas.common.model.cronModel.Personnel;
- import cn.cslg.pas.common.utils.RabbitMQUtils;
- import cn.cslg.pas.service.permissions.PermissionService;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONObject;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.stereotype.Service;
- import java.util.*;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- @Service
- public class MailSendService {
- @Autowired
- private PermissionService permissionService;
- @Value("${PASUrl}")
- private String url;
- @Autowired
- private RabbitMQUtils rabbitMQUtils;
- //发送协同邮件
- public String sendSynery(String personId, Boolean ifInner, Integer projectId, Integer taskId, Integer reportType, String code) {
- Map<String, Object> map = new LinkedHashMap<>();
- map.put("title", "任务通知");
- String name = "";
- //判断是否为内部人员
- if (ifInner) {
- String res = "";
- try {
- res = permissionService.getPersonnelByIdsFromPCS(Arrays.asList(personId));
- } catch (Exception e) {
- }
- if (!res.equals("")) {
- map.put("template", "mail/SyneryInside.html");
- JSONObject jsonObject = JSONObject.parseObject(res);
- List<Personnel> personnels = JSON.parseArray(jsonObject.getString("data"), Personnel.class);
- map.put("value1", personnels.get(0).getPersonnelName());
- map.put("email", personnels.get(0).getPersonnelEmail());
- map.put("img", "/logo.png");
- map.put("value2", url + "/Incomplete?taskId=" + taskId + "&reportId=" + projectId + "&type=1" + "&reportType=" + reportType);
- }
- } else {
- map.put("template", "mail/Synery.html");
- String orgin = personId;
- String parStr = "\\<([^}]*)\\>";
- Pattern pattern = Pattern.compile(parStr);
- Matcher matcher = pattern.matcher(orgin);
- if (matcher.find()) {
- String personName = orgin.substring(0, matcher.start());
- String email = matcher.group(0);
- email = email.replace("<", "");
- email = email.replace(">", "");
- map.put("value1", personName);
- map.put("email", email);
- map.put("img", "/logo.png");
- map.put("value2", code);
- map.put("value3", url + "/identificationCode");
- }
- }
- rabbitMQUtils.sendEmailMessage(map);
- return name;
- }
- //发送邮件给抄送人
- public void sentToCCMail(String personId, Boolean ifInner, String createPersonName) {
- Map<String, Object> map = new LinkedHashMap<>();
- map.put("title", "任务通知");
- //判断是否为内部人员
- if (ifInner) {
- String res = "";
- try {
- res = permissionService.getPersonnelByIdsFromPCS(Arrays.asList(personId));
- } catch (Exception e) {
- }
- if (!res.equals("")) {
- map.put("template", "mail/SyneryTo.html");
- JSONObject jsonObject = JSONObject.parseObject(res);
- List<Personnel> personnels = JSON.parseArray(jsonObject.getString("data"), Personnel.class);
- map.put("value1", personnels.get(0).getPersonnelName());
- map.put("email", personnels.get(0).getPersonnelEmail());
- map.put("img", "/logo.png");
- map.put("value2", createPersonName);
- rabbitMQUtils.sendEmailMessage(map);
- }
- } else {
- map.put("template", "mail/Synery.html");
- String orgin = personId;
- String parStr = "\\<([^}]*)\\>";
- Pattern pattern = Pattern.compile(parStr);
- Matcher matcher = pattern.matcher(orgin);
- if (matcher.find()) {
- String personName = orgin.substring(0, matcher.start());
- String email = matcher.group(0);
- email = email.replace("<", "");
- email = email.replace(">", "");
- map.put("value1", createPersonName);
- map.put("email", email);
- map.put("img", "/logo.png");
- map.put("value2", personName);
- }
- }
- 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);
- }
- }
- }
|