diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageLetterQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageLetterQueueReceiver.java index 693bd0f..27cfec1 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageLetterQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageLetterQueueReceiver.java @@ -17,6 +17,7 @@ import org.slf4j.LoggerFactory; import org.springframework.amqp.core.Message; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; import org.springframework.stereotype.Component; import java.io.IOException; @@ -29,6 +30,7 @@ import java.util.List; * @CreateDate : 2018-11-15 22:35 * @Modify: **/ +@ConditionalOnExpression("'${impp.mq.queue.letter}' == 'true'") @Component public class MessageLetterQueueReceiver { private static final Logger LOGGER = LoggerFactory.getLogger(MessageLetterQueueReceiver.class); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageMailQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageMailQueueReceiver.java index 930c657..d2afbb4 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageMailQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageMailQueueReceiver.java @@ -17,6 +17,7 @@ import org.slf4j.LoggerFactory; import org.springframework.amqp.core.Message; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; import org.springframework.stereotype.Component; import java.io.IOException; @@ -28,6 +29,7 @@ import java.io.IOException; * @CreateDate : 2018-11-15 22:15 * @Modify: **/ +@ConditionalOnExpression("'${impp.mq.queue.mail}' == 'true'") @Component public class MessageMailQueueReceiver { private static final Logger LOGGER = LoggerFactory.getLogger(MessageMailQueueReceiver.class); @@ -54,14 +56,21 @@ public class MessageMailQueueReceiver { // 系统预警邮件与用户邮件判断 if(PlatformConstWords.CONTACT_MAIL.equals(msg.getMessageReceiversId())){ - // 发送邮件 mailUtil.setSubject(msg.getMessageTitle()); mailUtil.setContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.valueOfDescription(msg.getMessageContentType())); mailUtil.setBody(msg.getMessageContent()); + // 发送给系统配置中的紧急联系人 mailUtil.setTo(sysConfigService.getSysConfigByCode(PlatformConstWords.CONTACT_MAIL).getConfigValue()); - //信息已处理 mailUtil.send(); - }else { + + } else if(PlatformConstWords.EXTERNAL_MAIL.equals(msg.getMessageReceiversId())){ //判断是否为外部邮件 + mailUtil.setSubject(msg.getMessageTitle()); + mailUtil.setContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.valueOfDescription(msg.getMessageContentType())); + mailUtil.setBody(msg.getMessageContent()); + mailUtil.setTo(StringUtils.split(msg.getMessageReceiversNameRdd(),",")); + mailUtil.send(); + + } else{ // 收件人信息 String[] messageReceiver = msg.getMessageReceiversId().split(","); @@ -86,7 +95,7 @@ public class MessageMailQueueReceiver { sysMessageService.insertSysRefUserMessage(refUserMessage); - // 发送邮件 + // 设置邮件主题内容及收件人 mailUtil.setSubject(msg.getMessageTitle()); mailUtil.setContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.valueOfDescription(msg.getMessageContentType())); mailUtil.setBody(msg.getMessageContent()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/ScheduleQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/ScheduleQueueReceiver.java index 77ef932..026bd10 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/ScheduleQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/ScheduleQueueReceiver.java @@ -1,7 +1,11 @@ package cn.estsh.i3plus.core.apiservice.mq; import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskPlanService; +import cn.estsh.i3plus.platform.common.tool.TimeTool; import cn.estsh.i3plus.platform.common.util.PlatformConstWords; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; +import cn.estsh.i3plus.pojo.platform.bean.SysMessage; import cn.estsh.i3plus.pojo.platform.bean.SysTaskPlan; import cn.estsh.i3plus.pojo.platform.platbean.SysLogTaskTime; import com.rabbitmq.client.Channel; @@ -9,7 +13,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.amqp.core.Message; import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; import org.springframework.stereotype.Component; import java.io.IOException; @@ -21,6 +27,7 @@ import java.io.IOException; * @CreateDate : 2018-12-20 21:56 * @Modify: **/ +@ConditionalOnExpression("'${impp.mq.queue.schedule}' == 'true'") @Component public class ScheduleQueueReceiver { @@ -29,6 +36,9 @@ public class ScheduleQueueReceiver { @Autowired private ISysTaskPlanService sysTaskPlanService; + @Autowired + private RabbitTemplate rabbitTemplate; + /** * 定时任务通道处理 * @param logTaskTime @@ -44,7 +54,7 @@ public class ScheduleQueueReceiver { taskPlan.setLastRunDateTime(logTaskTime.getCreateDatetime()); taskPlan.setTaskPlanExecNum(taskPlan.getTaskPlanExecNum() + 1); taskPlan.setTaskPlanStatus(logTaskTime.getTaskStatus()); - //更新任务状态以及最后执行时间 + // 更新任务状态以及最后执行时间 sysTaskPlanService.updateSysTaskPlan(taskPlan); // 添加定时任务日志 @@ -53,6 +63,35 @@ public class ScheduleQueueReceiver { logTaskTime.setTaskCycleExpsRdd(taskPlan.getTaskCycleExpsRdd()); sysTaskPlanService.logInsertSysLogTaskTime(logTaskTime); + // 定时任务失败通知 + if (CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == logTaskTime.getTaskStatus() + && CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == taskPlan.getIsNotice()) { + // 设置通知邮件内容 + SysMessage sysMessage = new SysMessage(); + sysMessage.setMessageSenderNameRdd("系统管理员"); + sysMessage.setMessageTitle("任务计划失败通知"); + sysMessage.setMessageContent( + String.format("
管理员 您好: