update 邮件发送异常时的报错

fix bug 40935 我的消息--工作组项目发布会议--系统通知收到了邮件的通知内容
This commit is contained in:
lijiarao
2021-10-19 15:18:17 +08:00
parent b2c8a2e78c
commit 87d337d00e
2 changed files with 33 additions and 23 deletions
@@ -30,6 +30,7 @@ import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.core.env.Environment;
import org.springframework.mail.MailAuthenticationException;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -73,25 +74,21 @@ public class SendMessageServiceImpl implements SendMessageService {
//模板内容
String content = sysSmsTemplate.getTemplateContent();
HashMap<String,String> map = sendMessageDTO.getTemplateParam();
if (Objects.equals(sendMessageDTO.getUseTemplate(),false)){
content = map.get("value");
}else {
if(!Objects.isNull(map)) {
// 替换企业端系统url与小程序名称
// todo 替换系统地址,小程序名称
if(Objects.equals(sendMessageDTO.getTemplateCode(),CompanyMessageEnums.MSG2.getCode())
|| Objects.equals(sendMessageDTO.getTemplateCode(),CompanyMessageEnums.MSG3.getCode())
|| Objects.equals(sendMessageDTO.getTemplateCode(),CompanyMessageEnums.MSG4.getCode())
|| Objects.equals(sendMessageDTO.getTemplateCode(),CompanyMessageEnums.MSG6.getCode())
|| Objects.equals(sendMessageDTO.getTemplateCode(),CompanyMessageEnums.MSG7.getCode())
|| Objects.equals(sendMessageDTO.getTemplateCode(),CompanyMessageEnums.MSG12.getCode())){
map.put("systemAddress",env.getProperty("message.systemUrl"));
map.put("wxName",env.getProperty("message.wxName"));
}
for (Map.Entry<String, String> entry : map.entrySet()) {
String str = "${" + entry.getKey() + "}";
content = content.replace(str, entry.getValue());
}
if(!Objects.isNull(map)) {
// 替换企业端系统url与小程序名称
// todo 替换系统地址,小程序名称
if(Objects.equals(sendMessageDTO.getTemplateCode(),CompanyMessageEnums.MSG2.getCode())
|| Objects.equals(sendMessageDTO.getTemplateCode(),CompanyMessageEnums.MSG3.getCode())
|| Objects.equals(sendMessageDTO.getTemplateCode(),CompanyMessageEnums.MSG4.getCode())
|| Objects.equals(sendMessageDTO.getTemplateCode(),CompanyMessageEnums.MSG6.getCode())
|| Objects.equals(sendMessageDTO.getTemplateCode(),CompanyMessageEnums.MSG7.getCode())
|| Objects.equals(sendMessageDTO.getTemplateCode(),CompanyMessageEnums.MSG12.getCode())){
map.put("systemAddress",env.getProperty("message.systemUrl"));
map.put("wxName",env.getProperty("message.wxName"));
}
for (Map.Entry<String, String> entry : map.entrySet()) {
String str = "${" + entry.getKey() + "}";
content = content.replace(str, entry.getValue());
}
}
// 1短信 2邮件 3系统
@@ -118,11 +115,23 @@ public class SendMessageServiceImpl implements SendMessageService {
if(!CollectionUtils.isEmpty(sendMessageDTO.getListFile())){
emailHandle.SendMsgAndFile(sendMessageDTO.getEmail(), title, content,sendMessageDTO.getListFile());
}else{
emailHandle.SendMsg(sendMessageDTO.getEmail(), title, content);
//如果有通知内容就替换
if (Objects.equals(sendMessageDTO.getUseTemplate(),false)){
emailHandle.SendMsg(sendMessageDTO.getEmail(), title, map.get("value"));
}else {
emailHandle.SendMsg(sendMessageDTO.getEmail(), title, content);
}
}
}catch (Exception e){
log.error("发送邮件异常",e);
// throw new JeroBootException("邮件发送失败!");
if (e.getMessage() !=null){
if (e.getMessage().contains("javax.mail.AuthenticationFailedException")){
throw new JeroBootException("邮件发送失败,发件人的邮箱或邮箱密码错误!");
}
if (e.getMessage().contains("java.net.ConnectException")){
throw new JeroBootException("邮件发送失败,邮箱服务器连接超时!");
}
}
}
}
// 发送消息
@@ -376,6 +376,7 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
}
@Override
@Transactional
public void publishReminder(PublishReminderVO publishReminderVO) {
List<String> meetingIds = publishReminderVO.getMeetingIds();
List<String> subitemIds = publishReminderVO.getSubitemIds();
@@ -460,9 +461,9 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
if (StringUtils.isNotBlank(payMeeting.getNotice())){
sendMessageDTO.setUseTemplate(false);
map.put("value",payMeeting.getNotice());
}else {
map.put("meetingName",payMeeting.getMeetingName());
}
map.put("meetingName",payMeeting.getMeetingName());
sendMessageDTO.setEmail(PasswordUtil.decrypt(email));
sendMessageDTO.setToUser(PasswordUtil.decrypt(phone));
sendMessageDTO.setPhone(PasswordUtil.decrypt(phone));