活动模块数据库设计文档
1. 数据表总览
| 表名 |
说明 |
| activity_config |
活动基础配置表 |
| activity_reward |
活动奖励配置表 |
| activity_participation |
活动参与记录表 |
| user_activity_data |
用户活动数据表 |
2. 详细表结构
2.1 activity_config (活动基础配置表)
| 字段 |
类型 |
说明 |
| id |
bigint |
主键 |
| name |
varchar(100) |
活动名称 |
| type |
tinyint |
活动类型 |
| start_time |
datetime |
开始时间 |
| end_time |
datetime |
结束时间 |
| status |
tinyint |
活动状态 |
| created_at |
timestamp |
创建时间 |
| updated_at |
timestamp |
更新时间 |
2.2 activity_reward (活动奖励配置表)
| 字段 |
类型 |
说明 |
| id |
bigint |
主键 |
| activity_id |
bigint |
关联活动ID |
| reward_type |
tinyint |
奖励类型 |
| item_id |
int |
道具ID |
| item_count |
int |
道具数量 |
| probability |
decimal(5,2) |
获得概率 |
2.3 activity_participation (活动参与记录表)
| 字段 |
类型 |
说明 |
| id |
bigint |
主键 |
| user_id |
bigint |
用户ID |
| activity_id |
bigint |
活动ID |
| participate_time |
datetime |
参与时间 |
| reward_status |
tinyint |
奖励状态 |
2.4 user_activity_data (用户活动数据表)
| 字段 |
类型 |
说明 |
| id |
bigint |
主键 |
| user_id |
bigint |
用户ID |
| activity_id |
bigint |
活动ID |
| progress |
int |
活动进度 |
| last_update |
timestamp |
最后更新时间 |
3. 表关系图
erDiagram
activity_config ||--o{ activity_reward : "1:N"
activity_config ||--o{ activity_participation : "1:N"
activity_config ||--o{ user_activity_data : "1:N"
activity_participation }|--|| user_activity_data : "关联"
4. SQL示例
``sql
-- 创建活动基础配置表
CREATE TABLEactivity_config(
idbigint NOT NULL AUTO_INCREMENT,
namevarchar(100) NOT NULL,
typetinyint NOT NULL,
start_timedatetime NOT NULL,
end_timedatetime NOT NULL,
statustinyint DEFAULT '0',
created_attimestamp NULL DEFAULT CURRENT_TIMESTAMP,
updated_attimestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;