浏览代码

Merge branch 'master' of http://git.fmode.cn:3000/4u/workspace

cainiao-hue 2 月之前
父节点
当前提交
feda6c9723
共有 2 个文件被更改,包括 471 次插入47 次删除
  1. 456 0
      .history/docs-prod/schema_20241229193015.md
  2. 15 47
      docs-prod/schema.md

+ 456 - 0
.history/docs-prod/schema_20241229193015.md

@@ -0,0 +1,456 @@
+# 简单版类图
+```plantuml
+@startuml
+class _User { 
+    + objectId: String 
+    + username: String 
+    + realname: String 
+    + password: String
+    + gender: String 
+    + age: Number 
+    + email: String
+    + avatar: String
+    + teacherId: String
+    + studentId: String
+    + identity: String
+    + school: String
+    + department: String
+}
+class ChatPartner {
+    + objectId: String
+    + name: String 
+    + expertise: String
+    + avatar: String 
+    + bio: String 
+}
+class ChatCompanion {
+    + objectId: String
+    + name: String
+    + avatar: String 
+    + bio: String 
+}
+class ChatRecord {
+    + objectId: String 
+    + title:String
+    + content:Array 
+    + user: Pointer<User> 
+    + chatpartner: Pointer<ChatPartner> 
+}
+class ChatEvaluate{
+    + objectId:String
+    + avater:String
+    + content:String
+    + rating:Number
+    + user: Pointer<User> 
+}
+
+class Survey {
+    + objectId: String
+    + link: String
+    + title: String
+    + audience: String
+    + publisher:String
+    + publishtime: String
+    + category: String
+}
+
+class DriftBottle {
+    + bottleID: String
+    + content: String
+    + username: String
+    + throwtime: String
+    + catcher: String
+    + catchtime: String
+    + status: String
+}
+Survey "1" -- "0..*" _User
+_User "1" -- "0..*" DriftBottle
+_User "*" --> "*" ChatEvaluate
+_User "1" --> "*" ChatRecord     
+ChatPartner "1" --> "*" ChatRecord 
+ChatCompanion "1" --> "*" ChatRecord      
+@enduml
+```
+
+
+# 时序图
+```plantuml
+@startuml
+actor 用户
+participant "专业陪聊师" as 专业陪聊师
+participant "普通陪聊师" as 普通陪聊师
+participant "聊天记录" as 聊天记录
+participant "报告" as 报告
+
+用户 -> 用户: 选择陪聊师()
+alt 选择专业陪聊师
+    用户 -> 专业陪聊师: 提供聊天()
+else 选择普通陪聊师
+    用户 -> 普通陪聊师: 提供聊天()
+end
+用户 -> 用户: 开始聊天()
+用户 -> 聊天记录: 总结聊天记录()
+聊天记录 -> 聊天记录: 获取聊天记录()
+
+聊天记录 -> 报告: 生成报告()
+报告 -> 用户: 返回分析报告
+
+@enduml
+```
+
+
+# 活动图
+```plantuml
+@startuml
+|用户|
+start
+:发送消息;
+|专业陪聊机器人|
+:回复消息;
+|用户|
+repeat
+if (继续聊天?) then (是)
+    |用户|
+    :发送消息;
+    |专业陪聊机器人|
+    :回复消息;
+else (否)
+    |管理员|
+    :记录消息;
+    stop
+endif
+repeat while (回复消息)
+@enduml
+
+```
+
+# //社区部分
+
+
+# 用例图
+```plantuml
+@startuml
+actor 用户
+
+
+rectangle "心理社区" {
+    用户 -- (使用心理普查)
+    用户 -- (使用漂流瓶)
+}
+rectangle "使用心理普查"{
+    用户 -- (填写问卷)
+    用户 -- (发布问卷)
+}
+rectangle "使用漂流瓶"{
+    用户 -- (扔漂流瓶)
+    用户 -- (捞漂流瓶)
+}
+
+@enduml
+```
+
+# 时序图
+
+```mermaid
+sequenceDiagram
+    participant User
+    participant System
+
+    User->>System: 访问系统
+ 
+        System->>User: 跳转到心理普查页面
+        User->>System: 查看问卷通知
+        System->>User: 显示问卷通知
+        User->>System: 发布问卷
+        alt 用户是老师
+            System->>User: 提示“问卷已成功发布”
+        else 用户不是老师
+            System->>User: 提示“权限不够”
+        end
+    
+```
+
+```mermaid
+sequenceDiagram
+    participant User
+    participant System
+        User->>System: 扔漂流瓶
+        System->>User: 提示“请输入漂流瓶内容”
+        User->>System: 编写漂流瓶内容
+        System->>User: 抛出漂流瓶
+```
+```mermaid
+sequenceDiagram
+    participant User
+    participant System
+        User->>System: 捞漂流瓶
+        alt 条件满足
+            System->>User: 成功捞上漂流瓶
+        else 条件不满足
+            System->>User: 打捞失败
+        end
+```
+```mermaid
+sequenceDiagram
+    participant User
+    participant System
+        User->>System: 查看我的漂流瓶
+        System->>User: 显示扔出的漂流瓶
+        System->>User: 显示捞上的漂流瓶
+        User->>System: 扔回捞上的漂流瓶
+        System->>User: 扔回成功
+    
+```
+
+
+# 活动图
+
+```mermaid
+graph TD;
+    A[开始] --> B{用户已登录?};
+    B -- 否 --> C[显示登录注册界面];
+    C --> D[输入用户名和密码];
+    D --> E{登录成功?};
+    E -- 是 --> N[跳转到已登录页面];
+    E -- 否 --> G[显示错误信息];
+   
+    B -- 是 --> N[跳转到已登录页面];
+    N --> O[查看问卷通知];
+    O --> P[显示问卷通知];
+    P --> Q[发布问卷];
+    Q --> R{用户是老师?};
+    R -- 是 --> S[提示“问卷已成功发布”];
+    R -- 否 --> T[提示“权限不够”];
+
+```
+```mermaid
+graph TD;
+    A[开始] --> B{用户已登录?};
+    B -- 否 --> C[显示登录注册界面];
+    C --> D[输入用户名和密码];
+    D --> E{登录成功?};
+    E -- 是 --> F[跳转到已登录页面];
+    E -- 否 --> G[显示错误信息];
+    F --> H[扔漂流瓶];
+    H --> I[提示“请输入漂流瓶内容”];
+    I --> J[编写漂流瓶内容];
+    J --> K[抛出漂流瓶];
+    K --> L[结束];
+
+    F --> M[捞漂流瓶];
+    M --> N{条件满足?};
+    N -- 是 --> O[成功捞上漂流瓶];
+    N -- 否 --> P[打捞失败];
+    O --> Q[结束];
+    P --> Q;
+
+    F --> R[查看我的漂流瓶];
+    R --> S[显示扔出的漂流瓶];
+    S --> T[显示捞上的漂流瓶];
+    T --> U{扔回捞上的漂流瓶?};
+    U -- 是 --> V[扔回成功];
+    U -- 否 --> W[结束];
+    V --> W;
+```
+
+
+
+
+# 状态图
+```mermaid
+stateDiagram-v2
+    [*] --> 未登录
+    未登录 --> 登录 : 用户尝试访问系统
+    登录 --> 已登录 : 用户成功登录
+    已登录 --> 查看问卷通知 : 用户选择查看问卷通知
+    已登录 --> 发布问卷 : 用户选择发布问卷
+    发布问卷 --> 权限不够 : 用户不是老师
+    发布问卷 --> 问卷已成功发布 : 用户是老师
+    
+```
+
+```mermaid
+stateDiagram-v2
+    [*] --> 未登录
+    未登录 --> 登录 : 用户尝试访问系统
+    登录 --> 已登录 : 用户成功登录
+    已登录 --> 扔漂流瓶 : 用户选择扔漂流瓶
+    已登录 --> 捞漂流瓶 : 用户选择捞漂流瓶
+    已登录 --> 查看我的漂流瓶 : 用户选择查看我的漂流瓶
+    扔漂流瓶 --> 编写内容 : 用户开始编写漂流瓶内容
+    编写内容 --> 抛出漂流瓶 : 用户完成编写
+    捞漂流瓶 --> 成功捞上 : 条件满足
+    捞漂流瓶 --> 打捞失败 : 条件不满足
+    查看我的漂流瓶 --> 查看扔出的漂流瓶 : 用户查看自己扔出的漂流瓶
+    查看我的漂流瓶 --> 查看捞上的漂流瓶 : 用户查看捞上的漂流瓶
+    查看捞上的漂流瓶 --> 扔回漂流瓶 : 用户选择扔回捞上的漂流瓶
+```
+# 状态图
+## 登录业务
+```plantuml
+@startuml
+left to right direction
+[*] --> 输入用户名和密码
+
+输入用户名和密码 --> 检查是否为空
+检查是否为空 --> 执行登录 : 不为空
+检查是否为空 --> 输入用户名和密码 : 为空
+执行登录 --> 返回当前页面: 登录成功
+执行登录 --> 输入用户名和密码 :登录失败
+
+返回当前页面 --> [*]
+@enduml
+```
+## 注册业务
+```plantuml
+@startuml
+left to right direction
+
+[*] --> 输入基本信息
+
+输入基本信息 --> 检查是否为空
+检查是否为空 --> 输入基本信息 : 为空
+检查是否为空 --> 检查两次密码一致性 : 不为空
+
+检查两次密码一致性 --> 执行注册 : 一致
+检查两次密码一致性 --> 输入基本信息 : 不一致
+
+执行注册 --> 返回登录页面 : 注册成功
+执行注册 --> 输入基本信息 : 注册失败
+
+返回登录页面 --> [*]
+@enduml
+
+```
+## 用户编辑信息业务
+```plantuml
+@startuml
+left to right direction
+
+[*] --> 获取用户信息
+
+获取用户信息 --> 弹出表单
+
+弹出表单 --> 检查用户输入
+
+检查用户输入 --> 执行修改
+
+执行修改 --> 返回当前页面: 修改成功
+执行修改 --> 弹出表单 : 修改失败
+返回当前页面 --> [*] 
+@enduml
+```
+## 智能陪聊业务
+```plantuml
+@startuml
+left to right direction
+
+[*] --> 检查用户是否登录注册
+
+检查用户是否登录注册 --> 登录注册 : 未登录
+检查用户是否登录注册 --> 选择陪聊师 : 已登录
+
+登录注册 --> 选择陪聊师 : 登录/注册成功
+登录注册 --> [*] : 登录/注册失败
+
+选择陪聊师 --> 开始陪聊
+
+开始陪聊 --> [*] : 结束陪聊
+@enduml
+```
+## 普通聊天业务
+```plantuml
+@startuml
+left to right direction
+
+[*] --> 检查用户是否登录注册
+
+检查用户是否登录注册 --> 登录注册 : 未登录
+检查用户是否登录注册 --> 开始陪聊 : 已登录
+
+登录注册 --> 开始陪聊 : 登录/注册成功
+登录注册 --> [*] : 登录/注册失败
+
+开始陪聊 --> [*] : 结束陪聊
+@enduml
+```
+## 用户评价业务
+```plantuml
+@startuml
+left to right direction
+
+[*] --> 检查用户是否登录注册
+
+检查用户是否登录注册 --> 登录注册 : 未登录
+检查用户是否登录注册 --> 进入评价 : 已登录
+
+登录注册 --> 进入评价 : 登录/注册成功
+登录注册 --> [*] : 登录/注册失败
+
+进入评价 --> 输入评价内容
+
+输入评价内容 --> 保存退出
+
+保存退出 --> [*]:保存成功
+保存退出 --> 输入评价内容: 保存失败
+@enduml
+```
+## 查看报告业务
+```plantuml
+@startuml
+left to right direction
+[*] --> 获取用户信息
+获取用户信息 --> 点击我的报告
+点击我的报告 --> 展示用户相关报告
+展示用户相关报告 --> [*]
+@enduml
+```
+## 发布问卷业务
+```plantuml
+@startuml
+left to right direction
+[*] -->检查登录状态
+检查登录状态 --> 显示登录注册界面 : 用户未登录
+显示登录注册界面 --> 执行登录
+执行登录 --> 跳转到已登录页面 : 登录成功
+执行登录 --> 显示登录注册界面 : 登录失败
+跳转到已登录页面 --> 查看问卷通知
+查看问卷通知 --> 显示问卷通知
+跳转到已登录页面--> 发布问卷
+发布问卷 --> 检查用户身份
+检查用户身份 --> 提示权限不够 : 用户不是老师
+检查用户身份 --> 提示问卷已成功发布 : 用户是老师
+显示问卷通知 --> [*]
+提示权限不够 --> [*]
+提示问卷已成功发布 --> [*]
+@enduml
+```
+## 使用漂流瓶业务
+```plantuml
+@startuml
+left to right direction
+[*] -->检查登录状态
+检查登录状态 --> 显示登录注册界面 : 用户未登录
+显示登录注册界面 --> 执行登录
+执行登录 --> 跳转到已登录页面 : 登录成功
+执行登录 --> 显示登录注册界面 : 登录失败
+跳转到已登录页面 --> 选择操作
+选择操作 --> 扔漂流瓶 : 用户选择扔漂流瓶
+扔漂流瓶 -->  编写漂流瓶内容
+编写漂流瓶内容 --> 抛出漂流瓶
+抛出漂流瓶 --> 返回已登录页面
+跳转到已登录页面 --> 捞漂流瓶 : 用户选择捞漂流瓶
+捞漂流瓶 --> 检查条件
+检查条件 --> 成功捞上 : 条件满足
+检查条件 --> 打捞失败 : 条件不满足
+成功捞上 --> 返回已登录页面
+打捞失败 --> 返回已登录页面
+跳转到已登录页面 --> 查看我的漂流瓶 : 用户选择查看我的漂流瓶
+查看我的漂流瓶 --> 显示扔出的漂流瓶
+查看我的漂流瓶 --> 显示捞上的漂流瓶
+显示扔出的漂流瓶 --> 选择操作
+显示捞上的漂流瓶 --> 选择操作
+选择操作 --> 扔回捞上的漂流瓶 : 用户选择扔回捞上的漂流瓶
+扔回捞上的漂流瓶 --> 返回已登录页面
+@enduml
+```

+ 15 - 47
docs-prod/schema.md

@@ -157,24 +157,8 @@ sequenceDiagram
     participant System
 
     User->>System: 访问系统
-    alt 用户未登录
-        System->>User: 显示登录注册界面
-        User->>System: 输入用户名和密码
-        alt 登录成功
-            System->>User: 跳转到已登录页面
-            User->>System: 查看问卷通知
-            System->>User: 显示问卷通知
-            User->>System: 发布问卷
-            alt 用户是老师
-                System->>User: 提示“问卷已成功发布”
-            else 用户不是老师
-                System->>User: 提示“权限不够”
-            end
-        else 登录失败
-            System->>User: 显示错误信息
-        end
-    else 用户已登录
-        System->>User: 跳转到已登录页面
+ 
+        System->>User: 跳转到心理普查页面
         User->>System: 查看问卷通知
         System->>User: 显示问卷通知
         User->>System: 发布问卷
@@ -183,55 +167,39 @@ sequenceDiagram
         else 用户不是老师
             System->>User: 提示“权限不够”
         end
-    end
+    
 ```
+
 ```mermaid
 sequenceDiagram
     participant User
     participant System
-
-    User->>System: 访问系统
-    alt 用户未登录
-        System->>User: 显示登录注册界面
-        User->>System: 输入用户名和密码
-        alt 登录成功
-            System->>User: 跳转到已登录页面
-            User->>System: 扔漂流瓶
-            System->>User: 提示“请输入漂流瓶内容”
-            User->>System: 编写漂流瓶内容
-            System->>User: 抛出漂流瓶
-            User->>System: 捞漂流瓶
-            alt 条件满足
-                System->>User: 成功捞上漂流瓶
-            else 条件不满足
-                System->>User: 打捞失败
-            end
-            User->>System: 查看我的漂流瓶
-            System->>User: 显示扔出的漂流瓶
-            System->>User: 显示捞上的漂流瓶
-            User->>System: 扔回捞上的漂流瓶
-            System->>User: 扔回成功
-        else 登录失败
-            System->>User: 显示错误信息
-        end
-    else 用户已登录
-        System->>User: 跳转到已登录页面
         User->>System: 扔漂流瓶
         System->>User: 提示“请输入漂流瓶内容”
         User->>System: 编写漂流瓶内容
         System->>User: 抛出漂流瓶
+```
+```mermaid
+sequenceDiagram
+    participant User
+    participant System
         User->>System: 捞漂流瓶
         alt 条件满足
             System->>User: 成功捞上漂流瓶
         else 条件不满足
             System->>User: 打捞失败
         end
+```
+```mermaid
+sequenceDiagram
+    participant User
+    participant System
         User->>System: 查看我的漂流瓶
         System->>User: 显示扔出的漂流瓶
         System->>User: 显示捞上的漂流瓶
         User->>System: 扔回捞上的漂流瓶
         System->>User: 扔回成功
-    end
+    
 ```