From 8caf466b13f92cb009d2b304939c9280cc6e1c68 Mon Sep 17 00:00:00 2001
From: 6c <420680616@qq.com>
Date: 星期四, 01 八月 2024 10:03:21 +0800
Subject: [PATCH] 预警转发
---
src/main/java/com/product/administration/service/EarlyWarningManagerService.java | 35 +++++++++++++++++++++++++++++++++++
1 files changed, 35 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/product/administration/service/EarlyWarningManagerService.java b/src/main/java/com/product/administration/service/EarlyWarningManagerService.java
index b3c34e0..fa511f0 100644
--- a/src/main/java/com/product/administration/service/EarlyWarningManagerService.java
+++ b/src/main/java/com/product/administration/service/EarlyWarningManagerService.java
@@ -492,4 +492,39 @@
}
return dte;
}
+
+ /**
+ * 杞彂
+ * @param fse
+ */
+ @Override
+ public void transmit(FieldSetEntity fse) {
+ String uuid = fse.getUUID();
+ String messageAccepter = fse.getString("user");
+ FieldSetEntity warnMsgFse = baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_EARLY_WARNING_INFO, uuid, false);
+ String preReceiver = warnMsgFse.getString(CmnConst.RECEIVER);
+ Set<String> preReceiverSet = Sets.newHashSet(preReceiver.split(","));
+ if (StringUtils.isEmpty(messageAccepter)) {
+ throw new BaseException(SystemCode.WARN_TRANSMIT_USER_IS_NULL);
+ }
+ Set<String> transmitUserSet = Sets.newHashSet(messageAccepter.split(","));
+ transmitUserSet.forEach(transmitUser -> {
+ if (preReceiverSet.contains(transmitUser)) {
+ FieldSetEntity transmitUserFse = baseDao.getFieldSetByFilter(CmnConst.PRODUCT_SYS_USERS, "user_id=?", new Object[]{transmitUser}, false);
+ throw new BaseException(SystemCode.WARN_TRANSMIT_USER_REPEAT.getValue(), String.format("%s:%s", SystemCode.WARN_TRANSMIT_USER_REPEAT.getText(), transmitUserFse.getString(CmnConst.USER_NAME)));
+ }
+ });
+ // 鏇存柊棰勮淇℃伅琛�
+ warnMsgFse.setValue(CmnConst.RECEIVER, preReceiver + "," + messageAccepter);
+ baseDao.saveFieldSetEntity(warnMsgFse);
+
+ // 鍙戦�佹秷鎭粰杞彂浜�
+ SystemUser curUser = SpringMVCContextHolder.getCurrentUser();
+ FieldSetEntity msgFse = baseDao.getFieldSetByFilter(CmnConst.PRODUCT_SYS_MESSAGE, "source_table=? and source_uuid=?", new Object[]{CmnConst.PRODUCT_SYS_EARLY_WARNING_INFO, uuid}, false);
+ String title = String.format("%s鍚戞偍杞彂浜嗛璀︽秷鎭��%s銆�", curUser.getUser_name(), msgFse.getString(CmnConst.TITLE));
+ String content = msgFse.getString("content");
+ WebsocketMesssageServiceThread.getInstance().appendMessage(messageAccepter, content, title, curUser.getUser_id(),
+ "31", CmnConst.BUTTON_URL_WARN_MESSAGE_INFO + "?uuid=" + fse.getUUID(),
+ CmnConst.PRODUCT_SYS_EARLY_WARNING_INFO, fse.getUUID(), curUser.getUser_id(), 0, 0, null);
+ }
}
--
Gitblit v1.9.2