83 lines
1.5 KiB
Plaintext
83 lines
1.5 KiB
Plaintext
@startuml
|
|
|
|
entity "社团 (sms_club)" as Club {
|
|
* club_id : bigint <<PK>>
|
|
--
|
|
club_name : varchar
|
|
description : text
|
|
category : varchar
|
|
dept_id : bigint
|
|
leader_id : bigint
|
|
logo : varchar
|
|
status : enum
|
|
}
|
|
|
|
entity "社团成员关系 (sms_club_user)" as ClubUser {
|
|
* id : bigint <<PK>>
|
|
--
|
|
user_id : bigint
|
|
club_id : bigint
|
|
join_date : datetime
|
|
is_active : boolean
|
|
}
|
|
|
|
entity "活动 (ams_activity)" as Activity {
|
|
* act_id : bigint <<PK>>
|
|
--
|
|
title : varchar
|
|
description : text
|
|
cover_image : varchar
|
|
start_time : datetime
|
|
end_time : datetime
|
|
location : varchar
|
|
budget : decimal
|
|
max_participants : int
|
|
creator_id : bigint
|
|
club_id : bigint
|
|
dept_id : bigint
|
|
activity_type : enum
|
|
status : enum
|
|
visibility : enum
|
|
current_approver_id : bigint
|
|
net_likes : int
|
|
}
|
|
|
|
entity "活动报名 (ams_registration)" as Registration {
|
|
* reg_id : bigint <<PK>>
|
|
--
|
|
act_id : bigint
|
|
user_id : bigint
|
|
register_time : datetime
|
|
status : enum
|
|
attend_time : datetime
|
|
role : enum
|
|
}
|
|
|
|
entity "活动评论 (ams_comment)" as Comment {
|
|
* comment_id : bigint <<PK>>
|
|
--
|
|
act_id : bigint
|
|
user_id : bigint
|
|
parent_comment_id : bigint
|
|
content : text
|
|
}
|
|
|
|
entity "活动点赞/点踩 (ams_reaction)" as Reaction {
|
|
* reaction_id : bigint <<PK>>
|
|
--
|
|
act_id : bigint
|
|
user_id : bigint
|
|
reaction_type : enum
|
|
}
|
|
|
|
' 关系线
|
|
|
|
Club ||--o{ ClubUser : 包含
|
|
|
|
Activity ||--o{ Registration : 对应
|
|
Activity ||--o{ Comment : 被评论
|
|
Activity ||--o{ Reaction : 被点赞
|
|
|
|
|
|
|
|
@enduml |