|
|
@@ -98,105 +98,98 @@ comment: String (可选)
|
|
|
@startuml
|
|
|
|
|
|
class User {
|
|
|
- +objectId: String
|
|
|
- +createdAt: Date
|
|
|
- +userId: String
|
|
|
- +password: String
|
|
|
- +realname: String
|
|
|
- +age: Number
|
|
|
- +gender: String
|
|
|
- +email: String
|
|
|
- +bio: String
|
|
|
- +avatar: String
|
|
|
- +imagery: String
|
|
|
-}
|
|
|
-
|
|
|
-class Film {
|
|
|
- +objectId: String
|
|
|
- +createdAt: Date
|
|
|
- +title: String
|
|
|
- +genre: String
|
|
|
- +grade: String
|
|
|
- +desc: String
|
|
|
+ +String objectId
|
|
|
+ +Date createdAt
|
|
|
+ +String userId
|
|
|
+ +String password
|
|
|
+ +String realname
|
|
|
+ +Number age
|
|
|
+ +String gender
|
|
|
+ +String email
|
|
|
+ +String bio
|
|
|
+ +String avatar
|
|
|
+ +String imagery
|
|
|
}
|
|
|
|
|
|
class FilmRecommendation {
|
|
|
- +objectId: String
|
|
|
- +createdAt: Date
|
|
|
- +user: Pointer
|
|
|
- +recommendedFilms: Array
|
|
|
+ +String objectId
|
|
|
+ +Date createdAt
|
|
|
+ +Pointer user
|
|
|
+ +String title
|
|
|
+ +String genre
|
|
|
+ +String grade
|
|
|
+ +String desc
|
|
|
}
|
|
|
|
|
|
class FilmRole {
|
|
|
- +objectId: String
|
|
|
- +createdAt: Date
|
|
|
- +name: String
|
|
|
- +nickname: String
|
|
|
- +title: String
|
|
|
- +avatar: String
|
|
|
- +description: String
|
|
|
- +traits: String
|
|
|
+ +String objectId
|
|
|
+ +Date createdAt
|
|
|
+ +String name
|
|
|
+ +String nickname
|
|
|
+ +String title
|
|
|
+ +String avatar
|
|
|
+ +String description
|
|
|
+ +String traits
|
|
|
}
|
|
|
|
|
|
class FilmPartner {
|
|
|
- +objectId: String
|
|
|
- +createdAt: Date
|
|
|
- +name: String
|
|
|
- +age: Number
|
|
|
- +avatar: String
|
|
|
- +desc: String
|
|
|
+ +String objectId
|
|
|
+ +Date createdAt
|
|
|
+ +String name
|
|
|
+ +Number age
|
|
|
+ +String avatar
|
|
|
+ +String desc
|
|
|
}
|
|
|
|
|
|
class FilmChat {
|
|
|
- +objectId: String
|
|
|
- +createdAt: Date
|
|
|
- +user: Pointer
|
|
|
- +filmrole: Pointer
|
|
|
- +filmpartner: Pointer
|
|
|
- +title: String
|
|
|
- +dialogue: String
|
|
|
+ +String objectId
|
|
|
+ +Date createdAt
|
|
|
+ +Pointer user
|
|
|
+ +Pointer filmrole
|
|
|
+ +Pointer filmpartner
|
|
|
+ +String title
|
|
|
+ +String dialogue
|
|
|
}
|
|
|
|
|
|
class FilmPost {
|
|
|
- +objectId: String
|
|
|
- +createdAt: Date
|
|
|
- +author: Pointer
|
|
|
- +title: String
|
|
|
- +label: String
|
|
|
- +content: String
|
|
|
- +likesCount: Number
|
|
|
- +commentCount: Number
|
|
|
- +status: String
|
|
|
+ +String objectId
|
|
|
+ +Date createdAt
|
|
|
+ +Pointer author
|
|
|
+ +String title
|
|
|
+ +String label
|
|
|
+ +String content
|
|
|
+ +Number likesCount
|
|
|
+ +Number commentCount
|
|
|
+ +String status
|
|
|
}
|
|
|
|
|
|
class FilmComment {
|
|
|
- +objectId: String
|
|
|
- +createdAt: Date
|
|
|
- +post: Pointer
|
|
|
- +user: Pointer
|
|
|
- +content: String
|
|
|
- +status: String
|
|
|
+ +String objectId
|
|
|
+ +Date createdAt
|
|
|
+ +Pointer post
|
|
|
+ +Pointer user
|
|
|
+ +String content
|
|
|
+ +String status
|
|
|
}
|
|
|
|
|
|
class FilmPostRating {
|
|
|
- +objectId: String
|
|
|
- +createdAt: Date
|
|
|
- +user: Pointer
|
|
|
- +post: Pointer
|
|
|
- +ratingValue: Number
|
|
|
- +comment: String
|
|
|
+ +String objectId
|
|
|
+ +Date createdAt
|
|
|
+ +Pointer user
|
|
|
+ +Pointer post
|
|
|
+ +Number ratingValue
|
|
|
+ +String comment
|
|
|
}
|
|
|
|
|
|
-User "1" --> "*" FilmRecommendation : has
|
|
|
-Film "1" --> "*" FilmRecommendation : recommended in
|
|
|
-User "1" --> "*" FilmChat : initiates
|
|
|
-FilmRole "1" --> "*" FilmChat : participates in
|
|
|
-FilmPartner "1" --> "*" FilmChat : participates in
|
|
|
-User "1" --> "*" FilmPost : creates
|
|
|
-FilmPost "1" --> "*" FilmComment : has
|
|
|
-User "1" --> "*" FilmComment : comments on
|
|
|
-User "1" --> "*" FilmPostRating : rates
|
|
|
-FilmPost "1" --> "*" FilmPostRating : has
|
|
|
+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
|
|
|
```
|