fix: 优化工单创建的邮件发送逻辑
This commit is contained in:
parent
a5ef6c9bc6
commit
540e781056
|
|
@ -19,7 +19,10 @@ import org.springframework.context.ApplicationEvent;
|
|||
import javax.mail.MessagingException;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
public class TicketCreateEvent extends ApplicationEvent implements ApplicationContextAware {
|
||||
|
|
@ -93,30 +96,32 @@ public class TicketCreateEvent extends ApplicationEvent implements ApplicationCo
|
|||
.replace("${handleUser}","")
|
||||
.replace("${createTime}",toTimeString(ticket.getCreateTime()))
|
||||
.replace("${msg}",subject);
|
||||
List<AdminUser> adminUsers =new ArrayList<>();
|
||||
//发给所属CQM负责人
|
||||
List<Integer> cqms=deviceTypeService.getCqmsByDeviceType(ticket.getDeviceNo());
|
||||
if (CollectionUtil.isNotEmpty(cqms)){
|
||||
sendEmail(adminUserService.listByIds(cqms),subject,content);
|
||||
adminUsers.addAll(adminUserService.listByIds(cqms));
|
||||
}
|
||||
//发给事业部部长
|
||||
sendEmail(adminUserService.getByTitleCode(Constant.TITLE_DIRECTOROF_BUSINESS_UNIT),subject,content);
|
||||
adminUsers.addAll(adminUserService.getByTitleCode(Constant.TITLE_DIRECTOROF_BUSINESS_UNIT));
|
||||
//发给技术主管
|
||||
sendEmail(adminUserService.getByTitleCode(Constant.TITLE_TECHNICAL_MANAGER),subject,content);
|
||||
adminUsers.addAll(adminUserService.getByTitleCode(Constant.TITLE_TECHNICAL_MANAGER));
|
||||
//发给售后主管
|
||||
sendEmail(adminUserService.getByTitleCode(Constant.TITLE_SALES_MANAGER),subject,content);
|
||||
adminUsers.addAll(adminUserService.getByTitleCode(Constant.TITLE_SALES_MANAGER));
|
||||
//发给测试主管
|
||||
sendEmail(adminUserService.getByTitleCode(Constant.TITLE_TEST_MANAGER),subject,content);
|
||||
adminUsers.addAll(adminUserService.getByTitleCode(Constant.TITLE_TEST_MANAGER));
|
||||
//发给质量主管
|
||||
sendEmail(adminUserService.getByTitleCode(Constant.TITLE_QUALITY_MANAGER),subject,content);
|
||||
adminUsers.addAll(adminUserService.getByTitleCode(Constant.TITLE_QUALITY_MANAGER));
|
||||
sendEmail(adminUsers.stream().map(AdminUser::getEmail).collect(Collectors.toSet()), subject,content);
|
||||
}catch (Exception ex){
|
||||
log.error("邮件发送失败",ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void sendEmail(List<AdminUser> adminUsers,String subject,String content) throws MessagingException {
|
||||
if (CollectionUtil.isNotEmpty(adminUsers)){
|
||||
for (AdminUser adminUser:adminUsers) {
|
||||
emailService.sendEmail(adminUser.getEmail(),subject,content);
|
||||
private void sendEmail(Set<String> emails, String subject, String content) throws MessagingException {
|
||||
if (CollectionUtil.isNotEmpty(emails)){
|
||||
for (String email:emails) {
|
||||
emailService.sendEmail(email,subject,content);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue