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