表设计
1._User表
objectId: String (默认)
createdAt: Date (默认)
age: Number
gender: String
watchHistory: Array<Pointer>
ratingHistory: Array<Pointer>
2.Film表
objectId: String (默认)
createdAt: Date (默认)
title: String
genre: String
contentFeatures: Array
3.FilmRating表
objectId: String (默认)
createdAt: Date (默认)
user: Pointer
film: Pointer
ratingValue: Number
comment: String (可选)
4.FilmRecommendation
objectId: String (默认)
createdAt: Date (默认)
user: Pointer
recommendedFilms: Array<Pointer>
表设计
1._User表
objectId: String (默认)
createdAt: Date (默认)
username: String
chatHistory: Array<Pointer>
2.Film表
objectId: String (默认)
createdAt: Date (默认)
title: String
genre: String
contentFeatures: Array
plotSummary: String
3.FilmRole表
objectId: String (默认)
createdAt: Date (默认)
film: Pointer
name: String
avater: String
desc: String
roleTraits: Array
4.FilmPartner表
objectId: String (默认)
createdAt: Date (默认)
name: String
age: Number
avater: String
desc: String
5.FilmChat表
objectId: String (默认)
createdAt: Date (默认)
user: Pointer
filmrole: Pointer
filmpartner: Pointer
dialogue: String
timestamp: Date
表设计
1._User表
objectId: String (默认)
createdAt: Date (默认)
username: String
postHistory: Array<Pointer>
commentHistory: Array<Pointer>
likeHistory: Array<Pointer>
2.FilmPost表
objectId: String (默认)
createdAt: Date (默认)
user: Pointer
content: String
likesCount: Number
commentsCount: Number
status: String (例如 "pending", "approved", "rejected")
3.FilmComment表
objectId: String (默认)
createdAt: Date (默认)
post: Pointer
user: Pointer
content: String
status: String (例如 "pending", "approved", "rejected")
4.FilmLike表
objectId: String (默认)
createdAt: Date (默认)
user: Pointer
post: Pointer
comment: Pointer (可选,若点赞的是评论)
1. 个性化推荐模块
实体类:
User:表示用户的信息。
Recommendation:表示生成的推荐列表。
WatchHistory:表示用户的观看历史。
Rating:表示用户的评分记录。
控制类:
RecommendationEngine:处理推荐逻辑。
DataProcessor:进行数据预处理。
RecommendationModel:表示推荐模型。
边界类:
RecommendationView:表示推荐展示界面。
2. AI陪聊助手模块
实体类:
UserProfile:表示用户的个人资料。
Character:表示可选的角色。
Dialogue:表示对话内容。
控制类:
Chatbot:表示AI陪聊助手。
边界类:
DialogueView:表示对话界面。
3. 社区模块
实体类:
Post:表示用户发布的帖子。
Comment:表示用户对帖子的评论。
Topic:表示讨论话题。
控制类:
PostManager:管理帖子和评论的逻辑。
Moderator:负责审核内容。
边界类:
CommunityView:表示社区模块的界面。
@startuml
package "个性化推荐模块" {
class User {
+String userId // 用户ID
+String name // 用户姓名
+int age // 用户年龄
+String gender // 用户性别
+String avatar // 用户头像
+List watchHistory // 用户观看历史
+List ratings // 用户评分记录
}
class WatchHistory {
+String mediaId // 观看的影视剧ID
+Date watchDate // 观看日期
}
class Rating {
+String mediaId // 评分的影视剧ID
+int score // 用户评分
}
class Recommendation {
+List mediaList // 推荐的影视剧列表
}
class RecommendationEngine {
+List generateRecommendations(User user)
}
class DataProcessor {
+void preprocessData(List users)
}
class RecommendationModel {
+void trainModel(List trainingData) // 训练推荐模型
+List predict(User user) // 根据用户预测推荐列表
}
class RecommendationView {
+void displayRecommendations(List recommendations)
}
}
package "AI陪聊助手模块" {
class UserProfile {
+String userId // 用户ID
+String preferences // 用户偏好设置
+String avatar // 用户头像
}
class Character {
+String name // 角色名称
+String background // 角色背景信息
}
class Dialogue {
+String userInput // 用户输入
+String botResponse // AI的响应
}
class Chatbot {
+String startChat(UserProfile userProfile)
+String generateResponse(Dialogue dialogue)
}
class DialogueView {
+void displayDialogue(Dialogue dialogue)
}
}
package "社区模块" {
class Post {
+String content // 帖子内容
+User author // 帖子的作者
+List comments // 帖子的评论列表
+int likes // 帖子的点赞数
}
class Comment {
+String content // 评论内容
+User author // 评论的作者
+Post post // 评论关联的帖子
}
class Topic {
+String title // 话题标题
+List posts // 话题下的帖子列表
}
class PostManager {
+void createPost(Post post) // 创建新帖子
+void addComment(Post post, Comment comment)
}
class Moderator {
+void reviewContent(Post post) // 审核帖子内容
+void approveContent(Post post) // 审核通过
+void rejectContent(Post post) // 审核不通过
}
class CommunityView {
+void displayTopics(List topics)
+void displayPost(Post post)
}
}
User "1" -- "1..*" WatchHistory
User "1" -- "1..*" Rating
RecommendationEngine "1" -- "1" DataProcessor
RecommendationEngine "1" -- "1" RecommendationModel
RecommendationModel "1" -- "1..*" Recommendation
Chatbot "1" -- "1" UserProfile
Chatbot "1" -- "1..*" Character
Post "1" -- "1" User
Post "1" -- "0..*" Comment
Topic "1" -- "0..*" Post
PostManager "1" -- "1" User
Moderator "1" -- "0..*" Post
@enduml
业务逻辑描述
推荐展示:将推荐列表展示给用户,用户可以根据推荐观看影视剧。
@startuml
actor User
participant "推荐系统" as System
User -> System : 提供个人信息
System -> System : 收集用户信息(年龄、性别等)
System -> System : 收集观看历史和评分记录
System -> System : 数据预处理
System -> System : 清洗和整理数据
System -> System : 提取有用特征
System -> System : 模型训练
System -> System : 使用预处理数据训练推荐模型
System -> System : 推荐生成
System -> User : 生成个性化影视剧推荐列表
User -> System : 查看推荐列表
System -> User : 展示推荐列表
@enduml
状态逻辑描述
个性化推荐模块可以分为以下几个主要状态:
初始状态:系统未开始个性化推荐流程。
用户信息获取状态:系统收集用户的个人信息(如年龄、性别等)、观看历史、评分记录等。
数据预处理状态:系统对收集到的数据进行清洗和整理,提取有用的特征。
模型训练状态:使用预处理后的数据训练推荐模型,模型可以基于用户的历史行为、相似用户的行为或影视剧的内容特征等进行推荐。
推荐生成状态:根据训练好的模型,为用户生成个性化的影视剧推荐列表。
推荐展示状态:将推荐列表展示给用户,用户可以根据推荐观看影视剧。
结束状态:个性化推荐流程结束。
状态转换逻辑:
从初始状态到用户信息获取状态:系统开始收集用户信息。
从用户信息获取状态到数据预处理状态:用户信息收集完成,进入数据预处理阶段。
从数据预处理状态到模型训练状态:数据预处理完成,进入模型训练阶段。
从模型训练状态到推荐生成状态:模型训练完成,进入推荐生成阶段。
从推荐生成状态到推荐展示状态:推荐生成完成,进入推荐展示阶段。
从推荐展示状态到结束状态:用户查看推荐后,流程结束。
@startuml
[*] --> 初始状态
初始状态 --> 用户信息获取状态 : 开始收集用户信息
用户信息获取状态 --> 数据预处理状态 : 用户信息收集完成
数据预处理状态 --> 模型训练状态 : 数据预处理完成
模型训练状态 --> 推荐生成状态 : 模型训练完成
推荐生成状态 --> 推荐展示状态 : 推荐生成完成
推荐展示状态 --> 结束状态 : 用户查看推荐后结束
@enduml
AI追剧搭子 业务逻辑描述
对话结束:用户选择结束对话,AI追剧搭子记录对话信息,并提供总结或推荐其他角色/影视剧。
@startuml
actor User
participant "AI追剧搭子" as AI
User -> AI : 启动陪聊模块
AI -> User : 显示影视剧选择
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助手生成回复。
从对话进行中状态到结束对话状态:用户选择结束对话。
从结束对话状态到初始状态:对话结束后,用户返回初始状态。
@startuml
[*] --> 初始状态
初始状态 --> 选择影视剧状态 : 启动陪聊模块
选择影视剧状态 --> 选择角色状态 : 选择影视剧
选择影视剧状态 --> 对话进行中状态 : 直接进入对话
选择角色状态 --> 对话进行中状态 : 选择角色
对话进行中状态 --> 对话进行中状态 : 输入问题/评论
对话进行中状态 --> 结束对话状态 : 结束对话
结束对话状态 --> [*] : 返回初始状态
@enduml
业务逻辑描述
结束:流程结束。
@startuml
actor User
participant "系统" as System
User -> System : 进入社区模块
System -> User : 显示热门话题讨论区
User -> System : 选择发布帖子/评论
User -> System : 输入帖子/评论内容
User -> System : 提交帖子/评论
System -> System : 审核评论/帖子内容
alt 审核通过
System -> User : 通知审核通过
System -> System : 更新讨论区显示帖子/评论
else 审核不通过
System -> User : 通知审核不通过
end
User -> System : 选择点赞帖子
System -> System : 更新点赞数
System -> System : 记录用户点赞行为
System -> User : 提供点赞记录查询功能
@enduml
状态逻辑描述
社区模块可以分为以下几个主要状态:
初始状态:用户未进入社区模块。
社区模块状态:用户进入社区模块,系统显示热门话题讨论区。
选择发帖状态:用户选择在讨论区发布帖子或评论。
输入内容状态:用户在输入框中撰写帖子或评论内容。
提交内容状态:用户点击提交按钮,发送帖子或评论到系统。
审核状态:系统接收并审核用户发布的内容。
审核通过状态:审核通过,系统记录并更新帖子或评论显示。
审核不通过状态:审核不通过,系统通知用户。
点赞状态:用户选择对感兴趣的帖子或评论进行点赞。
更新点赞状态:系统更新相应帖子或评论的点赞数量,并记录用户的点赞行为。
结束状态:用户结束操作,退出社区模块。
状态转换逻辑
从初始状态到社区模块状态:用户进入社区模块。
从社区模块状态到选择发帖状态:用户选择发布帖子或评论。
从选择发帖状态到输入内容状态:用户选择输入内容。
从输入内容状态到提交内容状态:用户提交内容。
从提交内容状态到审核状态:系统审核用户发布的内容。
从审核状态到审核通过状态:审核通过,系统记录并更新帖子。
从审核状态到审核不通过状态:审核不通过,系统通知用户。
从社区模块状态到点赞状态:用户选择点赞帖子。
从点赞状态到更新点赞状态:系统更新点赞数并记录用户点赞行为。
从更新点赞状态到社区模块状态:返回社区模块状态。
从社区模块状态到结束状态:用户结束操作,退出社区模块。
@startuml
[*] --> 初始状态
初始状态 --> 社区模块状态 : 用户进入社区模块
社区模块状态 --> 选择发帖状态 : 用户选择发帖/评论
选择发帖状态 --> 输入内容状态 : 用户选择输入内容
输入内容状态 --> 提交内容状态 : 用户提交内容
提交内容状态 --> 审核状态 : 系统审核内容
审核状态 --> 审核通过状态 : 审核通过
审核通过状态 --> 社区模块状态 : 系统更新帖子/评论显示
审核状态 --> 审核不通过状态 : 审核不通过
审核不通过状态 --> 社区模块状态 : 系统通知用户
社区模块状态 --> 点赞状态 : 用户选择点赞帖子
点赞状态 --> 更新点赞状态 : 系统更新点赞数
更新点赞状态 --> 社区模块状态 : 返回社区模块状态
社区模块状态 --> 结束状态 : 用户结束操作
@enduml