ソースを参照

fix: 文档修改

zhangying 2 週間 前
コミット
c072a44438
1 ファイル変更46 行追加11 行削除
  1. 46 11
      .docs/260624-消息与待办模块设计开发文档.md

+ 46 - 11
.docs/260624-消息与待办模块设计开发文档.md

@@ -13,9 +13,10 @@
 
 ### 2.1 消息通知记录表
 
-**文件**:`.docs/sql/建表语句/消息通知记录表.sql`
+**文件**:`jeecg-boot/jeecg-boot-module/jeecg-module-zjrs/../.docs/sql/建表语句/消息通知记录表.sql`
 
 ```sql
+-- 主表
 CREATE TABLE notification_record (
     ID            VARCHAR(36)  NOT NULL,
     MODULE_TYPE   VARCHAR(50)           COMMENT '来源模块',
@@ -29,29 +30,33 @@ CREATE TABLE notification_record (
     SYS_ORG_CODE  VARCHAR(50),
     PRIMARY KEY (ID)
 );
+COMMENT ON TABLE notification_record IS '消息通知记录表';
 
+-- 后增字段
 ALTER TABLE notification_record ADD EXPIRE_TIME TIMESTAMP;
 COMMENT ON COLUMN notification_record.EXPIRE_TIME IS '过期时间';
 ALTER TABLE notification_record ADD STATUS VARCHAR(20) DEFAULT '0';
 COMMENT ON COLUMN notification_record.STATUS IS '状态: 0未读 1已读';
-```
-
-**接收人关联表**:
 
-```sql
+-- 接收人关联表
 CREATE TABLE notification_target (
     NOTIFICATION_ID VARCHAR(36) NOT NULL COMMENT '消息ID',
     TARGET_TYPE     VARCHAR(20) NOT NULL COMMENT '类型: personal/enterprise',
     TARGET_ID       VARCHAR(36) NOT NULL COMMENT '目标ID'
 );
+COMMENT ON TABLE notification_target IS '消息接收人关联表';
+CREATE INDEX idx_nt_target ON notification_target(TARGET_TYPE, TARGET_ID);
+CREATE INDEX idx_nt_notify ON notification_target(NOTIFICATION_ID);
+ALTER TABLE notification_target ADD STATUS VARCHAR(20) DEFAULT '0';
+COMMENT ON COLUMN notification_target.STATUS IS '状态: 0未读 1已读';
 ```
 
 ### 2.2 待办记录表
 
-**文件**:`.docs/sql/建表语句/待办记录表.sql`
+**文件**:`jeecg-boot/jeecg-boot-module/jeecg-module-zjrs/../.docs/sql/建表语句/待办记录表.sql`
 
 ```sql
+-- 主表
 CREATE TABLE todo_record (
     ID            VARCHAR(36)   NOT NULL,
     MODULE_TYPE   VARCHAR(50)            COMMENT '来源模块',
@@ -65,16 +70,23 @@ CREATE TABLE todo_record (
     EXPIRE_TIME   TIMESTAMP              COMMENT '过期时间',
     TARGET_PAGE   VARCHAR(500)           COMMENT '目标页面路径',
     DATA_ID       VARCHAR(36)            COMMENT '数据ID',
-    PATH_PARAMS   VARCHAR(500)           COMMENT '路径参数(JSON格式)',
+    PATH_PARAMS   VARCHAR(500)           COMMENT '路径参数',
     SYS_ORG_CODE  VARCHAR(50),
     PRIMARY KEY (ID)
 );
+COMMENT ON TABLE todo_record IS '待办记录表';
 
+-- 接收人关联表
 CREATE TABLE todo_target (
     TODO_ID     VARCHAR(36) NOT NULL COMMENT '待办ID',
     TARGET_TYPE VARCHAR(20) NOT NULL COMMENT '类型: personal/enterprise',
     TARGET_ID   VARCHAR(36) NOT NULL COMMENT '目标ID'
 );
+COMMENT ON TABLE todo_target IS '待办接收人关联表';
+CREATE INDEX idx_tt_target ON todo_target(TARGET_TYPE, TARGET_ID);
+CREATE INDEX idx_tt_todo ON todo_target(TODO_ID);
+ALTER TABLE todo_target ADD STATUS VARCHAR(20) DEFAULT '0';
+COMMENT ON COLUMN todo_target.STATUS IS '状态: 0待处理 1已完成 2已取消';
 ```
 
 ### 2.3 表结构对比
@@ -82,10 +94,13 @@ CREATE TABLE todo_target (
 | 特性 | notification_record | todo_record |
 |------|-------------------|-------------|
 | 主信息 | 主题、内容、发送人 | 标题、内容、发起人 |
-| 时间 | 送时间、过期时间 | 创建时间、完成时间、过期时间 |
-| 状态 | 0未读/1已读 | 0待处理/1已完成/2已取消 |
+| 时间 | 送时间、过期时间 | 创建时间、完成时间、过期时间 |
+| 主表状态 | 0未读/1已读 | 0待处理/1已完成/2已取消 |
 | 跳转字段 | 无 | TARGET_PAGE、DATA_ID、PATH_PARAMS |
-| 接收人关联 | notification_target | todo_target |
+| 接收人关联表 | notification_target | todo_target |
+| 关联表状态 | 0未读/1已读 | 0待处理/1已完成/2已取消 |
+
+> 注:两个模块的接收人关联表均通过 ALTER 方式后增了 STATUS 字段,用于独立记录每个接收人的处理状态(消息为已读/未读,待办为处理进度)。
 
 ---
 
@@ -95,9 +110,19 @@ CREATE TABLE todo_target (
 
 **包路径**:`org.jeecg.modules.zjrs.notification`
 
+**实体映射**:
+
+| 表 | 实体 | 说明 |
+|----|------|------|
+| notification_record | NotificationRecord.java | 主实体,含 expireTime、status |
+| notification_target | NotificationTarget.java | 关联实体,含 status |
+
+**文件变更**:
+
 | 文件 | 操作 | 说明 |
 |------|------|------|
 | `entity/NotificationRecord.java` | 修改 | 新增 `expireTime`、`status` 字段 |
+| `entity/NotificationTarget.java` | 修改 | 新增 `status` 字段 |
 | `service/INotificationRecordService.java` | 修改 | 新增 `sendMessage()` 方法 |
 | `service/impl/NotificationRecordServiceImpl.java` | 修改 | 实现 `sendMessage()`,含事务写主表、关联表、更新状态表 |
 
@@ -124,10 +149,19 @@ CREATE TABLE todo_target (
 
 **包路径**:`org.jeecg.modules.zjrs.todo`
 
+**实体映射**:
+
+| 表 | 实体 | 说明 |
+|----|------|------|
+| todo_record | TodoRecord.java | 主实体,含 status、completeTime、expireTime 及跳转字段 |
+| todo_target | TodoTarget.java | 关联实体,含 status |
+
+**文件变更**:
+
 | 文件 | 操作 | 说明 |
 |------|------|------|
 | `entity/TodoRecord.java` | 新建 | 待办主表实体,包含跳转字段 |
-| `entity/TodoTarget.java` | 新建 | 待办接收人关联实体 |
+| `entity/TodoTarget.java` | 新建 | 待办接收人关联实体,含 status |
 | `mapper/TodoRecordMapper.java` | 新建 | MyBatis Plus Mapper |
 | `mapper/TodoTargetMapper.java` | 新建 | MyBatis Plus Mapper |
 | `mapper/xml/TodoRecordMapper.xml` | 新建 | Mapper XML(空) |