浏览代码

feat.liao.md

19136808282 3 月之前
父节点
当前提交
4a6ccb0c65
共有 2 个文件被更改,包括 381 次插入44 次删除
  1. 346 0
      .history/docs-prod/schema_20241228175527.md
  2. 35 44
      docs-prod/schema.md

+ 346 - 0
.history/docs-prod/schema_20241228175527.md

@@ -0,0 +1,346 @@
+# 简单版类图
+```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 ChatReport {
+    + objectId: String
+    - report: String
+}
+class ChatEvaluate{
+    + objectId:String
+    + avater:String
+    + content:String
+    + rating:Number
+    + user: Pointer<User> 
+}
+
+class Survey {
+    + objectId: String
+    + link: String
+    + title: String
+    + audience: 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 
+ChatRecord "1" --> "1" ChatReport      
+@enduml
+```
+
+
+# 时序图
+```plantuml
+@startuml
+actor 用户
+participant "专业陪聊师" as 专业陪聊师
+participant "普通陪聊师" as 普通陪聊师
+participant "聊天记录" as 聊天记录
+participant "报告" as 报告
+
+用户 -> 用户: 选择陪聊师()
+alt 选择专业陪聊师
+    用户 -> 专业陪聊师: 提供聊天()
+else 选择普通陪聊师
+    用户 -> 普通陪聊师: 提供聊天()
+end
+用户 -> 用户: 开始聊天()
+用户 -> 聊天记录: 总结聊天记录()
+聊天记录 -> 聊天记录: 获取聊天记录()
+
+聊天记录 -> 报告: 生成报告()
+报告 -> 用户: 返回分析报告
+
+@enduml
+```
+
+# 状态图
+```plantuml
+@startuml
+[*] --> 选择陪聊师
+
+选择陪聊师 -->  聊天中: 开始聊天
+聊天中 --> 继续聊天 : 选择继续聊天
+聊天中 --> 退出聊天 : 选择退出聊天
+退出聊天 --> 总结中 : 总结聊天记录
+
+总结中 --> 生成报告 : 生成分析报告
+生成报告 --> 生成失败 : 报告生成失败
+生成报告 --> 生成成功 : 报告生成成功
+
+生成成功 --> [*] : 聊天结束
+生成失败 --> 生成报告 : 重新生成
+@enduml
+```
+
+# 活动图
+```plantuml
+@startuml
+|用户|
+start
+:发送消息;
+|专业陪聊机器人|
+:回复消息;
+|用户|
+repeat
+if (继续聊天?) then (是)
+    |用户|
+    :发送消息;
+    |专业陪聊机器人|
+    :回复消息;
+else (否)
+    |管理员|
+    :记录消息;
+    stop
+endif
+repeat while (回复消息)
+@enduml
+
+```
+
+# //社区部分
+
+
+# 用例图
+```plantuml
+@startuml
+actor 用户
+
+
+rectangle "心理社区" {
+    用户 -- (使用心理普查)
+    用户 -- (使用漂流瓶)
+}
+rectangle "使用心理普查"{
+    用户 -- (填写问卷)
+    用户 -- (发布问卷)
+}
+rectangle "使用漂流瓶"{
+    用户 -- (扔漂流瓶)
+    用户 -- (捞漂流瓶)
+}
+
+@enduml
+```
+
+# 时序图
+
+```mermaid
+sequenceDiagram
+    participant Admin as 老师用户
+    participant Student as 学生用户
+    participant System as 系统
+
+    Admin->>System: 发布心理普查问卷
+    Student->>System: 填写心理普查问卷
+    System->>Admin: 收集问卷结果
+    Admin->>System: 分析问卷结果
+    
+    Admin->>System: 制定后续心理活动
+    
+```
+# 活动图
+
+```mermaid
+graph TD
+    A[开始] --> B[发布心理普查问卷]
+    B --> C[学生填写问卷]
+    C --> D[提交问卷]
+    D --> E[学校管理员分析结果]
+    E --> F{心理健康有问题的学生人数达到阈值?}
+    F -->|是| G[发布心理团辅]
+    F -->|否| H[继续监控]
+    G --> I[通知学生参与团辅]
+    E --> J[设置星标用户]
+    J --> K
+    H --> K
+    I --> K[结束]
+```
+
+# 状态图
+```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
+```

+ 35 - 44
docs-prod/schema.md

@@ -10,6 +10,11 @@ class _User {
     + age: Number 
     + email: String
     + avatar: String
+    + teacherId: String
+    + studentId: String
+    + identity: String
+    + school: String
+    + department: String
 }
 class ChatPartner {
     + objectId: String
@@ -42,40 +47,25 @@ class ChatEvaluate{
     + rating:Number
     + user: Pointer<User> 
 }
-class PsychologicalCommunity {
-    + communityID: String 
-    + topic: String 
-}
-class PsychologicalActivity {
-    + activityID: String
-    + title: String 
-    + description: String
-    + date: Date 
-    + location: String 
-}
-class PsychologicalSurvey {
-    + surveyID: String
-    + content: String
-    + publisher: SchoolAdmin
-    + responses: List
-}
-class SchoolAdmin {
-    + adminID: String
-    + name: String
-    + email: String
+
+class Survey {
+    + objectId: String
+    + link: String
+    + title: String
+    + audience: String
 }
-class Bottle {
+
+class DriftBottle {
     + bottleID: String
     + content: String
-    + author: User
-    + timestamp: Date
+    + username: String
+    + throwtime: String
+    + catcher: String
+    + catchtime: String
+    + status: String
 }
-_User "1" -- "0..*" PsychologicalCommunity
-PsychologicalActivity "1" -- "0..*" _User
-SchoolAdmin "1" -- "0..*" PsychologicalActivity
-SchoolAdmin "1" -- "0..*" PsychologicalSurvey
-PsychologicalSurvey "1" -- "0..*" _User
-_User "1" -- "0..*" Bottle
+Survey "1" -- "0..*" _User
+_User "1" -- "0..*" DriftBottle
 _User "*" --> "*" ChatEvaluate
 _User "1" --> "*" ChatRecord     
 ChatPartner "1" --> "*" ChatRecord 
@@ -160,15 +150,20 @@ repeat while (回复消息)
 # 用例图
 ```plantuml
 @startuml
-actor 学生用户
-actor 学校管理员
+actor 用户
+
 
 rectangle "心理社区" {
-    学生用户 -- (填写心理普查问卷)
-    学生用户 -- (使用心理测试)
-    学校管理员 -- (发布心理普查问卷)
-    学校管理员 -- (发布心理活动通知)
-    学校管理员 -- (设置星标用户)
+    用户 -- (使用心理普查)
+    用户 -- (使用漂流瓶)
+}
+rectangle "使用心理普查"{
+    用户 -- (填写问卷)
+    用户 -- (发布问卷)
+}
+rectangle "使用漂流瓶"{
+    用户 -- (扔漂流瓶)
+    用户 -- (捞漂流瓶)
 }
 
 @enduml
@@ -178,7 +173,7 @@ rectangle "心理社区" {
 
 ```mermaid
 sequenceDiagram
-    participant Admin as 学校管理员
+    participant Admin as 老师用户
     participant Student as 学生用户
     participant System as 系统
 
@@ -186,13 +181,9 @@ sequenceDiagram
     Student->>System: 填写心理普查问卷
     System->>Admin: 收集问卷结果
     Admin->>System: 分析问卷结果
-    alt 心理健康有问题的学生人数达到阈值
-        System->>Admin: 发布心理团辅
-        System->>Student: 升级为心理星标用户
-    end
+    
     Admin->>System: 制定后续心理活动
-    System->>Student: 通知学生参与活动
-    Student->>System: 使用心理测试
+    
 ```
 # 活动图