|
@@ -5,67 +5,56 @@
|
|
|
' 智能陪聊
|
|
|
' 存储用户的基本信息
|
|
|
class 用户 {
|
|
|
- +对象ID: String
|
|
|
- +创建时间: Date
|
|
|
+ +用户ID: String
|
|
|
+用户名: String
|
|
|
+密码: String
|
|
|
+邮箱: String
|
|
|
+头像: String
|
|
|
+个人简介: String
|
|
|
- + 更新个人信息(): void
|
|
|
+ + 开始聊天():void
|
|
|
+ + 选择陪聊师():String
|
|
|
+ + 总结聊天记录():void
|
|
|
}
|
|
|
|
|
|
' 存储专业陪聊师的信息
|
|
|
-class 专业陪聊机器人 {
|
|
|
- +对象ID: String
|
|
|
- +创建时间: Date
|
|
|
+class 专业陪聊师 {
|
|
|
+ +陪聊师ID: String
|
|
|
+名称: String
|
|
|
+专业领域: String
|
|
|
+评分: Float
|
|
|
- +可用性: Boolean
|
|
|
+头像: String
|
|
|
+个人简介: String
|
|
|
- + 更新评分():void
|
|
|
+ + 提供聊天(): String
|
|
|
}
|
|
|
|
|
|
' 存储普通陪聊师的信息
|
|
|
-class 普通聊天机器人 {
|
|
|
- +对象ID: String
|
|
|
- +创建时间: Date
|
|
|
+class 普通陪聊师 {
|
|
|
+ +陪聊师ID: String
|
|
|
+名称: String
|
|
|
- +描述: String
|
|
|
- +版本: String
|
|
|
- +可用性: Boolean
|
|
|
+ +评分: Float
|
|
|
+头像: String
|
|
|
+ +个人简介: String
|
|
|
+ + 提供聊天(): String
|
|
|
}
|
|
|
-
|
|
|
' 记录用户与陪聊师的聊天记录
|
|
|
class 聊天记录 {
|
|
|
- +对象ID: String
|
|
|
- +创建时间: Date
|
|
|
- +消息: String
|
|
|
- +时间戳: Date
|
|
|
+ +聊天记录ID: String
|
|
|
+ +时间: Date
|
|
|
+ -聊天内容: List
|
|
|
+用户: 用户
|
|
|
+聊天机器人: 聊天机器人
|
|
|
- +管理员: 管理员
|
|
|
- + 保存聊天记录(): void
|
|
|
+ 获取聊天记录(): List
|
|
|
}
|
|
|
-
|
|
|
-' 存储管理员的信息
|
|
|
-class 管理员 {
|
|
|
- +对象ID: String
|
|
|
- +用户名: String
|
|
|
- +密码: String
|
|
|
- +邮箱: String
|
|
|
- +创建时间: Date
|
|
|
- + 管理聊天记录(): List<聊天记录>
|
|
|
+' 记录产生的报告
|
|
|
+class 报告 {
|
|
|
+ +报告ID: String
|
|
|
+ -分析结果: String
|
|
|
+ + 生成报告(): String
|
|
|
}
|
|
|
-
|
|
|
用户 "1" --> "*" 聊天记录
|
|
|
-专业陪聊机器人 "1" --> "*" 聊天记录
|
|
|
-普通聊天机器人 "1" --> "*" 聊天记录
|
|
|
-管理员 "1" --> "*" 聊天记录
|
|
|
+专业陪聊师 "1" --> "*" 聊天记录
|
|
|
+普通陪聊师 "1" --> "*" 聊天记录
|
|
|
+聊天记录 "1" -- "1" 报告
|
|
|
@enduml
|
|
|
```
|
|
|
|
|
@@ -73,49 +62,43 @@ class 管理员 {
|
|
|
```plantuml
|
|
|
@startuml
|
|
|
actor 用户
|
|
|
-participant 专业陪聊机器人
|
|
|
-participant 管理员
|
|
|
-participant 聊天记录
|
|
|
+participant "专业陪聊师" as 专业陪聊师
|
|
|
+participant "普通陪聊师" as 普通陪聊师
|
|
|
+participant "聊天记录" as 聊天记录
|
|
|
+participant "报告" as 报告
|
|
|
|
|
|
-用户 -> 专业陪聊机器人: 发送消息
|
|
|
-专业陪聊机器人 -> 用户: 返回回复消息
|
|
|
-用户 -> 管理员: 退出聊天
|
|
|
-管理员 -> 聊天记录: 保存聊天记录
|
|
|
-聊天记录 -> 管理员: 返回记录确认
|
|
|
-@enduml
|
|
|
-```
|
|
|
-```plantuml
|
|
|
-@startuml
|
|
|
-actor 用户
|
|
|
-participant 普通聊天机器人
|
|
|
-participant 管理员
|
|
|
-participant 聊天记录
|
|
|
+用户 -> 用户: 选择陪聊师()
|
|
|
+alt 选择专业陪聊师
|
|
|
+ 用户 -> 专业陪聊师: 提供聊天()
|
|
|
+else 选择普通陪聊师
|
|
|
+ 用户 -> 普通陪聊师: 提供聊天()
|
|
|
+end
|
|
|
+用户 -> 用户: 开始聊天()
|
|
|
+用户 -> 聊天记录: 总结聊天记录()
|
|
|
+聊天记录 -> 聊天记录: 获取聊天记录()
|
|
|
+
|
|
|
+聊天记录 -> 报告: 生成报告()
|
|
|
+报告 -> 用户: 返回分析报告
|
|
|
|
|
|
-用户 -> 普通聊天机器人: 发送消息
|
|
|
-普通聊天机器人 -> 用户: 返回回复消息
|
|
|
-用户 -> 管理员: 退出聊天
|
|
|
-管理员 -> 聊天记录: 保存聊天记录
|
|
|
-聊天记录 -> 管理员: 返回记录确认
|
|
|
@enduml
|
|
|
```
|
|
|
|
|
|
# 状态图
|
|
|
```plantuml
|
|
|
@startuml
|
|
|
-[*] --> 选择聊天页面
|
|
|
-
|
|
|
-选择聊天页面 --> 聊天中 : 开始聊天
|
|
|
-聊天中 --> 与专业陪聊机器人交互 : 选择专业陪聊机器人
|
|
|
-聊天中 --> 与普通聊天机器人交互 : 选择普通聊天机器人
|
|
|
+[*] --> 选择陪聊师
|
|
|
|
|
|
+选择陪聊师 --> 聊天中: 开始聊天
|
|
|
+聊天中 --> 继续聊天 : 选择继续聊天
|
|
|
聊天中 --> 退出聊天 : 选择退出聊天
|
|
|
-退出聊天 --> 记录中 : 记录聊天记录
|
|
|
+退出聊天 --> 总结中 : 总结聊天记录
|
|
|
|
|
|
-记录中 --> 保存成功 : 保存记录
|
|
|
-记录中 --> 保存失败 : 保存记录失败
|
|
|
+总结中 --> 生成报告 : 生成分析报告
|
|
|
+生成报告 --> 生成失败 : 报告生成失败
|
|
|
+生成报告 --> 生成成功 : 报告生成成功
|
|
|
|
|
|
-保存成功 --> [*] : 聊天结束
|
|
|
-保存失败 --> 记录中 : 重新保存
|
|
|
+生成成功 --> [*] : 聊天结束
|
|
|
+生成失败 --> 生成报告 : 重新生成
|
|
|
@enduml
|
|
|
```
|
|
|
|