From 540e781056a68200f03355aa47fbc973cb07264b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Thu, 8 May 2025 16:37:51 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E5=B7=A5=E5=8D=95?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E7=9A=84=E9=82=AE=E4=BB=B6=E5=8F=91=E9=80=81?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cfs/event/TicketCreateEvent.java | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) 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); } } }