feat: 添加子模块-工作流 集成相关配置

This commit is contained in:
super_liu
2021-06-08 22:23:40 +08:00
parent 79beef6692
commit 2b5164ddd3
56 changed files with 4461 additions and 0 deletions
@@ -0,0 +1,296 @@
package com.adc.da.sys.common;
import com.adc.da.exception.ServiceException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.MailException;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.File;
import java.io.UnsupportedEncodingException;
@Component
public class EmailUtils {
private final Logger logger = LoggerFactory.getLogger(getClass());
/**
* The Mail sender.
*/
@Autowired
JavaMailSender mailSender;
@Value("${mail.valid}")
private boolean mailValid;
@Value("${spring.mail.username}")
private String userName;
/**
* Send simple email.
*
* @param deliver the deliver
* @param receiver the receiver
* @param subject the subject
* @param content the content
* @throws ServiceException the service exception
*/
public void sendSimpleEmail(String deliver,String personName, String receiver, String subject, String content) throws ServiceException {
if(mailValid){
String[] receivers = {receiver};
sendSimpleEmail(deliver,personName, receivers, null, subject, content);
}
}
/**
* Send simple email.
*
* @param deliver the deliver
* @param receiver the receiver
* @param carbonCopy the carbon copy
* @param subject the subject
* @param content the content
* @throws ServiceException the service exception
*/
public void sendSimpleEmail(String deliver,String personName, String[] receiver, String[] carbonCopy, String subject, String content) throws ServiceException {
long startTimestamp = System.currentTimeMillis();
logger.info("Start send mail ... ");
try {
SimpleMailMessage message = new SimpleMailMessage();
personName=javax.mail.internet.MimeUtility.encodeText(personName);
message.setFrom(personName + "<"+deliver+">");
message.setTo(receiver);
if(carbonCopy!=null && carbonCopy.length>0){
message.setCc(carbonCopy);
}
message.setSubject(subject);
message.setText(content);
mailSender.send(message);
logger.info("Send mail success, cost {} million seconds", System.currentTimeMillis() - startTimestamp);
} catch (MailException e) {
logger.error("Send mail failed, error message is : {} \n", e.getMessage());
logger.error(e.getMessage(),e);
throw new ServiceException(e.getMessage());
} catch (UnsupportedEncodingException e) {
logger.error("Send mail failed, error message is : {} \n", e.getMessage());
logger.error(e.getMessage(),e);
throw new ServiceException(e.getMessage());
}
}
/**
* Send html email.
*
* @param deliver the deliver
* @param receiver the receiver
* @param subject the subject
* @param content the content
* @throws ServiceException the service exception
*/
public void sendHtmlEmail(String deliver, String receiver, String subject, String content) throws ServiceException {
String[] receivers = {receiver};
sendHtmlEmail(deliver, receivers, null, subject, content, true);
}
/**
* Send html email.
*
* @param deliver the deliver
* @param receiver the receiver
* @param carbonCopy the carbon copy
* @param subject the subject
* @param content the content
* @param isHtml the is html
* @throws ServiceException the service exception
*/
public void sendHtmlEmail(String deliver, String[] receiver, String[] carbonCopy, String subject, String content, boolean isHtml) throws ServiceException {
long startTimestamp = System.currentTimeMillis();
logger.info("Start send email ...");
try {
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper messageHelper = new MimeMessageHelper(message);
messageHelper.setFrom(deliver);
messageHelper.setTo(receiver);
messageHelper.setCc(carbonCopy);
messageHelper.setSubject(subject);
messageHelper.setText(content, isHtml);
mailSender.send(message);
logger.info("Send email success, cost {} million seconds", System.currentTimeMillis() - startTimestamp);
} catch (MessagingException e) {
logger.error("Send email failed, error message is {} \n", e.getMessage());
logger.error(e.getMessage(),e);
throw new ServiceException(e.getMessage());
}
}
/**
* Send attachment file email.
*
* @param deliver the deliver
* @param receiver the receiver
* @param subject the subject
* @param content the content
* @param fileName the file name
* @param file the file
* @throws ServiceException the service exception
*/
public void sendAttachmentFileEmail(String deliver, String receiver, String subject, String content, String fileName, File file) throws ServiceException {
String[] receivers = {receiver};
sendAttachmentFileEmail(deliver, receivers, null, subject, content, true, fileName, file);
}
/**
* Send attachment file mail.
*
* @param deliver the deliver
* @param receiver the receiver
* @param carbonCopy the carbon copy
* @param subject the subject
* @param content the content
* @param isHtml the is html
* @param fileName the file name
* @param file the file
* @throws ServiceException the service exception
*/
public void sendAttachmentFileEmail(String deliver, String[] receiver, String[] carbonCopy, String subject, String content, boolean isHtml, String fileName, File file) throws ServiceException {
long startTimestamp = System.currentTimeMillis();
logger.info("Start send mail ...");
try {
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper messageHelper = new MimeMessageHelper(message, true);
messageHelper.setFrom(deliver);
messageHelper.setTo(receiver);
messageHelper.setCc(carbonCopy);
messageHelper.setSubject(subject);
messageHelper.setText(content, isHtml);
messageHelper.addAttachment(fileName, file);
mailSender.send(message);
logger.info("Send mail success, cost {} million seconds", System.currentTimeMillis() - startTimestamp);
} catch (MessagingException e) {
logger.error("Send mail failed, error message is {}\n", e.getMessage());
logger.error(e.getMessage(),e);
throw new ServiceException(e.getMessage());
}
}
/* *//**
* Send template email.
*
* @param deliver the deliver
* @param receiver the receiver
* @param subject the subject
* @param template the template
* @param context the context
* @throws ServiceException the service exception
*//*
public void sendTemplateEmail(String deliver, String receiver, String subject, String template, Context context) throws ServiceException {
String[] receivers = {receiver};
sendTemplateEmail(deliver, receivers, null, subject, template, context);
}*/
/* *//**
* Send template mail.
* @throws ServiceException the service exception
*//*
public void sendTemplateEmail(String deliver, String[] receiver, String[] carbonCopy, String subject, String template, Context context) throws ServiceException {
long startTimestamp = System.currentTimeMillis();
logger.info("Start send mail ...");
try {
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper messageHelper = new MimeMessageHelper(message);
String content = templateEngine.process(template, context);
messageHelper.setFrom(deliver);
messageHelper.setTo(receiver);
messageHelper.setCc(carbonCopy);
messageHelper.setSubject(subject);
messageHelper.setText(content, true);
mailSender.send(message);
logger.info("Send mail success, cost {} million seconds", System.currentTimeMillis() - startTimestamp);
} catch (MessagingException e) {
logger.error("Send mail failed, error message is {} \n", e.getMessage());
e.printStackTrace();
throw new ServiceException(e.getMessage());
}
}*/
@Async
public void sendMsg(String[] tos,String msg){
//创建简单邮件消息
SimpleMailMessage message = new SimpleMailMessage();
//谁发的
message.setFrom(userName);
//谁要接收
message.setTo(tos);
//邮件标题
message.setSubject(msg);
//邮件内容
message.setText(msg);
try {
mailSender.send(message);
} catch (MailException e) {
e.printStackTrace();
}
}
@Async
public void sendMsgFeign(String[] tos,String title, String msg){
//创建简单邮件消息
SimpleMailMessage message = new SimpleMailMessage();
//谁发的
message.setFrom(userName);
//谁要接收
message.setTo(tos);
//邮件标题
message.setSubject(title);
//邮件内容
message.setText(msg);
try {
mailSender.send(message);
} catch (MailException e) {
e.printStackTrace();
}
}
@Async
public void sendMsgWithCC(String[] tos,String[] cc,String msg){
//创建简单邮件消息
SimpleMailMessage message = new SimpleMailMessage();
//谁发的
message.setFrom(userName);
//谁要接收
message.setTo(tos);
//抄送
message.setCc(cc);
//邮件标题
message.setSubject(msg);
//邮件内容
message.setText(msg);
try {
mailSender.send(message);
} catch (MailException e) {
e.printStackTrace();
}
}
}