feat: add streak reward and 100-achievement milestone system
这个提交包含在:
@@ -930,6 +930,16 @@ CREATE TABLE IF NOT EXISTS source_crystal_transactions (
|
||||
FOREIGN KEY(user_id) REFERENCES users(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS user_achievement_milestones (
|
||||
user_id INTEGER NOT NULL,
|
||||
milestone_no INTEGER NOT NULL,
|
||||
completed_count_snapshot INTEGER NOT NULL DEFAULT 0,
|
||||
rating_bonus INTEGER NOT NULL DEFAULT 20,
|
||||
created_at INTEGER NOT NULL,
|
||||
PRIMARY KEY(user_id, milestone_no),
|
||||
FOREIGN KEY(user_id) REFERENCES users(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS daily_task_logs (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
user_id INTEGER NOT NULL,
|
||||
@@ -1049,6 +1059,7 @@ CREATE INDEX IF NOT EXISTS idx_redeem_items_active ON redeem_items(is_active, id
|
||||
CREATE INDEX IF NOT EXISTS idx_redeem_records_user_created ON redeem_records(user_id, created_at DESC);
|
||||
CREATE INDEX IF NOT EXISTS idx_user_experience_logs_user_created ON user_experience_logs(user_id, created_at DESC);
|
||||
CREATE INDEX IF NOT EXISTS idx_source_crystal_tx_user_created ON source_crystal_transactions(user_id, created_at DESC);
|
||||
CREATE INDEX IF NOT EXISTS idx_user_achievement_milestones_user_created ON user_achievement_milestones(user_id, created_at DESC);
|
||||
CREATE INDEX IF NOT EXISTS idx_daily_task_logs_user_day ON daily_task_logs(user_id, day_key, created_at DESC);
|
||||
)SQL");
|
||||
|
||||
|
||||
在新工单中引用
屏蔽一个用户