From c709b4478605816789f14229aba805bcb1015433 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期五, 03 十一月 2023 12:59:42 +0800
Subject: [PATCH] update 优化 notice 新增通知公告发送ws推送
---
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysNoticeController.java | 21 +++++++++++++++------
ruoyi-modules/ruoyi-system/pom.xml | 5 +++++
2 files changed, 20 insertions(+), 6 deletions(-)
diff --git a/ruoyi-modules/ruoyi-system/pom.xml b/ruoyi-modules/ruoyi-system/pom.xml
index 9591ac1..acf33ce 100644
--- a/ruoyi-modules/ruoyi-system/pom.xml
+++ b/ruoyi-modules/ruoyi-system/pom.xml
@@ -90,6 +90,11 @@
<artifactId>ruoyi-common-encrypt</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.dromara</groupId>
+ <artifactId>ruoyi-common-websocket</artifactId>
+ </dependency>
+
</dependencies>
</project>
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysNoticeController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysNoticeController.java
index ce17ec7..a0aa26e 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysNoticeController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysNoticeController.java
@@ -1,16 +1,18 @@
package org.dromara.system.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
-import org.dromara.common.log.annotation.Log;
-import org.dromara.common.web.core.BaseController;
-import org.dromara.common.mybatis.core.page.PageQuery;
+import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
-import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.core.service.DictService;
+import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.websocket.utils.WebSocketUtils;
import org.dromara.system.domain.bo.SysNoticeBo;
import org.dromara.system.domain.vo.SysNoticeVo;
import org.dromara.system.service.ISysNoticeService;
-import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -26,6 +28,7 @@
public class SysNoticeController extends BaseController {
private final ISysNoticeService noticeService;
+ private final DictService dictService;
/**
* 鑾峰彇閫氱煡鍏憡鍒楄〃
@@ -54,7 +57,13 @@
@Log(title = "閫氱煡鍏憡", businessType = BusinessType.INSERT)
@PostMapping
public R<Void> add(@Validated @RequestBody SysNoticeBo notice) {
- return toAjax(noticeService.insertNotice(notice));
+ int rows = noticeService.insertNotice(notice);
+ if (rows <= 0) {
+ return R.fail();
+ }
+ String type = dictService.getDictLabel("sys_notice_type", notice.getNoticeType());
+ WebSocketUtils.publishAll("[" + type + "] " + notice.getNoticeTitle());
+ return R.ok();
}
/**
--
Gitblit v1.9.3