|
|
@@ -1,11 +1,12 @@
|
|
|
表结构
|
|
|
-heartvoiceuser(用户表)
|
|
|
+—_User(用户表)
|
|
|
objectId (唯一标识)
|
|
|
createdAt (创建时间)
|
|
|
username (用户名)
|
|
|
password (密码)
|
|
|
realrame (真实姓名)
|
|
|
-phoneNumber (手机号)
|
|
|
+gender (性别)
|
|
|
+age (年龄)
|
|
|
|
|
|
Questions(问题表)
|
|
|
objectId (唯一标识)
|
|
|
@@ -20,7 +21,7 @@ question (Pointer) (关联的题目)
|
|
|
optionText (选项文本)
|
|
|
weight (权重,取值为 1, 0.5, 0, -0.5, -1):string
|
|
|
|
|
|
-UserResponse(用户性格表)
|
|
|
+UserResponse(用户MBTI表)
|
|
|
objectId (唯一标识)
|
|
|
createdAt (创建时间)
|
|
|
user (Pointer) (关联的用户)
|
|
|
@@ -32,8 +33,8 @@ createdAt (创建时间)
|
|
|
user (Pointer) (关联的用户)
|
|
|
chatContent (聊天内容)
|
|
|
chatTime (聊天时间)
|
|
|
- (情绪指数)
|
|
|
- (情绪 )
|
|
|
+sentimentscore (情感得分)
|
|
|
+sentimentAnalysisResult (情感分析结果)
|
|
|
|
|
|
PersonalityReport(个性化心理报告表)
|
|
|
objectId (唯一标识)
|
|
|
@@ -54,170 +55,174 @@ createdAt (创建时间)
|
|
|
user (Pointer) (关联的用户)
|
|
|
feedbackContent (评价内容)
|
|
|
star (星级)
|
|
|
+username (用户名)
|
|
|
|
|
|
|
|
|
|
|
|
```plantuml
|
|
|
@startuml
|
|
|
-class heartvoiceuser {
|
|
|
- - objectId: String
|
|
|
- - createdAt: Date
|
|
|
- - username: String
|
|
|
- - password: String
|
|
|
- - realname: String
|
|
|
- - phoneNumber: String
|
|
|
+
|
|
|
+class _User {
|
|
|
+ +objectId: String
|
|
|
+ +createdAt: Date
|
|
|
+ +username: String
|
|
|
+ +password: String
|
|
|
+ +realname: String
|
|
|
+ +gender: String
|
|
|
+ +age: Int
|
|
|
}
|
|
|
|
|
|
class Questions {
|
|
|
- - objectId: String
|
|
|
- - createdAt: Date
|
|
|
- - questionText: String
|
|
|
- - dimension: String
|
|
|
+ +objectId: String
|
|
|
+ +createdAt: Date
|
|
|
+ +questionText: String
|
|
|
+ +dimension: String
|
|
|
}
|
|
|
|
|
|
-class Option {
|
|
|
- - objectId: String
|
|
|
- - createdAt: Date
|
|
|
- - question: Questions
|
|
|
- - optionText: String
|
|
|
- - weight: String
|
|
|
+class option {
|
|
|
+ +objectId: String
|
|
|
+ +createdAt: Date
|
|
|
+ +question: Pointer
|
|
|
+ +optionText: String
|
|
|
+ +weight: String
|
|
|
}
|
|
|
|
|
|
class UserResponse {
|
|
|
- - objectId: String
|
|
|
- - createdAt: Date
|
|
|
- - user: heartvoiceuser
|
|
|
- - mbtiType: String
|
|
|
+ +objectId: String
|
|
|
+ +createdAt: Date
|
|
|
+ +user: Pointer
|
|
|
+ +mbtiType: String
|
|
|
}
|
|
|
|
|
|
class Chat {
|
|
|
- - objectId: String
|
|
|
- - createdAt: Date
|
|
|
- - user: heartvoiceuser
|
|
|
- - chatContent: String
|
|
|
- - chatTime: Date
|
|
|
- - emotion: String
|
|
|
+ +objectId: String
|
|
|
+ +createdAt: Date
|
|
|
+ +user: Pointer
|
|
|
+ +chatContent: String
|
|
|
+ +chatTime: Date
|
|
|
+ +sentimentscore: Float
|
|
|
+ +sentimentAnalysisResult: String
|
|
|
}
|
|
|
|
|
|
class PersonalityReport {
|
|
|
- - objectId: String
|
|
|
- - createdAt: Date
|
|
|
- - user: heartvoiceuser
|
|
|
- - mbtiType: String
|
|
|
- - reportContent: String
|
|
|
- - emotion: String
|
|
|
+ +objectId: String
|
|
|
+ +createdAt: Date
|
|
|
+ +user: Pointer
|
|
|
+ +reportContent: String
|
|
|
}
|
|
|
|
|
|
class Feedback {
|
|
|
- - objectId: String
|
|
|
- - createdAt: Date
|
|
|
- - user: heartvoiceuser
|
|
|
- - feedbackContent: String
|
|
|
+ +objectId: String
|
|
|
+ +createdAt: Date
|
|
|
+ +user: Pointer
|
|
|
+ +feedbackContent: String
|
|
|
}
|
|
|
|
|
|
class Review {
|
|
|
- - objectId: String
|
|
|
- - createdAt: Date
|
|
|
- - user: heartvoiceuser
|
|
|
- - feedbackContent: String
|
|
|
- - star: String
|
|
|
+ +objectId: String
|
|
|
+ +createdAt: Date
|
|
|
+ +user: Pointer
|
|
|
+ +feedbackContent: String
|
|
|
+ +star: Int
|
|
|
+ +username: String
|
|
|
}
|
|
|
|
|
|
-heartvoiceuser "1" -- "n" UserResponse
|
|
|
-heartvoiceuser "1" -- "n" Chat
|
|
|
-heartvoiceuser "1" -- "n" PersonalityReport
|
|
|
-heartvoiceuser "1" -- "n" Feedback
|
|
|
-heartvoiceuser "1" -- "n" Review
|
|
|
-Questions "1" -- "n" Option
|
|
|
+
|
|
|
+_User "1" -- "0..*" UserResponse
|
|
|
+_User "1" -- "0..*" Chat
|
|
|
+_User "1" -- "0..*" Feedback
|
|
|
+_User "1" -- "0..*" Review
|
|
|
+Questions "1" -- "0..*" option
|
|
|
+UserResponse "1" -- "0..*" PersonalityReport
|
|
|
+Chat "1" -- "0..*" Review : includes >
|
|
|
+
|
|
|
@enduml
|
|
|
```
|
|
|
|
|
|
|
|
|
```plantuml
|
|
|
@startuml
|
|
|
-start
|
|
|
-:用户进入注册模块;
|
|
|
-:用户输入账号、密码及二次密码;
|
|
|
-if (注册信息有效?) then (yes)
|
|
|
- :注册成功;
|
|
|
- :用户返回登录界面;
|
|
|
-else (no)
|
|
|
- :注册失败提示;
|
|
|
- :用户重新输入信息;
|
|
|
-endif
|
|
|
-:用户输入账号和密码;
|
|
|
-if (登录信息有效?) then (yes)
|
|
|
- :登录成功;
|
|
|
- :进入主界面;
|
|
|
-else (no)
|
|
|
- :登录失败提示;
|
|
|
- :用户重新输入信息;
|
|
|
-endif
|
|
|
-stop
|
|
|
+actor User
|
|
|
+entity System
|
|
|
+
|
|
|
+User -> System : 登录后选择MBTI性格检测功能
|
|
|
+System -> User : 展示测试题
|
|
|
+
|
|
|
+
|
|
|
+ User -> System : 点击选项
|
|
|
+
|
|
|
+
|
|
|
+User -> System : 完成测试题
|
|
|
+System -> User : 生成MBTI测试结果
|
|
|
@enduml
|
|
|
```
|
|
|
|
|
|
-
|
|
|
```plantuml
|
|
|
@startuml
|
|
|
-start
|
|
|
-:用户登录后选择MBTI性格检测功能;
|
|
|
-:系统展示测试题;
|
|
|
-
|
|
|
-repeat
|
|
|
- :用户点击选项;
|
|
|
-repeat while (还有测试题?)
|
|
|
-
|
|
|
-:用户完成测试题;
|
|
|
-:系统生成MBTI测试结果;
|
|
|
-:用户查看测试结果;
|
|
|
-stop
|
|
|
+actor User
|
|
|
+entity System
|
|
|
+
|
|
|
+User -> System : 进入注册模块
|
|
|
+User -> System : 输入账号、密码及二次密码
|
|
|
+System -> User : 注册信息有效?
|
|
|
+alt yes
|
|
|
+ System -> User : 注册成功
|
|
|
+ User -> System : 返回登录界面
|
|
|
+else no
|
|
|
+ System -> User : 注册失败提示
|
|
|
+ User -> System : 重新输入信息
|
|
|
+end
|
|
|
+User -> System : 输入账号和密码
|
|
|
+System -> User : 登录信息有效?
|
|
|
+alt yes
|
|
|
+ System -> User : 登录成功
|
|
|
+ User -> System : 进入主界面
|
|
|
+else no
|
|
|
+ System -> User : 登录失败提示
|
|
|
+ User -> System : 重新输入信息
|
|
|
+end
|
|
|
@enduml
|
|
|
```
|
|
|
|
|
|
-
|
|
|
```plantuml
|
|
|
@startuml
|
|
|
-start
|
|
|
-:用户进入AI聊天模块;
|
|
|
-:用户开始与AI进行实时对话;
|
|
|
-
|
|
|
-repeat
|
|
|
- :用户结束内容;
|
|
|
- :AI对用户输入聊天内容进行情绪分析;
|
|
|
- :记录聊天时间、内容和心情指数;
|
|
|
-repeat while (用户继续聊天?)
|
|
|
-
|
|
|
-:用户结束聊天;
|
|
|
-:系统保存聊天记录;
|
|
|
-stop
|
|
|
+actor User
|
|
|
+entity System
|
|
|
+
|
|
|
+User -> System : 进入AI聊天模块
|
|
|
+User -> System : 开始与AI进行实时对话
|
|
|
+
|
|
|
+
|
|
|
+ User -> System : 输入聊天内容
|
|
|
+ System -> User : 进行情绪分析
|
|
|
+ System -> User : 记录聊天时间、内容和心情指数
|
|
|
+
|
|
|
+
|
|
|
+User -> System : 结束聊天
|
|
|
+System -> User : 保存聊天记录
|
|
|
@enduml
|
|
|
```
|
|
|
|
|
|
```plantuml
|
|
|
@startuml
|
|
|
-start
|
|
|
-:系统收集MBTI测试结果和聊天情绪分析数据;
|
|
|
-:生成个性化心理分析报告;
|
|
|
-:提供心理健康建议和治疗方法;
|
|
|
-:用户查看个性化心理报告;
|
|
|
-stop
|
|
|
+entity System
|
|
|
+
|
|
|
+System -> System : 收集MBTI测试结果和聊天情绪分析数据
|
|
|
+System -> User : 生成个性化心理分析报告
|
|
|
+System -> User : 提供心理健康建议
|
|
|
+User -> System: 查看个性化心理报告
|
|
|
@enduml
|
|
|
```
|
|
|
|
|
|
```plantuml
|
|
|
@startuml
|
|
|
-start
|
|
|
-:用户在反馈模块提交问题;
|
|
|
-:系统记录用户反馈信息;
|
|
|
-:用户查看其他用户评价;
|
|
|
-:用户提交自己的星级评价;
|
|
|
-:系统记录用户评价并上传;
|
|
|
-stop
|
|
|
+actor User
|
|
|
+entity System
|
|
|
+
|
|
|
+User -> System : 提交反馈问题
|
|
|
+System -> User : 记录用户反馈信息
|
|
|
+User -> System : 查看其他用户评价
|
|
|
+User -> System : 提交星级评价
|
|
|
+System -> User : 记录用户评价并上传
|
|
|
@enduml
|
|
|
-```
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+```
|