task_user_tasks.sql 1.7 KB

12345678910111213141516171819202122232425262728
  1. -- ******************************************************************
  2. -- 表 kku_task_user_tasks 的创建SQL
  3. -- 对应的Model: App\Module\Task\Models\TaskUserTask
  4. -- 警告: 此文件由系统自动生成,禁止修改!
  5. -- ******************************************************************
  6. CREATE TABLE `kku_task_user_tasks` (
  7. `id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
  8. `user_id` int NOT NULL COMMENT '用户ID',
  9. `task_id` int NOT NULL COMMENT '任务ID,外键关联task_tasks表',
  10. `status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '状态(0:未接取, 1:进行中, 2:已完成, 3:已领取奖励, 4:已失败, 5:已过期)',
  11. `progress` int NOT NULL DEFAULT '0' COMMENT '当前进度',
  12. `completed_at` timestamp NULL DEFAULT NULL COMMENT '完成时间',
  13. `rewarded_at` timestamp NULL DEFAULT NULL COMMENT '奖励发放时间',
  14. `expire_at` timestamp NULL DEFAULT NULL COMMENT '过期时间',
  15. `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  16. `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
  17. `next_reset_time` timestamp NULL DEFAULT NULL COMMENT '下次重置时间,用于快速判断是否需要重置',
  18. `last_reset_time` timestamp NULL DEFAULT NULL COMMENT '上次重置时间,用于计算下次重置时间',
  19. `reset_count` int NOT NULL DEFAULT '0' COMMENT '重置次数,用于统计和分析',
  20. PRIMARY KEY (`id`),
  21. UNIQUE KEY `idx_user_task` (`user_id`,`task_id`),
  22. KEY `idx_user_status` (`user_id`,`status`),
  23. KEY `idx_task` (`task_id`),
  24. KEY `idx_expire` (`expire_at`),
  25. KEY `idx_next_reset_time` (`next_reset_time`),
  26. KEY `idx_user_next_reset` (`user_id`,`next_reset_time`)
  27. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户任务关联表';