game_reward_items.sql 2.5 KB

12345678910111213141516171819202122232425262728293031
  1. -- ******************************************************************
  2. -- 表 kku_game_reward_items 的创建SQL
  3. -- 对应的Model: App\Module\Game\Models\GameRewardItem
  4. -- 警告: 此文件由系统自动生成,禁止修改!
  5. -- ******************************************************************
  6. CREATE TABLE `kku_game_reward_items` (
  7. `id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
  8. `group_id` int NOT NULL COMMENT '奖励组ID,外键关联game_reward_groups表',
  9. `reward_type` tinyint NOT NULL COMMENT '奖励类型(1:物品, 2:货币, 3:宠物经验, 4:宠物体力, 5:其他)',
  10. `target_id` int NOT NULL COMMENT '目标ID(物品ID、货币ID等,根据reward_type解释)',
  11. `param1` int DEFAULT '0' COMMENT '参数1(根据reward_type不同含义,如物品的品质、货币的来源等)',
  12. `param2` int DEFAULT '0' COMMENT '参数2(根据reward_type不同含义,如物品的绑定状态、货币的类型等)',
  13. `quantity` int NOT NULL DEFAULT '1' COMMENT '数量',
  14. `min_quantity` int DEFAULT NULL COMMENT '最小数量(NULL表示使用quantity字段)',
  15. `max_quantity` int DEFAULT NULL COMMENT '最大数量(NULL表示使用quantity字段)',
  16. `weight` decimal(5,2) NOT NULL DEFAULT '1.00' COMMENT '权重(随机发放时使用)',
  17. `probability` decimal(5,2) DEFAULT NULL COMMENT '获得概率(百分比,0-100,NULL表示使用权重机制)',
  18. `is_guaranteed` tinyint NOT NULL DEFAULT '0' COMMENT '是否必中(0:非必中, 1:必中)',
  19. `pity_threshold` int NOT NULL DEFAULT '0' COMMENT '保底阈值(0表示不启用保底)',
  20. `pity_weight_factor` decimal(8,4) NOT NULL DEFAULT '1.0000' COMMENT '保底权重因子(递增概率的倍数)',
  21. `pity_enabled` tinyint NOT NULL DEFAULT '0' COMMENT '是否启用保底机制',
  22. `extra_data` json DEFAULT NULL COMMENT '额外数据(JSON格式,可存储特定奖励类型的额外参数)',
  23. `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  24. `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  25. PRIMARY KEY (`id`) USING BTREE,
  26. KEY `idx_group_id` (`group_id`) USING BTREE,
  27. KEY `idx_reward_type` (`reward_type`) USING BTREE,
  28. KEY `idx_probability` (`probability`),
  29. CONSTRAINT `fk_reward_group` FOREIGN KEY (`group_id`) REFERENCES `kku_game_reward_groups` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT
  30. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='奖励项表';