From 78a2270a9f47b0143474ff800d6a69f8d72a17dd Mon Sep 17 00:00:00 2001
From: 6c <420680616@qq.com>
Date: 星期四, 01 八月 2024 09:17:52 +0800
Subject: [PATCH] 预警转发
---
src/main/java/com/product/administration/controller/EarlyWarningManagerController.java | 60 ++++++++++++++++---
src/main/java/com/product/administration/config/SystemCode.java | 15 +++--
src/main/java/com/product/administration/service/EarlyWarningManagerService.java | 31 ++++++++++
src/main/java/com/product/administration/service/ide/IEarlyWarningManager.java | 22 ++++--
4 files changed, 104 insertions(+), 24 deletions(-)
diff --git a/src/main/java/com/product/administration/config/SystemCode.java b/src/main/java/com/product/administration/config/SystemCode.java
index b998ed0..4ec5ef5 100644
--- a/src/main/java/com/product/administration/config/SystemCode.java
+++ b/src/main/java/com/product/administration/config/SystemCode.java
@@ -247,17 +247,17 @@
TEAM_MANAGER_DELETE_FAIL_HAS_SUB_TEAM("鍥㈤槦鍒犻櫎澶辫触,鍖呭惈瀛愬洟闃�", ModuleEnum.ADMINISTRAT.getValue() + "176"),
TEAM_MANAGER_DELETE_FAIL_HAS_STAFF_REFERED("鍥㈤槦鍒犻櫎澶辫触,鍛樺伐宸茬粡鍏宠仈", ModuleEnum.ADMINISTRAT.getValue() + "177"),
TEAM_SAVE_FAIL_DUPLICATE_NAME("淇濆瓨澶辫触,鍥㈤槦鍚嶇О閲嶅", ModuleEnum.ADMINISTRAT.getValue() + "178"),
-
+
COMPANY_NOT_CONFIG_PUNCH_TIME("鍏徃鏈厤缃墦鍗℃椂闂�", ModuleEnum.ADMINISTRAT.getValue() + "179"),
LIST_COOPERATES_MODEL_FAIL("鍗忓悓妯℃澘鍒楄〃鑾峰彇澶辫触", ModuleEnum.ADMINISTRAT.getValue() + "180"),
FIND_COOPERATES_MODEL_FAIL("鍗忓悓妯℃澘鑾峰彇澶辫触", ModuleEnum.ADMINISTRAT.getValue() + "181"),
-
+
ATTENDANCE_LOCATION_SAVE_FAIL("鑰冨嫟鐐逛繚瀛樺け璐�", ModuleEnum.ADMINISTRAT.getValue() + "182"),
ATTENDANCE_LOCATION_LIST_FAIL("鑰冨嫟鐐规煡璇㈠け璐�", ModuleEnum.ADMINISTRAT.getValue() + "183"),
WARN_NO_NORMAL_STATUS_RECORD("涓鸿幏鍙栧埌鍚敤鐨勯璀﹁褰�", ModuleEnum.ADMINISTRAT.getValue() + "184"),
-
+
COMPANY_PUNCH_TIME_NOT_CONFIG("鍏徃鎵撳崱鏃堕棿鏈厤缃�", ModuleEnum.ADMINISTRAT.getValue()+"185"),
KNOWLEDGE_SHARING_LIST_FAIL("鑾峰彇鐭ヨ瘑鍏变韩鍒楄〃澶辫触", ModuleEnum.ADMINISTRAT.getValue() + "186"),
@@ -271,13 +271,16 @@
CONFERENCE_ROOM_SAVE_FIAL_DUPLICATE_NAME("浼氳瀹や繚瀛樺け璐�,宸插瓨鍦ㄥ悓鍚嶇О浼氳瀹�", ModuleEnum.ADMINISTRAT.getValue() + "193"),
WORK_ATTENDANCE_REPORT_FAIL("鑰冨嫟鎶ヨ〃鑾峰彇澶辫触锛�", ModuleEnum.ADMINISTRAT.getValue() + "194"),
-
+
ANNOUNCEMENT_FAIL("鍏憡璇︽儏", ModuleEnum.ADMINISTRAT.getValue() + "195"),
ANNOUNCEMENT_ADD("鍏憡鏂板", ModuleEnum.ADMINISTRAT.getValue() + "196"),
ANNOUNCEMENT_UPDATE("鍏憡淇敼", ModuleEnum.ADMINISTRAT.getValue() + "197"),
ANNOUNCEMENT_DELECT("鍏憡鍒犻櫎", ModuleEnum.ADMINISTRAT.getValue() + "198"),
- ANNOUNCEMENT_REMIND("宸茶鎻愰啋澶辫触", ModuleEnum.ADMINISTRAT.getValue() + "199"),
-
+ ANNOUNCEMENT_REMIND("宸茶鎻愰啋澶辫触", ModuleEnum.ADMINISTRAT.getValue() + "199"),
+
+ WARN_TRANSMIT_USER_IS_NULL("棰勮杞彂浜哄憳涓虹┖", ModuleEnum.ADMINISTRAT.getValue() + "200"),
+ WARN_TRANSMIT_USER_REPEAT("棰勮杞彂浜哄憳閲嶅", ModuleEnum.ADMINISTRAT.getValue() + "201"),
+
EXPORT_FILE_FAIL("瀵煎嚭鏂囦欢澶辫触", ModuleEnum.ADMINISTRAT.getValue() + "998"),
IMPORT_FILE_FAIL("瀵煎叆鏂囦欢澶辫触", ModuleEnum.ADMINISTRAT.getValue() + "999"),
diff --git a/src/main/java/com/product/administration/controller/EarlyWarningManagerController.java b/src/main/java/com/product/administration/controller/EarlyWarningManagerController.java
index b6ddbfe..4343718 100644
--- a/src/main/java/com/product/administration/controller/EarlyWarningManagerController.java
+++ b/src/main/java/com/product/administration/controller/EarlyWarningManagerController.java
@@ -1,17 +1,7 @@
package com.product.administration.controller;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
import com.product.admin.service.PublicService;
import com.product.admin.service.idel.IPublicService;
-import com.product.core.spring.context.SpringMVCContextHolder;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
-
import com.product.administration.config.CmnConst;
import com.product.administration.config.SystemCode;
import com.product.administration.service.EarlyWarningManagerService;
@@ -25,7 +15,16 @@
import com.product.core.entity.FieldSetEntity;
import com.product.core.entity.RequestParameterEntity;
import com.product.core.exception.BaseException;
+import com.product.core.spring.context.SpringMVCContextHolder;
import com.product.module.sys.version.ApiVersion;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
/**
@@ -589,4 +588,45 @@
return this.error(SystemCode.SYSTEM_EARLY_WARNING_UPDATE_FAIL.getValue(), SystemCode.SYSTEM_EARLY_WARNING_UPDATE_FAIL.getText() + e.getMessage());
}
}
+
+
+ /**
+ * 鎵归噺淇敼棰勮鏃堕棿
+ *
+ * @param request
+ * @return
+ */
+ @PostMapping("/transmit/{version}")
+ @ApiVersion(1)
+ public String transmit(HttpServletRequest request) {
+ try {
+ //鑾峰彇鍙傛暟
+ FieldSetEntity fse = null;
+ Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+ if (bean != null) {
+ RequestParameterEntity reqp = (RequestParameterEntity) bean;
+ fse = reqp.getFormData();
+ }
+ //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+ if (bean == null || fse == null) {
+ SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+ return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+ }
+ if (fse.getTableName() == null) {
+ SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+ return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+ }
+ IEarlyWarningManager service = (IEarlyWarningManager) getProxyInstance(earlyWarningManagerService);
+ service.transmit(fse);
+ return OK();
+ } catch (BaseException e) {
+ e.printStackTrace();
+ SpringMVCContextHolder.getSystemLogger().error(e);
+ return this.error(SystemCode.SYSTEM_EARLY_WARNING_UPDATE_FAIL.getValue(), SystemCode.SYSTEM_EARLY_WARNING_UPDATE_FAIL.getText() + e.getMessage());
+ } catch (Exception e) {
+ e.printStackTrace();
+ SpringMVCContextHolder.getSystemLogger().error(e);
+ return this.error(SystemCode.SYSTEM_EARLY_WARNING_UPDATE_FAIL.getValue(), SystemCode.SYSTEM_EARLY_WARNING_UPDATE_FAIL.getText() + e.getMessage());
+ }
+ }
}
diff --git a/src/main/java/com/product/administration/service/EarlyWarningManagerService.java b/src/main/java/com/product/administration/service/EarlyWarningManagerService.java
index b3c34e0..7556d25 100644
--- a/src/main/java/com/product/administration/service/EarlyWarningManagerService.java
+++ b/src/main/java/com/product/administration/service/EarlyWarningManagerService.java
@@ -492,4 +492,35 @@
}
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);
+ 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);
+ }
}
diff --git a/src/main/java/com/product/administration/service/ide/IEarlyWarningManager.java b/src/main/java/com/product/administration/service/ide/IEarlyWarningManager.java
index 2a9a4b6..67cd05c 100644
--- a/src/main/java/com/product/administration/service/ide/IEarlyWarningManager.java
+++ b/src/main/java/com/product/administration/service/ide/IEarlyWarningManager.java
@@ -7,30 +7,30 @@
import com.product.core.exception.BaseException;
public interface IEarlyWarningManager {
-
+
/**
* 棰勮閰嶇疆鏂板
* @param fse
* @return
*/
String addWarning(FieldSetEntity fse) throws BaseException, SchedulerException, TaskException;
-
+
/**
* 棰勮閰嶇疆淇敼
* @param fse
* @return
- * @throws TaskException
- * @throws SchedulerException
- * @throws BaseException
+ * @throws TaskException
+ * @throws SchedulerException
+ * @throws BaseException
*/
boolean updateWarning(FieldSetEntity fse) throws BaseException, SchedulerException, TaskException;
-
+
/**
* 棰勮閰嶇疆鍒犻櫎
* @param uuid
* @return
- * @throws SchedulerException
- * @throws BaseException
+ * @throws SchedulerException
+ * @throws BaseException
*/
boolean deleteWarning(String uuid) throws BaseException, SchedulerException;
@@ -42,4 +42,10 @@
* @throws BaseException
*/
boolean updateEarlyWarningTime(FieldSetEntity fse)throws BaseException, SchedulerException, TaskException;
+
+ /**
+ * 杞彂
+ * @param fse
+ */
+ void transmit(FieldSetEntity fse);
}
--
Gitblit v1.9.2