|
@@ -11,10 +11,12 @@ import com.ruoyi.common.utils.RedisUtils;
|
|
|
import com.ruoyi.system.service.ISysUserService;
|
|
|
import com.ruoyi.zhdd.domain.IncidentProcess;
|
|
|
import com.ruoyi.zhdd.domain.SmsOutbox;
|
|
|
+import com.ruoyi.zhdd.domain.bo.BacklogMessagePushBo;
|
|
|
import com.ruoyi.zhdd.domain.bo.MessagePushBo;
|
|
|
import com.ruoyi.zhdd.domain.bo.MessagePushUser;
|
|
|
import com.ruoyi.zhdd.domain.vo.IncidentTaskVo;
|
|
|
import com.ruoyi.zhdd.domain.vo.IncidentVo;
|
|
|
+import com.ruoyi.zhdd.feign.FeignBacklogInfoService;
|
|
|
import com.ruoyi.zhdd.feign.FeignNoticeInfoService;
|
|
|
import com.ruoyi.zhdd.service.IIncidentProcessService;
|
|
|
import com.ruoyi.zhdd.service.IIncidentService;
|
|
@@ -45,6 +47,7 @@ import java.util.stream.Collectors;
|
|
|
public class NoticeInfoListiner {
|
|
|
|
|
|
private final FeignNoticeInfoService feignNoticeInfoService;
|
|
|
+ private final FeignBacklogInfoService feignBacklogInfoService;
|
|
|
private final IIncidentService incidentService;
|
|
|
private final IIncidentTaskService incidentTaskService;
|
|
|
private final IIncidentProcessService incidentProcessService;
|
|
@@ -76,10 +79,17 @@ public class NoticeInfoListiner {
|
|
|
String synopsis = "未知";
|
|
|
String text = "未知";
|
|
|
String messageUser = "";
|
|
|
+ String incidentId = "";
|
|
|
+ String url = "";
|
|
|
IncidentProcess incidentProcess = new IncidentProcess();
|
|
|
boolean sendFlag = true;
|
|
|
- incidentProcess.setStatus(1);
|
|
|
- if ("A".equals(type)) {
|
|
|
+
|
|
|
+ if ("1".equals(messageType)) {
|
|
|
+ incidentProcess.setStatus(1);
|
|
|
+ } else if ("2".equals(messageType) || "3".equals(messageType)) {
|
|
|
+ incidentProcess.setStatus(2);
|
|
|
+ }
|
|
|
+ /*if ("A".equals(type)) {
|
|
|
IncidentVo incidentVo = incidentService.queryById(msg.substring(2));
|
|
|
title = StrUtil.concat(true, "应急事件:", incidentVo.getName());
|
|
|
synopsis = "请查看应急事件";
|
|
@@ -88,18 +98,26 @@ public class NoticeInfoListiner {
|
|
|
incidentProcess.setIncidentStatus(1);
|
|
|
incidentProcess.setIncidentId(msg.substring(2));
|
|
|
messageUser = incidentVo.getExprJson();
|
|
|
- } else if ("B".equals(type)) {
|
|
|
+ } else*/
|
|
|
+ if ("B".equals(type)) {
|
|
|
// 查询处置方案
|
|
|
IncidentTaskVo incidentTaskVo = incidentTaskService.queryById(msg.substring(2));
|
|
|
log.info("查询的处置方案:{}", incidentTaskVo);
|
|
|
+ incidentId = incidentTaskVo.getIncidentId();
|
|
|
IncidentVo incidentVo = incidentService.queryById(incidentTaskVo.getIncidentId());
|
|
|
title = "应急处置";
|
|
|
synopsis = "请查看应急处置方案";
|
|
|
text = StrUtil.concat(true, "请查看", incidentVo.getName(), "事件的", incidentTaskVo.getTaskName(), "方案");
|
|
|
+ url = "http://sqmb.xt.wenhq.top:8083/#/status/3/detail?id=" + incidentId;
|
|
|
incidentProcess.setDes("新增处置方案:" + incidentTaskVo.getTaskName() + ",并发送");
|
|
|
incidentProcess.setIncidentStatus(3);
|
|
|
incidentProcess.setIncidentId(incidentTaskVo.getIncidentId());
|
|
|
messageUser = incidentTaskVo.getExprJson();
|
|
|
+ if ("3".equals(messageType)) {
|
|
|
+ title = "应急资源维护";
|
|
|
+ text = incidentTaskVo.getTaskName();
|
|
|
+ url = "http://sqmb.xt.wenhq.top:8083/#/warehouse/detail";
|
|
|
+ }
|
|
|
}
|
|
|
if (StrUtil.isBlank(messageUser)) {
|
|
|
sendFlag = false;
|
|
@@ -111,14 +129,32 @@ public class NoticeInfoListiner {
|
|
|
List<MessagePushUser> messagePushUsers = JSONUtil.toList(messageUser, MessagePushUser.class);
|
|
|
incidentProcessService.save(incidentProcess);
|
|
|
if (sendFlag) {
|
|
|
- messagePushBo.setMsTitle(title);
|
|
|
- messagePushBo.setMsSynopsis(synopsis);
|
|
|
- messagePushBo.setMsText(text);
|
|
|
- messagePushBo.setMsNo(incidentProcess.getId());
|
|
|
- messagePushBo.setMessageReadInfoList(messagePushUsers);
|
|
|
- if (!"dev".equals(env)) {
|
|
|
- feignNoticeInfoService.messagePush(messagePushBo);
|
|
|
+ if ("1".equals(messageType)) {
|
|
|
+ // 普通消息
|
|
|
+ messagePushBo.setMsTitle(title);
|
|
|
+ messagePushBo.setMsSynopsis(synopsis);
|
|
|
+ messagePushBo.setMsText(text);
|
|
|
+ messagePushBo.setMsNo(incidentProcess.getId());
|
|
|
+ messagePushBo.setMessageReadInfoList(messagePushUsers);
|
|
|
+ log.info("发送普通消息 => {}", messagePushBo);
|
|
|
+ if (!"dev".equals(env)) {
|
|
|
+ feignNoticeInfoService.messagePush(messagePushBo);
|
|
|
+ }
|
|
|
+ } else if ("2".equals(messageType) || "3".equals(messageType)) {
|
|
|
+ // 应急处置待办
|
|
|
+ BacklogMessagePushBo backlogMessagePushBo = new BacklogMessagePushBo();
|
|
|
+ backlogMessagePushBo.setUuid(incidentProcess.getId());
|
|
|
+ backlogMessagePushBo.setTitle(title);
|
|
|
+ backlogMessagePushBo.setText(text);
|
|
|
+ backlogMessagePushBo.setUrl(url);
|
|
|
+ List<String> userIds = messagePushUsers.stream().map(MessagePushUser::getUserId).collect(Collectors.toList());
|
|
|
+ backlogMessagePushBo.setUserId(userIds);
|
|
|
+ log.info("待办消息发送 => {}", backlogMessagePushBo);
|
|
|
+ if (!"dev".equals(env)) {
|
|
|
+ feignBacklogInfoService.backlogMessagePush(backlogMessagePushBo);
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
// 查询发送用户的手机号
|
|
|
List<String> collect = messagePushUsers.stream().map(MessagePushUser::getUserId).collect(Collectors.toList());
|
|
|
List<SysUser> list = sysUserService.list(Wrappers.<SysUser>lambdaQuery().in(SysUser::getUserId, collect));
|
|
@@ -135,9 +171,8 @@ public class NoticeInfoListiner {
|
|
|
}
|
|
|
if (!"dev".equals(env)) {
|
|
|
smsOutboxService.saveBatch(smsOutboxes);
|
|
|
+ log.debug("发送短信 => {}", smsOutboxes);
|
|
|
}
|
|
|
- log.debug("发送短信:{}", smsOutboxes);
|
|
|
- log.info("发送消息体 => {}", messagePushBo);
|
|
|
}
|
|
|
});
|
|
|
}
|