表设计
1._User表
objectId: String (默认)
createdAt: Date (默认)
userId:String
password:String
realname:String
age: Number
gender: String
email:String
bio:String(个人简介)
avatar:String
imagery:String(用户画像)
2.FilmRecommendation
objectId: String (默认)
createdAt: Date (默认)
user: Pointer
title: String(剧名)
genre: String(题材)
grade: String(评分)
desc: String(描述)
表设计
1.FilmRole表
objectId: String (默认)
createdAt: Date (默认)
name: String
nickname: String
title: String
avater: String
description: String
traits: String
2.FilmPartner表
objectId: String (默认)
createdAt: Date (默认)
name: String
age: Number
avater: String
desc: String
3.FilmChat表
objectId: String (默认)
createdAt: Date (默认)
user: Pointer
filmrole: Pointer
filmpartner: Pointer
title: String
dialogue: String
表设计
1.FilmPost表
objectId: String (默认)
createdAt: Date (默认)
author: Pointer
title: String
label:String(话题)
content: String
likesCount: Number
commentCount:Number
status: String (状态,默认为通过)
2.FilmComment表
objectId: String (默认)
createdAt: Date (默认)
post: Pointer
user: Pointer
content: String
status: String
3.FilmPostRating表
objectId: String (默认)
createdAt: Date (默认)
user: Pointer
post: Pointer
ratingValue: Number
comment: String (可选)
@startuml
class User {
+String objectId
+Date createdAt
+String userId
+String password
+String realname
+Number age
+String gender
+String email
+String bio
+String avatar
+String imagery
}
class FilmRecommendation {
+String objectId
+Date createdAt
+Pointer user
+String title
+String genre
+String grade
+String desc
}
class FilmRole {
+String objectId
+Date createdAt
+String name
+String nickname
+String title
+String avatar
+String description
+String traits
}
class FilmPartner {
+String objectId
+Date createdAt
+String name
+Number age
+String avatar
+String desc
}
class FilmChat {
+String objectId
+Date createdAt
+Pointer user
+Pointer filmrole
+Pointer filmpartner
+String title
+String dialogue
}
class FilmPost {
+String objectId
+Date createdAt
+Pointer author
+String title
+String label
+String content
+Number likesCount
+Number commentCount
+String status
}
class FilmComment {
+String objectId
+Date createdAt
+Pointer post
+Pointer user
+String content
+String status
}
class FilmPostRating {
+String objectId
+Date createdAt
+Pointer user
+Pointer post
+Number ratingValue
+String comment
}
User "1" -- "0..*" FilmRecommendation : has
User "1" -- "0..*" FilmChat : initiates
FilmRole "1" -- "0..*" FilmChat : participates
FilmPartner "1" -- "0..*" FilmChat : participates
User "1" -- "0..*" FilmPost : creates
FilmPost "1" -- "0..*" FilmComment : has
User "1" -- "0..*" FilmComment : writes
User "1" -- "0..*" FilmPostRating : rates
FilmPost "1" -- "0..*" FilmPostRating : receives
@enduml
业务逻辑描述
展示推荐:系统将生成的推荐列表展示给用户。
@startuml
actor User
participant "AI陪聊助手" as ChatBot
participant "用户数据库" as UserProfileDB
participant "聊天记录数据库" as ChatHistoryDB
participant "推荐系统" as RecommendationSystem
ChatBot -> ChatHistoryDB: 获取聊天记录
ChatBot -> UserProfileDB: 获取用户画像
ChatBot -> ChatHistoryDB: 分析聊天记录
ChatBot -> RecommendationSystem: 生成推荐列表
RecommendationSystem -> ChatBot: 返回推荐列表
ChatBot -> User: 显示推荐列表
@enduml
状态逻辑描述
初始状态:用户未进行点击。
分析数据:当用户点击生成推荐时,系统分析用户的聊天记录和用户画像。
状态转移到“分析中”。
生成推荐:系统根据分析结果生成影视剧推荐列表。
状态转移到“推荐生成中”。
展示推荐:推荐生成后,系统将推荐列表展示给用户。
状态转移到“推荐展示中”。
结束状态:用户查看推荐后,状态回到“初始状态”。
@startuml
[*] --> 初始状态
初始状态 --> 分析中 : 用户点击生成推荐
分析中 --> 推荐生成中 : 分析完成
推荐生成中 --> 推荐展示中 : 生成推荐列表
推荐展示中 --> 初始状态 : 用户查看推荐
@enduml
活动逻辑描述
开始:用户与 AI 陪聊助手开始互动。
获取聊天记录:系统获取用户的聊天信息。
获取用户画像:系统获取用户的画像信息。
分析数据:系统分析聊天记录和用户画像,以了解用户偏好。
生成推荐:系统基于分析结果生成影视剧推荐列表。
展示推荐:系统将生成的推荐列表展示给用户。
结束:用户查看推荐后,活动结束。
@startuml
start
:开始推荐;
:获取用户的聊天信息;
:获取用户画像信息;
:分析聊天记录和用户画像;
:生成影视剧推荐列表;
:展示推荐列表给用户;
stop
@enduml
AI追剧搭子 业务逻辑描述
对话结束:用户选择结束对话,AI追剧搭子记录对话信息,并提供总结或推荐其他角色/影视剧。
@startuml
actor User
participant "AI追剧搭子" as AI
User -> AI : 启动陪聊模块
AI -> AI : 加载背景信息
AI -> User : 生成初始对话内容
User -> AI : 输入问题/评论
AI -> AI : 解析用户输入
AI -> AI : 生成AI追剧搭子回复
AI -> User : 发送AI追剧搭子回复
User -> AI : 输入问题/评论
AI -> AI : 解析用户输入
AI -> AI : 生成AI追剧搭子回复
AI -> User : 发送AI追剧搭子回复
User -> AI : 结束对话
AI -> AI : 记录对话信息
AI -> User : 提供总结/推荐
@enduml
角色互动 业务逻辑描述
对话结束:用户选择结束对话,AI助手记录对话信息。
@startuml
actor User
participant "角色" as AI
User -> AI : 启动陪聊模块
User -> AI : 选择角色互动功能
AI -> User : 显示角色选择
User -> AI : 选择角色
AI -> AI : 加载角色信息
AI -> User : 生成初始对话内容
User -> AI : 输入问题/评论
AI -> AI : 解析用户输入
AI -> AI : 生成角色回复
AI -> User : 发送角色回复
User -> AI : 输入问题/评论
AI -> AI : 解析用户输入
AI -> AI : 生成角色回复
AI -> User : 发送角色回复
User -> AI : 结束对话
AI -> AI : 记录对话信息
@enduml
状态逻辑描述
AI助手陪聊模块可以分为以下几个主要状态:
初始状态:用户未启动陪聊模块。
选择影视剧状态:用户启动陪聊模块后,进入AI陪聊助手选择界面。
选择AI追剧搭子:用户选择一个追剧搭子。
选择角色状态(可选):用户选择影视剧后,可以选择希望与之互动的角色。
对话进行中状态:用户进行选择后,进入与角色或AI追剧搭子的对话状态。
结束对话状态:用户选择结束对话,AI助手记录相关信息并提供总结。
状态之间的转换逻辑如下:
从初始状态到选择角色状态:用户选择角色。
从选择影视剧状态到对话进行中状态:用户选择不选择角色,直接进入对话。
从选择角色状态到对话进行中状态:用户选择角色。
从对话进行中状态到对话进行中状态:用户输入问题或评论,AI助手生成回复。
从对话进行中状态到结束对话状态:用户选择结束对话。
从结束对话状态到初始状态:对话结束后,用户返回初始状态。
@startuml
[*] --> 初始状态
初始状态 --> 选择角色状态 : 角色对话
初始状态 --> 选择AI追剧搭子状态 : 搭子陪聊
选择AI追剧搭子状态 --> 对话进行中状态 : 选择搭子
选择角色状态 --> 对话进行中状态 : 选择角色
对话进行中状态 --> 对话进行中状态 : 输入问题/评论
对话进行中状态 --> 结束对话状态 : 结束对话
结束对话状态 --> [*] : 返回初始状态
@enduml
活动逻辑描述
开始:用户进入 AI 陪聊助手模块。
选择AI陪聊搭子:用户选择一个AI陪聊搭子或角色。
开始对话:系统根据用户选择的角色启动对话。
流畅交流:AI 陪聊助手根据影视剧的剧情与用户进行自然的对话交流。
提供个性化解读:系统为用户提供个性化的影视剧解读。
保存数据:系统在对话过程中记录用户的选择和对话内容。
结束对话:用户选择结束对话,系统保存最终的数据记录。
结束:流程结束。
@startuml
start
:用户进入AI陪聊助手模块;
:选择AI陪聊搭子或角色;
:开始对话;
:AI助手根据剧情进行自然对话;
:提供个性化的影视剧解读;
:保存对话数据;
:用户选择结束对话;
:保存最终的数据记录;
stop
@enduml
业务逻辑描述
结束:流程结束。
@startuml
actor User
participant "社区模块" as CommunityModule
participant "数据库" as Database
User -> CommunityModule: 进入社区模块
User -> CommunityModule: 选择发布帖子/评论
User -> CommunityModule: 输入帖子/评论内容
User -> CommunityModule: 提交帖子/评论
CommunityModule -> Database: 保存帖子/评论数据
Database -> CommunityModule: 确认保存
CommunityModule -> User: 显示用户帖子/评论
User -> CommunityModule: 结束
@enduml
状态逻辑描述
初始状态:用户未进入社区模块。
社区模块状态:用户进入社区模块。
选择发布状态:用户选择发布帖子或评论。
输入内容状态:用户在输入框中撰写帖子或评论内容。
提交状态:用户点击提交按钮,发送帖子或评论到系统。
数据保存状态:系统将数据保存到数据库。
显示状态:系统显示用户的帖子或评论。
结束状态:用户查看帖子或评论,流程结束。
@startuml
[*] --> 初始状态
初始状态 --> 社区模块状态 : 用户进入社区模块
社区模块状态 --> 选择发布状态 : 用户选择发布帖子/评论
选择发布状态 --> 输入内容状态 : 用户输入帖子/评论内容
输入内容状态 --> 提交状态 : 用户提交帖子/评论
提交状态 --> 数据保存状态 : 系统将数据保存到数据库
数据保存状态 --> 显示状态 : 系统显示用户帖子/评论
显示状态 --> 结束状态 : 用户查看帖子/评论
结束状态 --> 初始状态 : 流程结束
@enduml
活动逻辑描述
开始:用户进入社区模块。
选择发布帖子/评论:用户选择在讨论区发布自己的观点、经验或问题,或对感兴趣的帖子进行评论。
输入内容:用户在输入框中撰写帖子或评论内容。
提交内容:用户点击提交按钮,发送帖子或评论到系统。
保存数据:系统将数据保存到数据库。
显示内容:系统显示用户的帖子或评论。
结束:流程结束。
@startuml
start
:用户进入社区模块;
:选择发布帖子/评论;
:用户输入帖子/评论内容;
:用户提交帖子/评论;
:系统将数据保存到数据库;
:系统显示用户的帖子/评论;
stop
@enduml