diff --git a/sql/mysql5/youlai_boot.sql b/sql/mysql5/youlai_boot.sql
index b9e1aaab..35ffe067 100644
--- a/sql/mysql5/youlai_boot.sql
+++ b/sql/mysql5/youlai_boot.sql
@@ -85,7 +85,8 @@ CREATE TABLE `sys_dict` (
-- ----------------------------
-- Records of sys_dict
-- ----------------------------
-INSERT INTO `sys_dict` VALUES (1, '性别', 'gender', 1, NULL, '2019-12-06 19:03:32', '2024-06-22 21:14:47', 0);
+INSERT INTO `sys_dict` VALUES (1,'性别','gender',1,NULL,'2019-12-06 19:03:32','2024-06-22 21:14:47',0);
+INSERT INTO `sys_dict` VALUES (2,'通知类型','notice_type',1,NULL,'2024-09-01 17:23:48','2024-09-01 17:23:54',0);
-- ----------------------------
-- Table structure for sys_dict_item
@@ -110,6 +111,8 @@ CREATE TABLE `sys_dict_item` (
INSERT INTO `sys_dict_item` VALUES (1, 1, '男', '1', 1, 1, NULL, '2019-05-05 13:07:52', '2022-06-12 23:20:39');
INSERT INTO `sys_dict_item` VALUES (2, 1, '女', '2', 1, 2, NULL, '2019-04-19 11:33:00', '2019-07-02 14:23:05');
INSERT INTO `sys_dict_item` VALUES (3, 1, '保密', '0', 1, 3, NULL, '2020-10-17 08:09:31', '2020-10-17 08:09:31');
+INSERT INTO `sys_dict_item` VALUES (4, 2,'系统通知','1',1, 1, NULL,'2020-10-17 08:09:31', '2020-10-17 08:09:31');
+INSERT INTO `sys_dict_item` VALUES (5, 2,'通知消息','2',1, 2, NULL,'2020-10-17 08:09:31', '2020-10-17 08:09:31');
-- ----------------------------
-- Table structure for sys_log
@@ -478,5 +481,33 @@ CREATE TABLE `gen_field_config` (
KEY `config_id` (`config_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci COMMENT='代码生成字段配置表';
+CREATE TABLE `sys_notice` (
+ `id` BIGINT NOT NULL AUTO_INCREMENT,
+ `title` VARCHAR(50) DEFAULT NULL COMMENT '通知标题',
+ `content` TEXT COMMENT '通知内容',
+ `notice_type` INT NOT NULL COMMENT '通知类型',
+ `release_by` BIGINT DEFAULT NULL COMMENT '发布人',
+ `priority` TINYINT NOT NULL COMMENT '优先级(0-低 1-中 2-高)',
+ `tar_type` TINYINT NOT NULL COMMENT '目标类型(0-全体 1-指定)',
+ `tar_ids` TEXT COMMENT '目标人id',
+ `release_status` TINYINT NOT NULL COMMENT '发布状态(0-未发布 1已发布 2已撤回)',
+ `release_time` DATETIME DEFAULT NULL COMMENT '发布时间',
+ `recall_time` DATETIME DEFAULT NULL COMMENT '撤回时间',
+ `create_by` BIGINT NOT NULL COMMENT '创建人ID',
+ `create_time` DATETIME NOT NULL COMMENT '创建时间',
+ `update_by` BIGINT DEFAULT NULL COMMENT '更新人ID',
+ `update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
+ `is_deleted` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除标识(0-未删除 1-已删除)',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE=INNODB COMMENT='通知公告';
+
+CREATE TABLE `sys_notice_status` (
+ `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `notice_id` BIGINT NOT NULL COMMENT '公共通知id',
+ `user_id` INT NOT NULL COMMENT '用户id',
+ `read_status` BIGINT DEFAULT NULL COMMENT '读取状态,0未读,1已读取',
+ `read_time` DATETIME DEFAULT NULL COMMENT '用户阅读时间',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE=INNODB COMMENT='用户公告状态表';
SET FOREIGN_KEY_CHECKS = 1;
diff --git a/sql/mysql8/youlai_boot.sql b/sql/mysql8/youlai_boot.sql
index 2cfdc939..192fa6dc 100644
--- a/sql/mysql8/youlai_boot.sql
+++ b/sql/mysql8/youlai_boot.sql
@@ -87,6 +87,7 @@ CREATE TABLE `sys_dict` (
-- Records of sys_dict
-- ----------------------------
INSERT INTO `sys_dict` VALUES (1, '性别', 'gender', 1, NULL, '2019-12-06 19:03:32', '2024-06-22 21:14:47', 0);
+INSERT INTO `sys_dict` VALUES (2,'通知类型','notice_type',1,NULL,'2024-09-01 17:23:48','2024-09-01 17:23:54',0);
-- ----------------------------
-- Table structure for sys_dict_item
@@ -111,6 +112,8 @@ CREATE TABLE `sys_dict_item` (
INSERT INTO `sys_dict_item` VALUES (1, 1, '男', '1', 1, 1, NULL, '2019-05-05 13:07:52', '2022-06-12 23:20:39');
INSERT INTO `sys_dict_item` VALUES (2, 1, '女', '2', 1, 2, NULL, '2019-04-19 11:33:00', '2019-07-02 14:23:05');
INSERT INTO `sys_dict_item` VALUES (3, 1, '保密', '0', 1, 3, NULL, '2020-10-17 08:09:31', '2020-10-17 08:09:31');
+INSERT INTO `sys_dict_item` VALUES (4, 2,'系统通知','1',1, 1, NULL,'2020-10-17 08:09:31', '2020-10-17 08:09:31');
+INSERT INTO `sys_dict_item` VALUES (5, 2,'通知消息','2',1, 2, NULL,'2020-10-17 08:09:31', '2020-10-17 08:09:31');
-- ----------------------------
-- Table structure for sys_log
@@ -466,5 +469,33 @@ CREATE TABLE `gen_field_config` (
KEY `config_id` (`config_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='代码生成字段配置表';
+CREATE TABLE `sys_notice` (
+ `id` BIGINT NOT NULL AUTO_INCREMENT,
+ `title` VARCHAR(50) DEFAULT NULL COMMENT '通知标题',
+ `content` TEXT COMMENT '通知内容',
+ `notice_type` INT NOT NULL COMMENT '通知类型',
+ `release_by` BIGINT DEFAULT NULL COMMENT '发布人',
+ `priority` TINYINT NOT NULL COMMENT '优先级(0-低 1-中 2-高)',
+ `tar_type` TINYINT NOT NULL COMMENT '目标类型(0-全体 1-指定)',
+ `tar_ids` TEXT COMMENT '目标人id',
+ `release_status` TINYINT NOT NULL COMMENT '发布状态(0-未发布 1已发布 2已撤回)',
+ `release_time` DATETIME DEFAULT NULL COMMENT '发布时间',
+ `recall_time` DATETIME DEFAULT NULL COMMENT '撤回时间',
+ `create_by` BIGINT NOT NULL COMMENT '创建人ID',
+ `create_time` DATETIME NOT NULL COMMENT '创建时间',
+ `update_by` BIGINT DEFAULT NULL COMMENT '更新人ID',
+ `update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
+ `is_deleted` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除标识(0-未删除 1-已删除)',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE=INNODB COMMENT='通知公告';
+
+CREATE TABLE `sys_notice_status` (
+ `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `notice_id` BIGINT NOT NULL COMMENT '公共通知id',
+ `user_id` INT NOT NULL COMMENT '用户id',
+ `read_status` BIGINT DEFAULT NULL COMMENT '读取状态,0未读,1已读取',
+ `read_time` DATETIME DEFAULT NULL COMMENT '用户阅读时间',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE=INNODB COMMENT='用户公告状态表';
SET FOREIGN_KEY_CHECKS = 1;
diff --git a/src/main/java/com/youlai/boot/module/websocket/service/MessageService.java b/src/main/java/com/youlai/boot/module/websocket/service/MessageService.java
index 084d6825..040990b7 100644
--- a/src/main/java/com/youlai/boot/module/websocket/service/MessageService.java
+++ b/src/main/java/com/youlai/boot/module/websocket/service/MessageService.java
@@ -1,4 +1,4 @@
-package com.youlai.boot.platform.websocket.service;
+package com.youlai.boot.module.websocket.service;
import com.youlai.boot.common.enums.NoticeWayEnum;
import com.youlai.boot.system.model.dto.MessageDTO;
diff --git a/src/main/java/com/youlai/boot/module/websocket/service/OnlineUserService.java b/src/main/java/com/youlai/boot/module/websocket/service/impl/WebsocketServiceImpl.java
similarity index 95%
rename from src/main/java/com/youlai/boot/module/websocket/service/OnlineUserService.java
rename to src/main/java/com/youlai/boot/module/websocket/service/impl/WebsocketServiceImpl.java
index 5b98e4b6..aab4fd50 100644
--- a/src/main/java/com/youlai/boot/module/websocket/service/OnlineUserService.java
+++ b/src/main/java/com/youlai/boot/module/websocket/service/impl/WebsocketServiceImpl.java
@@ -2,7 +2,7 @@ package com.youlai.boot.module.websocket.service.impl;
import com.youlai.boot.common.enums.NoticeWayEnum;
import com.youlai.boot.common.enums.NoticeTypeEnum;
-import com.youlai.boot.platform.websocket.service.MessageService;
+import com.youlai.boot.module.websocket.service.MessageService;
import com.youlai.boot.system.event.UserConnectionEvent;
import com.youlai.boot.system.model.dto.ChatMessage;
import com.youlai.boot.system.model.dto.MessageDTO;
@@ -58,7 +58,6 @@ public class WebsocketServiceImpl implements MessageService {
*/
@Scheduled(fixedRate = 5000)
public void sendOnlineUserCount() {
- log.info("Send online user count: {}", onlineUsers.size());
messagingTemplate.convertAndSend("/topic/onlineUserCount", onlineUsers.size());
}
diff --git a/src/main/java/com/youlai/boot/system/handler/MessageHandler.java b/src/main/java/com/youlai/boot/system/handler/MessageHandler.java
index 21ae2421..689a3816 100644
--- a/src/main/java/com/youlai/boot/system/handler/MessageHandler.java
+++ b/src/main/java/com/youlai/boot/system/handler/MessageHandler.java
@@ -1,6 +1,6 @@
package com.youlai.boot.system.handler;
-import com.youlai.boot.platform.websocket.service.MessageService;
+import com.youlai.boot.module.websocket.service.MessageService;
import com.youlai.boot.system.model.dto.MessageDTO;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
diff --git a/src/main/resources/mapper/NoticeMapper.xml b/src/main/resources/mapper/NoticeMapper.xml
index 74969f36..ef23eaee 100644
--- a/src/main/resources/mapper/NoticeMapper.xml
+++ b/src/main/resources/mapper/NoticeMapper.xml
@@ -58,8 +58,6 @@
where
sn.is_deleted = 0
AND sn.id = #{id}
- AND sn.release_status = 1
-
diff --git a/src/main/resources/mapper/NoticeStatusMapper.xml b/src/main/resources/mapper/NoticeStatusMapper.xml
index d08025ee..2a2dd71d 100644
--- a/src/main/resources/mapper/NoticeStatusMapper.xml
+++ b/src/main/resources/mapper/NoticeStatusMapper.xml
@@ -38,6 +38,9 @@
sns.user_id = #{queryParams.userId}
+
+ AND sn.title LIKE CONCAT('%',#{queryParams.title},'%')
+
ORDER BY
sn.release_time DESC