diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/SendMsgConfigController.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/SendMsgConfigController.java index 9c39baf4..220695e4 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/SendMsgConfigController.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/SendMsgConfigController.java @@ -1,6 +1,7 @@ package com.nflg.mobilebroken.admin.controller; import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.nflg.mobilebroken.admin.annotation.ApiMark; import com.nflg.mobilebroken.common.constant.STATE; import com.nflg.mobilebroken.common.exception.NflgException; @@ -11,7 +12,9 @@ import com.nflg.mobilebroken.common.pojo.request.SendMsgConfigGetPageRequest; import com.nflg.mobilebroken.common.pojo.request.SendMsgConfigUpdateRequest; import com.nflg.mobilebroken.common.pojo.vo.SendMsgConfigGetPageVO; import com.nflg.mobilebroken.repository.entity.SendMsgConfig; +import com.nflg.mobilebroken.repository.entity.SendMsgConfigUser; import com.nflg.mobilebroken.repository.service.ISendMsgConfigService; +import com.nflg.mobilebroken.repository.service.ISendMsgConfigUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -55,7 +58,7 @@ public class SendMsgConfigController extends ControllerBase{ if (CollectionUtil.isEmpty(ids)) { throw new NflgException(STATE.ParamErr, "ids必传"); } - sendMsgConfigService.removeByIds(ids); + sendMsgConfigService.removeSendMsgConfigByIds(ids); return ApiResult.success(true); } } diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/task/TicketScheduledTasks.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/task/TicketScheduledTasks.java index 3a138456..cc818781 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/task/TicketScheduledTasks.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/task/TicketScheduledTasks.java @@ -291,7 +291,9 @@ public class TicketScheduledTasks { .replace("${createTime}", toTimeString(ticket.getCreateTime())) .replace("${msg}", subject); try { - sendEamilForAdminUser(adminUsers, configEmailsAdminUsers, subject, content); + log.info("【工单超时提醒】发送邮件到adminUsers: {}",CollectionUtil.isNotEmpty(adminUsers) ? adminUsers.stream().map(AdminUser::getEmail).collect(Collectors.toList()) : Lists.newArrayList()); + log.info("【工单超时提醒】发送邮件到configEmailsAdminUsers: {}",CollectionUtil.isNotEmpty(configEmailsAdminUsers) ? configEmailsAdminUsers.stream().map(AdminUser::getEmail).collect(Collectors.toList()) : Lists.newArrayList()); + emailService.sendEmailForAdminUser(adminUsers, configEmailsAdminUsers, subject, content); } catch (Exception e) { log.error("【工单超时提醒】邮件发送失败", e); } @@ -346,16 +348,6 @@ public class TicketScheduledTasks { } } - private void sendEamilForAdminUser(List adminUsers, List configAdminUsers, String subject,String content) throws MessagingException { - Set adminUserSet = Sets.union(Sets.newHashSet(adminUsers), Sets.newHashSet(configAdminUsers)); - if (CollectionUtil.isNotEmpty(adminUserSet)){ - for (AdminUser adminUser:adminUserSet) { - log.info("【工单超时提醒】发送邮件到{}",adminUser.getEmail()); - emailService.sendEmail(adminUser.getEmail(),subject,content); - } - } - } - private void sendEamilForAppUser(List users,String subject,String content) throws MessagingException { if (CollectionUtil.isNotEmpty(users)){ for (AppUser user:users) { diff --git a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/task/TicketScheduledTasks.java b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/task/TicketScheduledTasks.java index 138f53d1..346abe3a 100644 --- a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/task/TicketScheduledTasks.java +++ b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/task/TicketScheduledTasks.java @@ -184,7 +184,7 @@ public class TicketScheduledTasks { * 工单超时提醒 * 每天午夜12点执行一次 */ - @Scheduled(cron = "0 0 0 * * ?") + @Scheduled(fixedRate = 10000) public void timeoutRemind() { log.info("【工单超时提醒】开始执行"); ParamConfig config = paramConfigService.lambdaQuery().eq(ParamConfig::getCode, "TiketTimeout").one(); @@ -279,7 +279,7 @@ public class TicketScheduledTasks { adminUserIds.addAll(followUserIds); } - Map> sendMsgConfigAdminUserMap = sendMsgConfigService.getAdminUserMapByDataTypeAndRemindType(SendMsgConfigDataTypeEnum.MOBILE_BROKEN_TICKET, SendMsgConfigRemindTypeEnum.TITLE_TICKET_TIMEOUT); + Map> sendMsgConfigAdminUserMap = sendMsgConfigService.getAdminUserMapByDataTypeAndRemindType(SendMsgConfigDataTypeEnum.GONGFU_TICKET, SendMsgConfigRemindTypeEnum.TITLE_TICKET_TIMEOUT); List configEmailsAdminUsers = sendMsgConfigAdminUserMap.getOrDefault(SendMsgConfigUserReceiverTypeEnum.EMAIL, Lists.newArrayList()); @@ -294,7 +294,9 @@ public class TicketScheduledTasks { .replace("${createTime}", toTimeString(ticket.getCreateTime())) .replace("${msg}", subject); try { - sendEamilForAdminUser(adminUsers, configEmailsAdminUsers, subject, content); + log.info("【工单超时提醒】发送邮件到adminUsers: {}",CollectionUtil.isNotEmpty(adminUsers) ? adminUsers.stream().map(AdminUser::getEmail).collect(Collectors.toList()) : Lists.newArrayList()); + log.info("【工单超时提醒】发送邮件到configEmailsAdminUsers: {}",CollectionUtil.isNotEmpty(configEmailsAdminUsers) ? configEmailsAdminUsers.stream().map(AdminUser::getEmail).collect(Collectors.toList()) : Lists.newArrayList()); + emailService.sendEmailForAdminUser(adminUsers, configEmailsAdminUsers, subject, content); } catch (Exception e) { log.error("【工单超时提醒】邮件发送失败", e); } @@ -309,7 +311,7 @@ public class TicketScheduledTasks { .setTitle(ticket.getTitle()) .setUserId(c.getId()) .setSourceId(Long.valueOf(ticket.getId())) - .setSource(0) + .setSource(3) .setType(MessageType.WorkOrderAssignment.getState()) .setSubType(MessageSubType.TicketTimeout.getState()) .setIsRead(false) @@ -349,16 +351,6 @@ public class TicketScheduledTasks { } } - private void sendEamilForAdminUser(List adminUsers, List configAdminUsers, String subject,String content) throws MessagingException { - Set adminUserSet = Sets.union(Sets.newHashSet(adminUsers), Sets.newHashSet(configAdminUsers)); - if (CollectionUtil.isNotEmpty(adminUserSet)){ - for (AdminUser adminUser:adminUserSet) { - log.info("【工单超时提醒】发送邮件到{}",adminUser.getEmail()); - emailService.sendEmail(adminUser.getEmail(),subject,content); - } - } - } - private void sendEamilForAppUser(List users, String subject, String content) throws MessagingException { if (CollectionUtil.isNotEmpty(users)) { for (AppUser user : users) { diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/ISendMsgConfigService.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/ISendMsgConfigService.java index 66b29402..7bde4bc2 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/ISendMsgConfigService.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/ISendMsgConfigService.java @@ -29,4 +29,5 @@ public interface ISendMsgConfigService extends IService { Map> getAppUserMapByDataTypeAndRemindType(SendMsgConfigDataTypeEnum dataTypeEnum, SendMsgConfigRemindTypeEnum remindTypeEnum); + void removeSendMsgConfigByIds(List ids); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/SendMsgConfigServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/SendMsgConfigServiceImpl.java index 729b566b..91bcf290 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/SendMsgConfigServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/SendMsgConfigServiceImpl.java @@ -29,6 +29,7 @@ import com.nflg.mobilebroken.repository.service.ISendMsgConfigService; import com.nflg.mobilebroken.repository.service.ISendMsgConfigUserService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.time.LocalDateTime; @@ -199,5 +200,10 @@ public class SendMsgConfigServiceImpl extends ServiceImpl ids) { + removeByIds(ids); + sendMsgConfigUserService.remove(Wrappers.lambdaQuery(SendMsgConfigUser.class).in(SendMsgConfigUser::getSendMsgConfigId, ids)); + } }