zjr0325-新增邮件管理-优化
This commit is contained in:
parent
80e89777d2
commit
5e09b83df0
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<AdminUser> adminUsers, List<AdminUser> configAdminUsers, String subject,String content) throws MessagingException {
|
||||
Set<AdminUser> 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<AppUser> users,String subject,String content) throws MessagingException {
|
||||
if (CollectionUtil.isNotEmpty(users)){
|
||||
for (AppUser user:users) {
|
||||
|
|
|
|||
|
|
@ -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<SendMsgConfigUserReceiverTypeEnum, List<AdminUser>> sendMsgConfigAdminUserMap = sendMsgConfigService.getAdminUserMapByDataTypeAndRemindType(SendMsgConfigDataTypeEnum.MOBILE_BROKEN_TICKET, SendMsgConfigRemindTypeEnum.TITLE_TICKET_TIMEOUT);
|
||||
Map<SendMsgConfigUserReceiverTypeEnum, List<AdminUser>> sendMsgConfigAdminUserMap = sendMsgConfigService.getAdminUserMapByDataTypeAndRemindType(SendMsgConfigDataTypeEnum.GONGFU_TICKET, SendMsgConfigRemindTypeEnum.TITLE_TICKET_TIMEOUT);
|
||||
|
||||
List<AdminUser> 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<AdminUser> adminUsers, List<AdminUser> configAdminUsers, String subject,String content) throws MessagingException {
|
||||
Set<AdminUser> 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<AppUser> users, String subject, String content) throws MessagingException {
|
||||
if (CollectionUtil.isNotEmpty(users)) {
|
||||
for (AppUser user : users) {
|
||||
|
|
|
|||
|
|
@ -29,4 +29,5 @@ public interface ISendMsgConfigService extends IService<SendMsgConfig> {
|
|||
|
||||
Map<SendMsgConfigUserReceiverTypeEnum, List<AppUser>> getAppUserMapByDataTypeAndRemindType(SendMsgConfigDataTypeEnum dataTypeEnum, SendMsgConfigRemindTypeEnum remindTypeEnum);
|
||||
|
||||
void removeSendMsgConfigByIds(List<Long> ids);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<SendMsgConfigMapper, S
|
|||
return resultMap;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void removeSendMsgConfigByIds(List<Long> ids) {
|
||||
removeByIds(ids);
|
||||
sendMsgConfigUserService.remove(Wrappers.lambdaQuery(SendMsgConfigUser.class).in(SendMsgConfigUser::getSendMsgConfigId, ids));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue