schema.md 3.0 KB

类图

' 聊天项目类图
@startuml
' 智能陪聊
' 存储用户的基本信息
class 用户 { 
    +对象ID: String
    +创建时间: Date
    +用户名: String
    +密码: String
    +邮箱: String
    +头像: String
    +个人简介: String
    + 更新个人信息(): void
}

' 存储专业陪聊师的信息
class 专业陪聊机器人 {
    +对象ID: String
    +创建时间: Date
    +名称: String
    +专业领域: String
    +评分: Float
    +可用性: Boolean
    +头像: String
    +个人简介: String
    + 更新评分():void
}

' 存储普通陪聊师的信息
class 普通聊天机器人 {
    +对象ID: String
    +创建时间: Date
    +名称: String
    +描述: String
    +版本: String
    +可用性: Boolean
    +头像: String
}

' 记录用户与陪聊师的聊天记录
class 聊天记录 {
    +对象ID: String
    +创建时间: Date
    +消息: String
    +时间戳: Date
    +用户: 用户
    +聊天机器人: 聊天机器人
    +管理员: 管理员
    + 保存聊天记录(): void
    + 获取聊天记录(): List
}

' 存储管理员的信息
class 管理员 {
    +对象ID: String
    +用户名: String
    +密码: String
    +邮箱: String
    +创建时间: Date
    + 管理聊天记录(): List<聊天记录>
}

用户 "1" --> "*" 聊天记录
专业陪聊机器人 "1" --> "*" 聊天记录
普通聊天机器人 "1" --> "*" 聊天记录
管理员 "1" --> "*" 聊天记录
@enduml

时序图

@startuml
actor 用户
participant 专业陪聊机器人
participant 管理员
participant 聊天记录

用户 -> 专业陪聊机器人: 发送消息
专业陪聊机器人 -> 用户: 返回回复消息
用户 -> 管理员: 退出聊天
管理员 -> 聊天记录: 保存聊天记录
聊天记录 -> 管理员: 返回记录确认
@enduml
@startuml
actor 用户
participant 普通聊天机器人
participant 管理员
participant 聊天记录

用户 -> 普通聊天机器人: 发送消息
普通聊天机器人 -> 用户: 返回回复消息
用户 -> 管理员: 退出聊天
管理员 -> 聊天记录: 保存聊天记录
聊天记录 -> 管理员: 返回记录确认
@enduml

状态图

@startuml
[*] --> 选择聊天页面

选择聊天页面 --> 聊天中 : 开始聊天
聊天中 --> 与专业陪聊机器人交互 : 选择专业陪聊机器人
聊天中 --> 与普通聊天机器人交互 : 选择普通聊天机器人

聊天中 --> 退出聊天 : 选择退出聊天
退出聊天 --> 记录中 : 记录聊天记录

记录中 --> 保存成功 : 保存记录
记录中 --> 保存失败 : 保存记录失败

保存成功 --> [*] : 聊天结束
保存失败 --> 记录中 : 重新保存
@enduml

活动图

@startuml
|用户|
start
:发送消息;
|专业陪聊机器人|
:回复消息;
|用户|
repeat
if (继续聊天?) then (是)
    |用户|
    :发送消息;
    |专业陪聊机器人|
    :回复消息;
else (否)
    |管理员|
    :记录消息;
    stop
endif
repeat while (回复消息)
@enduml