diff --git a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/event/TicketCreateEvent.java b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/event/TicketCreateEvent.java index 29a416be..080fa489 100644 --- a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/event/TicketCreateEvent.java +++ b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/event/TicketCreateEvent.java @@ -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 adminUsers =new ArrayList<>(); //发给所属CQM负责人 List 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 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 emails, String subject, String content) throws MessagingException { + if (CollectionUtil.isNotEmpty(emails)){ + for (String email:emails) { + emailService.sendEmail(email,subject,content); } } }