44 lines
2.8 KiB
SQL
44 lines
2.8 KiB
SQL
CREATE TABLE IF NOT EXISTS cp_weekly_rank_configs (
|
||
app_code VARCHAR(32) NOT NULL DEFAULT 'lalu' COMMENT '应用编码',
|
||
activity_code VARCHAR(64) NOT NULL DEFAULT 'cp_weekly_rank' COMMENT '活动编码',
|
||
enabled TINYINT(1) NOT NULL DEFAULT 1 COMMENT '是否启用',
|
||
relation_type VARCHAR(32) NOT NULL DEFAULT 'cp' COMMENT '关系类型,当前固定 cp',
|
||
top_count INT NOT NULL DEFAULT 3 COMMENT '结算 Top 数量',
|
||
updated_by_admin_id BIGINT NOT NULL DEFAULT 0 COMMENT '最后更新管理员',
|
||
created_at_ms BIGINT NOT NULL COMMENT '创建时间,UTC epoch ms',
|
||
updated_at_ms BIGINT NOT NULL COMMENT '更新时间,UTC epoch ms',
|
||
PRIMARY KEY (app_code)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='CP 周榜配置表';
|
||
|
||
CREATE TABLE IF NOT EXISTS cp_weekly_rank_rewards (
|
||
app_code VARCHAR(32) NOT NULL DEFAULT 'lalu' COMMENT '应用编码',
|
||
rank_no INT NOT NULL COMMENT '名次',
|
||
resource_group_id BIGINT NOT NULL COMMENT '奖励资源组 ID',
|
||
created_at_ms BIGINT NOT NULL COMMENT '创建时间,UTC epoch ms',
|
||
updated_at_ms BIGINT NOT NULL COMMENT '更新时间,UTC epoch ms',
|
||
PRIMARY KEY (app_code, rank_no)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='CP 周榜名次奖励资源组表';
|
||
|
||
CREATE TABLE IF NOT EXISTS cp_weekly_rank_settlements (
|
||
app_code VARCHAR(32) NOT NULL DEFAULT 'lalu' COMMENT '应用编码',
|
||
settlement_id VARCHAR(96) NOT NULL COMMENT '发奖记录 ID',
|
||
period_start_ms BIGINT NOT NULL COMMENT '周周期开始,UTC epoch ms',
|
||
period_end_ms BIGINT NOT NULL COMMENT '周周期结束,UTC epoch ms',
|
||
rank_no INT NOT NULL COMMENT '名次',
|
||
relationship_id VARCHAR(128) NOT NULL COMMENT '获奖 CP 关系 ID',
|
||
user_id BIGINT NOT NULL COMMENT '获奖用户 ID',
|
||
score BIGINT NOT NULL DEFAULT 0 COMMENT '关系周榜分数',
|
||
resource_group_id BIGINT NOT NULL COMMENT '发放资源组 ID',
|
||
wallet_command_id VARCHAR(192) NOT NULL COMMENT 'wallet 发奖幂等键',
|
||
wallet_grant_id VARCHAR(128) NOT NULL DEFAULT '' COMMENT 'wallet grant ID',
|
||
status VARCHAR(32) NOT NULL COMMENT 'pending/running/granted/failed',
|
||
failure_reason VARCHAR(512) NOT NULL DEFAULT '' COMMENT '失败原因',
|
||
attempt_count INT NOT NULL DEFAULT 0 COMMENT '尝试次数',
|
||
created_at_ms BIGINT NOT NULL COMMENT '创建时间,UTC epoch ms',
|
||
updated_at_ms BIGINT NOT NULL COMMENT '更新时间,UTC epoch ms',
|
||
PRIMARY KEY (app_code, settlement_id),
|
||
UNIQUE KEY uk_cp_weekly_rank_period_user (app_code, period_start_ms, rank_no, relationship_id, user_id),
|
||
UNIQUE KEY uk_cp_weekly_rank_wallet_command (app_code, wallet_command_id),
|
||
KEY idx_cp_weekly_rank_pending (app_code, period_start_ms, period_end_ms, status, updated_at_ms)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='CP 周榜发奖事实表';
|