|
|
@ -61,66 +61,68 @@ public class ScheduleQueueReceiver {
|
|
|
|
SysLogTaskTime logTaskTime = JsonUtilTool.decode(data, SysLogTaskTime.class);
|
|
|
|
SysLogTaskTime logTaskTime = JsonUtilTool.decode(data, SysLogTaskTime.class);
|
|
|
|
LOGGER.info("【MQ-QUEUE_IMPP_SCHEDULE】数据接收成功:{}", logTaskTime);
|
|
|
|
LOGGER.info("【MQ-QUEUE_IMPP_SCHEDULE】数据接收成功:{}", logTaskTime);
|
|
|
|
// 跟新最后执行时间 及 任务状态
|
|
|
|
// 跟新最后执行时间 及 任务状态
|
|
|
|
SysTaskPlan taskPlan = sysTaskPlanService.getSysTaskPlanByNameAndGroup(logTaskTime.getName(), logTaskTime.getGroupName());
|
|
|
|
if(logTaskTime != null){
|
|
|
|
if (taskPlan != null) {
|
|
|
|
SysTaskPlan taskPlan = sysTaskPlanService.getSysTaskPlanByNameAndGroup(logTaskTime.getName(), logTaskTime.getGroupName());
|
|
|
|
taskPlan.setLastRunDateTime(logTaskTime.getCreateDatetime());
|
|
|
|
if (taskPlan != null) {
|
|
|
|
taskPlan.setTaskPlanExecNum(taskPlan.getTaskPlanExecNumValue() + 1);
|
|
|
|
taskPlan.setLastRunDateTime(logTaskTime.getCreateDatetime());
|
|
|
|
taskPlan.setTaskPlanStatus(logTaskTime.getTaskStatus());
|
|
|
|
taskPlan.setTaskPlanExecNum(taskPlan.getTaskPlanExecNumValue() + 1);
|
|
|
|
// 更新任务状态以及最后执行时间
|
|
|
|
taskPlan.setTaskPlanStatus(logTaskTime.getTaskStatus());
|
|
|
|
sysTaskPlanService.updateSysTaskPlan(taskPlan);
|
|
|
|
// 更新任务状态以及最后执行时间
|
|
|
|
|
|
|
|
sysTaskPlanService.updateSysTaskPlan(taskPlan);
|
|
|
|
|
|
|
|
|
|
|
|
// 添加定时任务日志
|
|
|
|
// 添加定时任务日志
|
|
|
|
logTaskTime.setTaskPlanId(taskPlan.getId());
|
|
|
|
logTaskTime.setTaskPlanId(taskPlan.getId());
|
|
|
|
logTaskTime.setTaskSoftTypeRdd(taskPlan.getTaskSoftTypeRdd());
|
|
|
|
logTaskTime.setTaskSoftTypeRdd(taskPlan.getTaskSoftTypeRdd());
|
|
|
|
logTaskTime.setTaskCycleNameRdd(taskPlan.getTaskCycleNameRdd());
|
|
|
|
logTaskTime.setTaskCycleNameRdd(taskPlan.getTaskCycleNameRdd());
|
|
|
|
logTaskTime.setTaskCycleExpsRdd(taskPlan.getTaskCycleExpsRdd());
|
|
|
|
logTaskTime.setTaskCycleExpsRdd(taskPlan.getTaskCycleExpsRdd());
|
|
|
|
ConvertBean.serviceModelInitialize(logTaskTime, "system");
|
|
|
|
ConvertBean.serviceModelInitialize(logTaskTime, "system");
|
|
|
|
sysTaskPlanService.logInsertSysLogTaskTime(logTaskTime);
|
|
|
|
sysTaskPlanService.logInsertSysLogTaskTime(logTaskTime);
|
|
|
|
|
|
|
|
|
|
|
|
// 定时任务失败通知
|
|
|
|
// 定时任务失败通知
|
|
|
|
if (CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == logTaskTime.getTaskStatus()
|
|
|
|
if (CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == logTaskTime.getTaskStatus()
|
|
|
|
&& CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == taskPlan.getIsNotice()) {
|
|
|
|
&& CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == taskPlan.getIsNotice()) {
|
|
|
|
// 设置通知邮件内容
|
|
|
|
// 设置通知邮件内容
|
|
|
|
SysMessage sysMessage = new SysMessage();
|
|
|
|
SysMessage sysMessage = new SysMessage();
|
|
|
|
sysMessage.setMessageSoftType(logTaskTime.getTaskSoftTypeRdd());
|
|
|
|
sysMessage.setMessageSoftType(logTaskTime.getTaskSoftTypeRdd());
|
|
|
|
sysMessage.setMessageType(taskPlan.getNoticeMethod());
|
|
|
|
sysMessage.setMessageType(taskPlan.getNoticeMethod());
|
|
|
|
sysMessage.setMessageSenderNameRdd("系统管理员");
|
|
|
|
sysMessage.setMessageSenderNameRdd("系统管理员");
|
|
|
|
sysMessage.setMessageTitle("任务计划失败通知");
|
|
|
|
sysMessage.setMessageTitle("任务计划失败通知");
|
|
|
|
sysMessage.setMessageContent(
|
|
|
|
sysMessage.setMessageContent(
|
|
|
|
String.format("<p>管理员 您好:</p><div style=\"text-align:center\">任务计划(Name: %s,GroupName: %s)执行失败,详细信息请查看定时任务日志(ID: %s).</div>",
|
|
|
|
String.format("<p>管理员 您好:</p><div style=\"text-align:center\">任务计划(Name: %s,GroupName: %s)执行失败,详细信息请查看定时任务日志(ID: %s).</div>",
|
|
|
|
taskPlan.getName(), taskPlan.getGroupName(), logTaskTime.getId())
|
|
|
|
taskPlan.getName(), taskPlan.getGroupName(), logTaskTime.getId())
|
|
|
|
);
|
|
|
|
);
|
|
|
|
sysMessage.setMessageContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.HTML.getValue());
|
|
|
|
sysMessage.setMessageContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.HTML.getValue());
|
|
|
|
sysMessage.setMessageSendTime(TimeTool.getNowTime(true));
|
|
|
|
sysMessage.setMessageSendTime(TimeTool.getNowTime(true));
|
|
|
|
sysMessage.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
|
|
|
|
sysMessage.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
|
|
|
|
// 初始数据
|
|
|
|
// 初始数据
|
|
|
|
ConvertBean.serviceModelInitialize(sysMessage, "system");
|
|
|
|
ConvertBean.serviceModelInitialize(sysMessage, "system");
|
|
|
|
|
|
|
|
|
|
|
|
// 是否内部成员
|
|
|
|
// 是否内部成员
|
|
|
|
if (CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == taskPlan.getIsInternalUser()) {
|
|
|
|
if (CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == taskPlan.getIsInternalUser()) {
|
|
|
|
sysMessage.setMessageReceiverType(ImppEnumUtil.MESSAGE_RECEIVER_TYPE.EXTERNAL.getValue());
|
|
|
|
sysMessage.setMessageReceiverType(ImppEnumUtil.MESSAGE_RECEIVER_TYPE.EXTERNAL.getValue());
|
|
|
|
sysMessage.setMessageReceiversNameRdd(taskPlan.getNoticeChannel());
|
|
|
|
sysMessage.setMessageReceiversNameRdd(taskPlan.getNoticeChannel());
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
sysMessage.setMessageReceiverType(ImppEnumUtil.MESSAGE_RECEIVER_TYPE.INTERNAL.getValue());
|
|
|
|
sysMessage.setMessageReceiverType(ImppEnumUtil.MESSAGE_RECEIVER_TYPE.INTERNAL.getValue());
|
|
|
|
// 设置收件人名称
|
|
|
|
// 设置收件人名称
|
|
|
|
String[] messageReceiver = taskPlan.getNoticeChannel().split(",");
|
|
|
|
String[] messageReceiver = taskPlan.getNoticeChannel().split(",");
|
|
|
|
String receiversName = sysUserService.findSysUserByIds(StringTool.getArrayLong(messageReceiver))
|
|
|
|
String receiversName = sysUserService.findSysUserByIds(StringTool.getArrayLong(messageReceiver))
|
|
|
|
.stream().map(e -> e.getUserName()).collect(Collectors.joining(","));
|
|
|
|
.stream().map(e -> e.getUserName()).collect(Collectors.joining(","));
|
|
|
|
|
|
|
|
|
|
|
|
sysMessage.setMessageReceiversNameRdd(receiversName);
|
|
|
|
sysMessage.setMessageReceiversNameRdd(receiversName);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 发送到对应处理队列
|
|
|
|
// 发送到对应处理队列
|
|
|
|
if (taskPlan.getNoticeMethod() != null && ImppEnumUtil.MESSAGE_TYPE.MAIL.getValue() == taskPlan.getNoticeMethod().intValue()) {
|
|
|
|
if (taskPlan.getNoticeMethod() != null && ImppEnumUtil.MESSAGE_TYPE.MAIL.getValue() == taskPlan.getNoticeMethod().intValue()) {
|
|
|
|
rabbitTemplate.convertAndSend(PlatformConstWords.QUEUE_IMPP_MESSAGE_MAIL, JSON.toJSONString(sysMessage));
|
|
|
|
rabbitTemplate.convertAndSend(PlatformConstWords.QUEUE_IMPP_MESSAGE_MAIL, JSON.toJSONString(sysMessage));
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
rabbitTemplate.convertAndSend(PlatformConstWords.QUEUE_IMPP_MESSAGE_LETTER, JSON.toJSONString(sysMessage));
|
|
|
|
rabbitTemplate.convertAndSend(PlatformConstWords.QUEUE_IMPP_MESSAGE_LETTER, JSON.toJSONString(sysMessage));
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//信息已处理
|
|
|
|
//信息已处理
|
|
|
|
channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
|
|
|
|
channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
|
|
|
|
|
|
|
|
}
|
|
|
|
} catch (IOException e) {
|
|
|
|
} catch (IOException e) {
|
|
|
|
LOGGER.error("【MQ-QUEUE_IMPP_MESSAGE_MAIL】处理出错:{}", e.getMessage(), e);
|
|
|
|
LOGGER.error("【MQ-QUEUE_IMPP_MESSAGE_MAIL】处理出错:{}", e.getMessage(), e);
|
|
|
|
//丢弃这条消息
|
|
|
|
//丢弃这条消息
|
|
|
|