-- ******************************************************************
-- 配置表数据库备份文件
-- 生成时间: 2025-06-22 13:17:52
-- 警告: 此文件由系统自动生成，禁止修改！
-- ******************************************************************

-- ==========================================
-- 表: kku_sys_configs
-- 模型: App\Module\System\Models\SysConfig
-- ==========================================

DROP TABLE IF EXISTS `kku_sys_configs`;
CREATE TABLE `kku_sys_configs` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `keyname` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'key',
  `is_client` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '是否给客户端',
  `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '标题',
  `type` tinyint unsigned NOT NULL COMMENT '类型 详情见枚举',
  `value` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '值',
  `group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '分组',
  `group2` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '默认' COMMENT '分组2',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
  `desc` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '描述',
  `options` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '其他配置',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `lan_sys_configs_keyname_IDX` (`keyname`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='应用配置信息';

-- 数据插入
INSERT INTO `kku_sys_configs` (`id`, `keyname`, `is_client`, `title`, `type`, `value`, `group`, `group2`, `created_at`, `updated_at`, `deleted_at`, `desc`, `options`) VALUES
(1, 'order_starttime', 1, '开始时间', 4, '09:00', '应用配置', '默认', '2024-03-16 12:43:03', '2025-03-28 02:03:15', NULL, NULL, NULL),
(2, 'order_endtime', 1, '结束时间', 4, '21:00', '应用配置', '默认', '2024-03-16 12:43:03', '2024-09-20 08:59:53', NULL, NULL, NULL),
(3, 'no-request-log', 0, '没有请求日志', 1, 0, '应用配置', '默认', '2024-03-16 12:43:03', '2024-05-22 17:14:09', NULL, NULL, NULL),
(4, 'login_only_one', 0, '只允许一个客户端登录', 3, 1, '应用配置', '默认', '2024-03-16 12:43:03', '2024-12-07 00:12:19', NULL, NULL, NULL),
(6, 'app_transfer_isopen', 0, '是否开启划转', 3, 1, '应用配置', '默认', '2024-03-16 12:43:03', '2024-12-07 11:04:30', NULL, NULL, NULL),
(37, 'buy_me', 1, '是否允许购买自己的挂单', 3, 0, '订单配置', '默认', '2024-03-16 12:43:03', '2024-11-07 11:04:06', NULL, NULL, NULL),
(43, 'contact_information', 1, '客服联系方式', 4, 'QQ 88888888', '应用配置', '默认', '2024-03-16 12:43:03', '2025-04-01 08:02:38', NULL, NULL, NULL),
(46, 'contactemail_information', 1, '邮箱联系方式', 4, '11111111@163.com', '应用配置', '默认', '2024-03-16 12:43:03', '2025-04-01 08:04:54', NULL, NULL, NULL),
(50, 'must_bind_totp', 0, '必须绑定二次验证', 3, 1, '二次验证', '默认', '2024-03-16 12:43:03', '2024-10-08 14:53:09', NULL, NULL, NULL),
(100, 'driver_my', 0, '测试短信驱动', 11, '{\"driver\":\"mygateway\",\"is_open\":1,\"demo\":\"1\"}', '短信配置', '默认', '2024-08-10 12:43:03', '2025-04-01 08:47:23', NULL, '邮件配置,我的邮件', '{
	\"nochange\":[
		\"driver\"
		]
}'),
(101, 'driver_smsbao', 0, '短信 - 短信宝驱动', 11, '{\"driver\":\"smsbao\",\"is_open\":0,\"user\":\"hb_xxzdns\",\"password\":\"c70df2f29f614f57b900ada67ce18cfe\",\"login_templete\":\"\\u3010\\u946b\\u827aURAUS\\u3011\\u60a8\\u7684\\u9a8c\\u8bc1\\u7801\\u662f{code}\\u3002\\u5982\\u975e\\u672c\\u4eba\\u64cd\\u4f5c\\uff0c\\u8bf7\\u5ffd\\u7565\\u672c\\u77ed\\u4fe1\",\"register_templete\":\"\\u3010\\u946b\\u827aURAUS\\u3011\\u60a8\\u7684\\u9a8c\\u8bc1\\u7801\\u662f{code}\\u3002\\u5982\\u975e\\u672c\\u4eba\\u64cd\\u4f5c\\uff0c\\u8bf7\\u5ffd\\u7565\\u672c\\u77ed\\u4fe1\",\"resetspassword_templete\":\"\\u3010\\u946b\\u827aURAUS\\u3011\\u60a8\\u7684\\u9a8c\\u8bc1\\u7801\\u662f{code}\\u3002\\u5982\\u975e\\u672c\\u4eba\\u64cd\\u4f5c\\uff0c\\u8bf7\\u5ffd\\u7565\\u672c\\u77ed\\u4fe1\"}', '短信配置', '默认', '2024-08-10 12:43:03', '2025-04-01 08:47:14', NULL, '邮件配置,我的邮件', '{
	\"nochange\":[
		\"driver\"
		]
}'),
(102, 'driver_aliyun', 0, '短信 - 阿里云驱动', 11, '{\"driver\":\"aliyun\",\"is_open\":0,\"user\":\"123\",\"password\":\"456\"}', '短信配置', '默认', '2024-08-10 12:43:03', '2024-08-08 02:42:34', NULL, '邮件配置,我的邮件', '{
	\"nochange\":[
		\"driver\"
		]
}'),
(113, 'auth_unbind2fa', 0, '验证 - 解绑2fa', 11, '{\"auth_password\":1,\"open_password2fa\":1,\"must_password2fa\":1}', '安全配置', '默认', '2024-08-10 12:43:03', '2024-08-20 10:17:31', NULL, '邮件配置,我的邮件', '{
	\"nochange\":[
		\"driver\"
		]
}'),
(114, 'min_app_version', 1, '最新app版本', 4, '1.0.0', '应用配置', '默认', '2024-03-16 20:43:03', '2024-09-19 16:20:25', NULL, NULL, NULL),
(115, 'min_appwgt_version', 1, '最新app-wgt版本', 4, '1.0.294', '应用配置', '默认', '2024-03-16 20:43:03', '2024-10-31 19:58:38', NULL, NULL, NULL),
(125, 'order_c_nopay_clear_hours', 1, '订单-投诉-虚假的付款-自动处理(取消)-等待小时数', 1, 1000, '订单配置', '默认', '2024-03-16 12:43:03', '2024-10-09 17:43:23', NULL, '等待多少小时对虚假付款的投诉进行自动处理: 取消订单', NULL),
(127, 'verify_debug_code', 1, '验证码-debug-超级验证码', 4, '你好呀', '验证码', '默认', '2024-03-16 12:43:03', '2024-05-22 17:14:09', NULL, '', NULL),
(2010, 'URAUS_BNB', 1, 'Uraus - bnb', 5, 18.15, '区块链', '默认', '2024-03-16 12:43:03', '2024-10-09 17:43:23', NULL, '等待多少小时对虚假付款的投诉进行自动处理: 取消订单', NULL),
(2011, 'BNB_URAUS', 1, 'bnb - Uraus', 5, 0.081, '区块链', '默认', '2024-03-16 12:43:03', '2024-10-09 17:43:23', NULL, '等待多少小时对虚假付款的投诉进行自动处理: 取消订单', NULL),
(2012, 'USDT_URAUS', 1, 'Usdt - Uraus', 5, 5.69, '区块链', '默认', '2024-03-16 12:43:03', '2024-10-09 17:43:23', NULL, '等待多少小时对虚假付款的投诉进行自动处理: 取消订单', NULL),
(2013, 'URAUS_USDT', 1, 'Uraus -Usdt ', 5, 89.2, '区块链', '默认', '2024-03-16 12:43:03', '2024-10-09 17:43:23', NULL, '等待多少小时对虚假付款的投诉进行自动处理: 取消订单', NULL),
(2014, 'BNB_USDT', 1, 'bnb - Usdt', 5, 15.8, '区块链', '默认', '2024-03-16 12:43:03', '2024-10-09 17:43:23', NULL, '等待多少小时对虚假付款的投诉进行自动处理: 取消订单', NULL),
(2016, 'recharge_status50_to202', 1, '充值单，不补充tx,自动结束时间', 8, 3600, '充值', '默认', '2024-03-16 12:43:03', '2024-10-09 17:43:23', NULL, '等待多少小时对虚假付款的投诉进行自动处理: 取消订单', NULL);

-- ==========================================
-- 表: kku_item_items
-- 模型: App\Module\GameItems\Models\Item
-- ==========================================

DROP TABLE IF EXISTS `kku_item_items`;
CREATE TABLE `kku_item_items` (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '物品ID，主键',
  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '物品名称',
  `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '物品描述',
  `category_id` int NOT NULL COMMENT '物品分类ID，外键关联kku_item_categories表',
  `type` tinyint NOT NULL COMMENT '物品类型（1:可使用, 2:可装备, 3:可合成, 4:可交任务, 5:可开启...）',
  `is_unique` tinyint DEFAULT '0' COMMENT '是否是单独属性物品（0:否，默认, 1:是）',
  `max_stack` int DEFAULT '0' COMMENT '最大堆叠数量（0表示无限堆叠）',
  `sell_price` int DEFAULT '0' COMMENT '出售价格',
  `tradable` tinyint DEFAULT '1' COMMENT '是否可交易（0:不可交易, 1:可交易，默认）',
  `dismantlable` tinyint DEFAULT '1' COMMENT '是否可分解（0:不可分解, 1:可分解，默认）',
  `default_expire_seconds` int DEFAULT '0' COMMENT '玩家获取物品后的默认有效秒数（0表示永久有效）',
  `display_attributes` json DEFAULT NULL COMMENT '展示属性，以JSON格式存储键值对，用于界面展示和描述的属性',
  `numeric_attributes` json DEFAULT NULL COMMENT '数值属性，以JSON格式存储键值对，用于计算和游戏逻辑的属性',
  `global_expire_at` timestamp NULL DEFAULT NULL COMMENT '物品全局过期时间（可为空）',
  `chest_consume_group_id` int DEFAULT NULL COMMENT '宝箱开启消耗组ID（仅宝箱类型物品使用）',
  `chest_reward_group_id` int DEFAULT NULL COMMENT '宝箱开启奖励组ID（仅宝箱类型物品使用）',
  `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE,
  KEY `idx_category_id` (`category_id`) USING BTREE,
  KEY `idx_type` (`type`) USING BTREE,
  KEY `idx_is_unique` (`is_unique`) USING BTREE,
  KEY `idx_tradable` (`tradable`) USING BTREE,
  KEY `idx_dismantlable` (`dismantlable`) USING BTREE,
  KEY `idx_global_expire_at` (`global_expire_at`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='统一属性物品表';

-- 数据插入
INSERT INTO `kku_item_items` (`id`, `name`, `description`, `category_id`, `type`, `is_unique`, `max_stack`, `sell_price`, `tradable`, `dismantlable`, `default_expire_seconds`, `display_attributes`, `numeric_attributes`, `global_expire_at`, `chest_consume_group_id`, `chest_reward_group_id`, `created_at`, `updated_at`) VALUES
(1, '神秘种子', '神秘种子', 1, 1, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/4_1_png\", \"cate\": \"111\", \"wareHouse_type\": \"道具\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-04-25 08:02:38', '2025-05-28 17:16:17'),
(2, '萝卜', '萝卜', 11, 1, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/1_80004_png\", \"cate\": \"112\", \"wareHouse_type\": \"果实\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-04-25 08:12:57', '2025-05-28 17:16:30'),
(3, '辣椒', '辣椒辣椒辣椒辣椒辣椒辣椒辣椒辣椒辣椒辣椒辣椒辣椒辣椒辣椒辣椒辣椒辣椒辣椒辣椒', 11, 1, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/1_80006_png\", \"cate\": \"112\", \"wareHouse_type\": \"果实\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-04-25 08:16:22', '2025-06-01 11:20:46'),
(4, '苹果', '苹果', 11, 1, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/1_80005_png\", \"cate\": \"112\", \"wareHouse_type\": \"果实\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-04-25 08:16:54', '2025-05-28 17:16:55'),
(5, '西瓜', '西瓜', 11, 1, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/1_80007_png\", \"cate\": \"112\", \"wareHouse_type\": \"果实\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-04-25 08:16:57', '2025-05-28 17:17:07'),
(6, '草莓', '草莓', 11, 1, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/1_80013_png\", \"cate\": \"112\", \"wareHouse_type\": \"果实\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-04-25 08:17:01', '2025-05-28 17:17:19'),
(7, '南瓜', '南瓜', 11, 1, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/1_80012_png\", \"cate\": \"112\", \"wareHouse_type\": \"果实\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-04-25 08:17:04', '2025-05-28 17:17:36'),
(8, '核桃', '核桃', 11, 1, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/1_80008_png\", \"cate\": \"112\", \"wareHouse_type\": \"果实\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-04-25 08:17:05', '2025-05-28 17:17:47'),
(9, '可可', '可可', 11, 1, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/1_80009_png\", \"cate\": \"112\", \"wareHouse_type\": \"果实\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-04-25 08:17:07', '2025-05-28 17:17:57'),
(10, '人参', '人参', 11, 1, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/1_80010_png\", \"cate\": \"112\", \"wareHouse_type\": \"果实\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-04-25 08:17:09', '2025-05-28 17:18:14'),
(11, '玫瑰', '玫瑰', 11, 1, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/1_80011_png\", \"cate\": \"112\", \"wareHouse_type\": \"果实\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-04-25 08:17:10', '2025-05-28 17:18:25'),
(12, '草莓种⼦', '草莓种⼦', 4, 1, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/seed2\", \"cate\": \"111\", \"wareHouse_type\": \"道具\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-04-25 08:17:12', '2025-05-29 16:17:49'),
(13, '南⽠种⼦', '南⽠种⼦', 4, 1, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/seed3\", \"cate\": \"111\", \"wareHouse_type\": \"道具\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-04-25 08:17:14', '2025-05-29 16:21:11'),
(14, '核桃种⼦', '核桃种⼦', 4, 1, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/seed4\", \"cate\": \"111\", \"wareHouse_type\": \"道具\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-04-25 08:17:15', '2025-05-29 16:21:31'),
(15, '可可种⼦', '可可种⼦', 4, 1, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/seed5\", \"cate\": \"111\", \"wareHouse_type\": \"道具\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-04-25 08:17:16', '2025-05-29 16:21:55'),
(16, '⼈参种⼦', '⼈参种⼦', 4, 1, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/seed6\", \"cate\": \"111\", \"wareHouse_type\": \"道具\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-04-25 08:17:19', '2025-05-29 16:22:15'),
(17, '玫瑰种⼦', '玫瑰种⼦', 4, 1, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/seed7\", \"cate\": \"111\", \"wareHouse_type\": \"道具\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-04-25 08:17:20', '2025-05-29 16:22:34'),
(18, '测试', '测试', 11, 1, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/1_80006_png\"}', '{\"fint\": \"0.1\", \"stval\": \"null\", \"pet_exp\": 0, \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0}', NULL, NULL, NULL, '2025-04-25 08:17:20', '2025-05-28 15:58:06'),
(19, '普通化肥', '普通化肥，减少时常1000秒', 6, 1, 0, 0, 0, 0, 0, 0, '{\"img\": \"icon/item/4_unll_png\", \"cate\": \"113\", \"img_title\": null, \"wareHouse_type\": \"道具\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"reward_group_id\": 0, \"crop_growth_time\": \"10800\", \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-04-25 10:16:52', '2025-06-20 15:36:41'),
(20, '普通化肥 (复制)', '普通化肥', 6, 1, 0, 0, 0, 0, 0, 0, '{\"img\": \"icon/item/1_80006_png\", \"cate\": \"113\", \"wareHouse_type\": \"1\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-04-25 10:16:58', '2025-05-28 15:58:06'),
(21, '高级化肥', '高级化肥，减少市场36000秒', 8, 1, 0, 0, 0, 0, 0, 0, '{\"img\": \"icon/item/4_9_png\", \"cate\": \"113\", \"img_title\": null, \"wareHouse_type\": \"道具\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"reward_group_id\": 0, \"crop_growth_time\": \"36000\", \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-04-25 10:17:50', '2025-06-20 15:36:52'),
(22, '除草剂', '除草剂', 9, 1, 0, 0, 0, 0, 0, 0, '{\"img\": \"icon/item/4_11_png\", \"cate\": \"114\", \"wareHouse_type\": \"道具\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": \"100\", \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-04-25 10:18:33', '2025-05-28 17:20:42'),
(23, '杀虫剂', '杀虫剂', 9, 1, 0, 0, 0, 0, 0, 0, '{\"img\": \"icon/item/4_12_png\", \"cate\": \"115\", \"wareHouse_type\": \"道具\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": \"100\", \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-04-25 10:18:38', '2025-05-28 17:20:52'),
(24, '洒水壶', '洒水壶', 9, 1, 0, 0, 0, 0, 0, 0, '{\"img\": \"icon/item/4_10_png\", \"cate\": \"116\", \"wareHouse_type\": \"道具\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"max_drop_count\": \"1\", \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": \"100\", \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-04-25 10:18:56', '2025-05-28 17:21:04'),
(25, '银锄头', '银锄头', 10, 1, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/4_3_png\", \"cate\": \"117\", \"wareHouse_type\": \"道具\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": \"5\"}', NULL, NULL, NULL, '2025-04-25 11:48:36', '2025-05-28 17:21:17'),
(26, '金锄头', '金锄头', 9, 1, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/4_2\", \"cate\": \"117\", \"wareHouse_type\": \"道具\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": \"6\"}', NULL, NULL, NULL, '2025-04-25 11:48:56', '2025-05-28 17:21:27'),
(27, '铜宝箱', '铜宝箱', 10, 5, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/4_4_png\", \"cate\": \"119\", \"img_title\": \"icon/item/20\", \"wareHouse_type\": \"道具\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-04-25 11:49:28', '2025-06-06 17:37:50'),
(28, '银宝箱', '银宝箱', 10, 5, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/4_5_png\", \"cate\": \"119\", \"img_title\": \"icon/item/26\", \"wareHouse_type\": \"道具\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-04-25 11:49:35', '2025-06-06 17:38:21'),
(29, '金宝箱', '金宝箱', 10, 5, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/4_6_png\", \"cate\": \"119\", \"img_title\": \"icon/item/24\", \"wareHouse_type\": \"道具\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-04-25 11:49:38', '2025-06-06 17:38:43'),
(30, '钻石宝箱', '钻石宝箱', 10, 5, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/4_7_png\", \"cate\": \"119\", \"img_title\": \"icon/item/23\", \"wareHouse_type\": \"道具\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-04-25 11:49:43', '2025-06-06 17:39:07'),
(31, '钥匙', '钥匙', 9, 1, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/1_80006_png\"}', '{\"fint\": \"0\", \"stval\": \"0\", \"pet_exp\": 0, \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0}', NULL, NULL, NULL, '2025-05-09 11:42:01', '2025-05-28 15:58:06'),
(32, '神奇宝箱', '神奇宝箱', 10, 5, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/1_80006_png\", \"cate\": \"119\", \"img_title\": \"icon/item/23\", \"wareHouse_type\": \"道具\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-05-09 11:42:09', '2025-06-06 17:39:24'),
(33, '木材', '木材', 12, 6, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/2_1_png\", \"cate\": \"118\", \"wareHouse_type\": \"材料\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-05-12 07:15:28', '2025-05-28 17:43:07'),
(34, '石材', '石材', 12, 6, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/2_2_png\", \"cate\": \"118\", \"wareHouse_type\": \"材料\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-05-12 07:15:32', '2025-05-28 17:43:23'),
(35, '钢材', '钢材', 12, 6, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/2_3_png\", \"cate\": \"118\", \"wareHouse_type\": \"材料\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-05-12 07:15:48', '2025-05-28 17:43:44'),
(36, '铁矿石', '一种常见的矿石，可以用来冶炼铁锭', 12, 6, 0, 0, 10, 1, 1, 0, NULL, NULL, NULL, NULL, NULL, '2025-05-14 19:24:20', '2025-05-28 15:58:06'),
(37, '铜矿石', '一种常见的矿石，可以用来冶炼铜锭', 12, 6, 0, 0, 8, 1, 1, 0, NULL, NULL, NULL, NULL, NULL, '2025-05-14 19:24:20', '2025-05-28 15:58:06'),
(38, '金矿石', '一种珍贵的矿石，可以用来冶炼金锭', 12, 6, 0, 0, 50, 1, 1, 0, NULL, NULL, NULL, NULL, NULL, '2025-05-14 19:24:20', '2025-05-28 15:58:06'),
(39, '铁锭', '由铁矿石冶炼而成，可用于制作各种工具和装备', 12, 6, 0, 0, 25, 1, 1, 0, NULL, NULL, NULL, NULL, NULL, '2025-05-14 19:24:20', '2025-05-28 15:58:06'),
(40, '铜锭', '由铜矿石冶炼而成，可用于制作各种工具和装备', 12, 6, 0, 0, 20, 1, 1, 0, NULL, NULL, NULL, NULL, NULL, '2025-05-14 19:24:20', '2025-05-28 15:58:06'),
(41, '金锭', '由金矿石冶炼而成，可用于制作高级工具和装备', 12, 6, 0, 0, 100, 1, 1, 0, NULL, NULL, NULL, NULL, NULL, '2025-05-14 19:24:20', '2025-05-28 15:58:06'),
(42, '铁质工具箱', '包含各种铁质工具的工具箱', 9, 1, 0, 0, 150, 1, 1, 0, NULL, NULL, NULL, NULL, NULL, '2025-05-14 19:24:20', '2025-05-28 15:58:06'),
(43, '高级肥料', '由多种材料混合而成的高效肥料，可以显著提高作物产量', 8, 1, 0, 0, 80, 1, 1, 0, NULL, NULL, NULL, NULL, NULL, '2025-05-14 19:24:20', '2025-05-28 15:58:06'),
(44, '丰收神像', NULL, 9, 1, 0, 0, 0, 1, 1, 0, '{\"img\": null, \"cate\": 0, \"wareHouse_type\": \"1\"}', '{\"pet_exp\": 0, \"god_type\": \"1\", \"pet_type\": null, \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": \"36000\", \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-05-24 21:45:28', '2025-05-28 15:55:29'),
(45, '雨露之神', '雨露之神', 9, 1, 0, 0, 0, 1, 1, 0, '{\"img\": null, \"wareHouse_type\": null}', '{\"pet_exp\": 0, \"god_type\": \"2\", \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": \"36000\"}', NULL, NULL, NULL, '2025-05-24 21:45:53', '2025-05-28 15:58:06'),
(46, '屠草之神', '屠草之神', 9, 1, 0, 0, 0, 1, 1, 0, '{\"img\": null, \"wareHouse_type\": \"1\"}', '{\"pet_exp\": 0, \"god_type\": \"3\", \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": \"36000\"}', NULL, NULL, NULL, '2025-05-24 21:46:54', '2025-05-28 15:58:06'),
(47, '拭虫之神', '拭虫之神', 9, 1, 0, 0, 0, 1, 1, 0, '{\"img\": null, \"wareHouse_type\": \"1\"}', '{\"pet_exp\": 0, \"god_type\": \"4\", \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": \"36000\"}', NULL, NULL, NULL, '2025-05-24 21:49:18', '2025-05-28 15:58:06'),
(48, '一只松狮', '使用后可以获得一只宠物', 2, 1, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/6_8_png\", \"cate\": 0, \"wareHouse_type\": \"道具\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": \"1\", \"pet_power\": 0, \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-05-24 22:33:09', '2025-05-28 17:23:45'),
(49, '宠物口粮', '小包的宠物口粮', 2, 1, 0, 0, 0, 0, 0, 0, '{\"img\": \"icon/item/10_1_png\", \"cate\": \"120\", \"img_title\": null, \"wareHouse_type\": \"道具\"}', '{\"pet_exp\": \"1\", \"god_type\": 0, \"pet_type\": null, \"pet_power\": \"10\", \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-05-27 19:53:46', '2025-06-20 15:29:56'),
(50, '宠物体力口粮', '宠物体力口粮，增加20体力', 2, 1, 0, 0, 0, 0, 0, 0, '{\"img\": \"icon/item/10_2_png\", \"cate\": \"120\", \"wareHouse_type\": \"道具\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": \"20\", \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-05-27 19:54:01', '2025-06-04 15:14:41'),
(51, '大宠物体力口粮', '大宠物体力口粮，增加40体力', 2, 1, 0, 0, 0, 0, 0, 0, '{\"img\": null, \"cate\": 0, \"wareHouse_type\": \"1\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": \"40\", \"max_drop_count\": 0, \"min_drop_count\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-05-27 19:55:13', '2025-05-28 15:58:06'),
(55, '测试金币宝箱', '测试用金币宝箱，开启需要金币', 10, 5, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/4_7_png\", \"cate\": \"119\", \"img_title\": \"icon/item/23\", \"wareHouse_type\": \"道具\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-06-06 09:36:49', '2025-06-06 17:40:00'),
(56, '测试钻石宝箱', '测试用钻石宝箱，开需要钻石', 10, 5, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/4_7_png\", \"cate\": \"119\", \"img_title\": \"icon/item/23\", \"wareHouse_type\": \"道具\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-06-06 09:37:01', '2025-06-06 17:40:16'),
(57, '测试钻石宝箱 两个物品', '测试用钻石宝箱，开需要钻石，两个物品', 10, 5, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/4_7_png\", \"cate\": \"119\", \"img_title\": \"icon/item/23\", \"wareHouse_type\": \"道具\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-06-06 17:41:51', '2025-06-06 17:51:34'),
(58, '测试钻石宝箱 三个产出', '测试用钻石宝箱，开需要钻石，测试钻石宝箱 三个产出', 10, 5, 0, 0, 0, 1, 1, 0, '{\"img\": \"icon/item/4_7_png\", \"cate\": \"119\", \"img_title\": \"icon/item/23\", \"wareHouse_type\": \"道具\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-06-06 17:41:55', '2025-06-06 17:51:44'),
(59, '优质宠物口粮', '大包的宠物口粮', 2, 1, 0, 0, 0, 0, 0, 0, '{\"img\": \"icon/item/10_2_png\", \"cate\": \"120\", \"img_title\": null, \"wareHouse_type\": \"道具\"}', '{\"pet_exp\": \"2\", \"god_type\": 0, \"pet_type\": null, \"pet_power\": \"30\", \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-06-06 18:02:31', '2025-06-20 15:30:43'),
(60, '玫瑰之心', NULL, 9, 6, 0, 1, 1, 0, 0, 0, '{\"img\": \"1\", \"cate\": \"121\", \"img_title\": \"1\", \"wareHouse_type\": \"道具\"}', '{\"pet_exp\": 0, \"god_type\": 0, \"pet_type\": null, \"pet_power\": 0, \"reward_group_id\": 0, \"crop_growth_time\": 0, \"fram_drought_rate\": 0, \"fram_pesticide_rate\": 0, \"fram_weedicide_rate\": 0, \"god_duration_seconds\": 0, \"fram_remove_reward_group\": 0}', NULL, NULL, NULL, '2025-06-20 11:05:19', '2025-06-20 11:17:27');

-- ==========================================
-- 表: kku_item_categories
-- 模型: App\Module\GameItems\Models\ItemCategory
-- ==========================================

DROP TABLE IF EXISTS `kku_item_categories`;
CREATE TABLE `kku_item_categories` (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '分类ID，主键',
  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '分类名称',
  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '分类编码（唯一）',
  `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '分类图标',
  `sort` int DEFAULT '0' COMMENT '排序权重',
  `parent_id` int DEFAULT NULL COMMENT '父分类ID（可为空，用于实现分类层级）',
  `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `idx_code` (`code`) USING BTREE,
  KEY `idx_parent_id` (`parent_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='物品分类表';

-- 数据插入
INSERT INTO `kku_item_categories` (`id`, `name`, `code`, `icon`, `sort`, `parent_id`, `created_at`, `updated_at`) VALUES
(1, '种子', 'seed', NULL, 0, 0, '2025-04-24 11:47:14', '2025-04-24 11:47:14'),
(2, '宠物', 'pet', NULL, 0, 0, '2025-04-24 11:47:38', '2025-04-24 11:47:38'),
(3, '普通种子', 'ordinary_seeds', NULL, 0, 1, '2025-04-25 08:05:52', '2025-04-25 08:05:52'),
(4, '巨化种子', 'giant_seed', NULL, 0, 1, '2025-04-25 08:06:25', '2025-04-25 08:06:25'),
(5, '化肥', 'chemical_fertilizer', NULL, 0, 0, '2025-04-25 10:01:49', '2025-04-25 10:01:49'),
(6, '普通化肥', 'universal_chemical_fertilizer', NULL, 0, 5, '2025-04-25 10:01:49', '2025-04-25 10:01:49'),
(8, '高级化肥', 'high_chemical_fertilizer', NULL, 0, 5, '2025-04-25 10:01:49', '2025-04-25 10:01:49'),
(9, '工具', 'tool', NULL, 0, 0, '2025-04-25 10:01:49', '2025-04-25 10:01:49'),
(10, '宝箱', 'chest', NULL, 0, 0, '2025-04-25 10:01:49', '2025-04-25 10:01:49'),
(11, '果实', 'guoshi', NULL, 0, 0, '2025-05-12 06:33:07', '2025-05-12 06:33:07'),
(12, '材料', 'cailiao', NULL, 0, 0, '2025-05-12 07:14:39', '2025-05-12 07:14:39');

-- ==========================================
-- 表: kku_item_chest_configs
-- 模型: App\Module\GameItems\Models\ItemChestConfig
-- ==========================================

DROP TABLE IF EXISTS `kku_item_chest_configs`;
CREATE TABLE `kku_item_chest_configs` (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '记录ID，主键',
  `item_id` int NOT NULL COMMENT '宝箱物品ID，外键关联kku_item_items表',
  `consume_group_id` int DEFAULT NULL COMMENT '消耗组ID，外键关联kku_game_consume_groups表（可为空）',
  `reward_group_id` int NOT NULL COMMENT '奖励组ID，外键关联kku_game_reward_groups表',
  `condition_group_id` int DEFAULT NULL COMMENT '条件组ID，外键关联kku_game_condition_groups表（可为空）',
  `is_active` tinyint DEFAULT '1' COMMENT '是否激活（0:否, 1:是）',
  `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `idx_item_id` (`item_id`) USING BTREE COMMENT '每个宝箱物品只能有一个配置',
  KEY `idx_consume_group` (`consume_group_id`) USING BTREE,
  KEY `idx_reward_group` (`reward_group_id`) USING BTREE,
  KEY `idx_condition_group` (`condition_group_id`) USING BTREE,
  KEY `idx_is_active` (`is_active`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='宝箱配置表';

-- 数据插入
INSERT INTO `kku_item_chest_configs` (`id`, `item_id`, `consume_group_id`, `reward_group_id`, `condition_group_id`, `is_active`, `created_at`, `updated_at`) VALUES
(1, 27, 31, 30, 1, 1, '2025-06-03 19:03:37', '2025-06-04 17:16:32'),
(2, 28, 32, 31, 1, 1, '2025-06-03 19:03:37', '2025-06-04 17:16:52'),
(3, 29, 33, 32, 1, 1, '2025-06-03 19:03:38', '2025-06-04 17:17:04'),
(4, 30, 34, 33, 1, 1, '2025-06-03 19:03:38', '2025-06-04 17:17:16'),
(5, 32, 30, 34, NULL, 1, '2025-06-03 19:03:38', '2025-06-03 19:03:38'),
(6, 55, 13, 30, 1, 1, '2025-06-06 09:42:54', '2025-06-06 09:42:54'),
(9, 56, 39, 30, 1, 1, '2025-06-06 15:37:50', '2025-06-06 16:08:48'),
(10, 57, 39, 36, 1, 1, '2025-06-06 17:42:27', '2025-06-06 17:57:19'),
(11, 58, 39, 37, 1, 1, '2025-06-06 17:42:41', '2025-06-06 17:57:25');

-- ==========================================
-- 表: kku_item_dismantle_rules
-- 模型: App\Module\GameItems\Models\ItemDismantleRule
-- ==========================================

DROP TABLE IF EXISTS `kku_item_dismantle_rules`;
CREATE TABLE `kku_item_dismantle_rules` (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '规则ID，主键',
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '规则名称',
  `code` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '规则编码（唯一）',
  `description` text COLLATE utf8mb4_unicode_ci COMMENT '规则描述',
  `item_id` int DEFAULT NULL COMMENT '物品ID，外键关联kku_item_items表',
  `category_id` int DEFAULT NULL COMMENT '分类ID，外键关联kku_item_categories表',
  `consume_group_id` int unsigned DEFAULT NULL COMMENT '消耗组ID',
  `reward_group_id` int unsigned DEFAULT NULL COMMENT '奖励组ID',
  `condition_group_id` int unsigned DEFAULT NULL COMMENT '条件组ID',
  `min_rarity` tinyint DEFAULT '1' COMMENT '最小适用稀有度',
  `max_rarity` tinyint DEFAULT '1' COMMENT '最大适用稀有度',
  `priority` int DEFAULT '0' COMMENT '规则优先级',
  `sort_order` int DEFAULT '0' COMMENT '排序权重',
  `is_active` tinyint DEFAULT '1' COMMENT '是否激活（0:否, 1:是）',
  `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `item_dismantle_rules_code_unique` (`code`),
  KEY `idx_item_id` (`item_id`) USING BTREE,
  KEY `idx_category_id` (`category_id`) USING BTREE,
  KEY `idx_priority` (`priority`) USING BTREE,
  KEY `idx_consume_group_id` (`consume_group_id`),
  KEY `idx_reward_group_id` (`reward_group_id`),
  KEY `idx_condition_group_id` (`condition_group_id`),
  KEY `idx_sort_order` (`sort_order`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='物品分解规则（使用组系统）';

-- 数据插入
INSERT INTO `kku_item_dismantle_rules` (`id`, `name`, `code`, `description`, `item_id`, `category_id`, `consume_group_id`, `reward_group_id`, `condition_group_id`, `min_rarity`, `max_rarity`, `priority`, `sort_order`, `is_active`, `created_at`, `updated_at`) VALUES
(1, '物品分解规则-39', NULL, NULL, 39, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, '2025-05-14 19:29:16', '2025-05-14 19:29:16'),
(2, '物品分解规则-40', NULL, NULL, 40, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, '2025-05-14 19:29:16', '2025-05-14 19:29:16'),
(3, '物品分解规则-41', NULL, NULL, 41, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, '2025-05-14 19:29:16', '2025-05-14 19:29:16'),
(4, '物品分解规则-42', NULL, NULL, 42, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, '2025-05-14 19:29:16', '2025-05-14 19:29:16'),
(5, '分类分解规则-12', NULL, NULL, NULL, 12, NULL, NULL, NULL, 1, 1, 2, 0, 1, '2025-05-14 19:29:16', '2025-05-14 19:29:16'),
(6, '物品分解规则-39 (复制)', '_copy_1749294305', NULL, 39, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 0, '2025-06-07 19:05:05', '2025-06-07 19:05:05');

-- ==========================================
-- 表: kku_item_groups
-- 模型: App\Module\GameItems\Models\ItemGroup
-- ==========================================

DROP TABLE IF EXISTS `kku_item_groups`;
CREATE TABLE `kku_item_groups` (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '物品组ID，主键',
  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '物品组名称',
  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '物品组编码（唯一）',
  `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '物品组描述',
  `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `idx_code` (`code`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='物品组表';

-- 数据插入
INSERT INTO `kku_item_groups` (`id`, `name`, `code`, `description`, `created_at`, `updated_at`) VALUES
(1, '银锄头', 'yinchutou', '银出头 奖池', '2025-04-26 07:43:15', '2025-04-26 08:03:39');

-- ==========================================
-- 表: kku_item_group_items
-- 模型: App\Module\GameItems\Models\ItemGroupItem
-- ==========================================

DROP TABLE IF EXISTS `kku_item_group_items`;
CREATE TABLE `kku_item_group_items` (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '记录ID，主键',
  `group_id` int NOT NULL COMMENT '物品组ID，外键关联kku_item_groups表',
  `item_id` int NOT NULL COMMENT '物品ID，外键关联kku_item_items表',
  `weight` decimal(5,3) NOT NULL COMMENT '权重，决定从物品组中选择该物品的概率',
  `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE,
  KEY `idx_group_id` (`group_id`) USING BTREE,
  KEY `idx_item_id` (`item_id`) USING BTREE,
  CONSTRAINT `fk_group_group` FOREIGN KEY (`group_id`) REFERENCES `kku_item_groups` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT,
  CONSTRAINT `fk_group_item` FOREIGN KEY (`item_id`) REFERENCES `kku_item_items` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='物品组内容表';

-- 数据插入
INSERT INTO `kku_item_group_items` (`id`, `group_id`, `item_id`, `weight`, `created_at`, `updated_at`) VALUES
(1, 1, 1, 90.000, '2025-04-26 07:43:16', '2025-04-26 08:09:47'),
(2, 1, 15, 10.000, '2025-04-26 08:09:47', '2025-04-26 08:09:47');

-- ==========================================
-- 表: kku_item_output_limits
-- 模型: App\Module\GameItems\Models\ItemOutputLimit
-- ==========================================

DROP TABLE IF EXISTS `kku_item_output_limits`;
CREATE TABLE `kku_item_output_limits` (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '记录ID，主键',
  `item_id` int NOT NULL COMMENT '物品ID，外键关联kku_item_items表',
  `limit_type` tinyint NOT NULL COMMENT '限制类型（1:全局总量, 2:单个用户, 3:单日全局, 4:单日用户）',
  `max_quantity` int NOT NULL COMMENT '最大产出数量',
  `current_quantity` int DEFAULT '0' COMMENT '当前已产出数量（全局限制时使用）',
  `reset_type` tinyint DEFAULT '0' COMMENT '重置类型（0:不重置, 1:每日, 2:每周, 3:每月）',
  `last_reset_time` timestamp NULL DEFAULT NULL COMMENT '上次重置时间',
  `related_items` json DEFAULT NULL COMMENT '关联物品ID列表，这些物品共享同一个限制额度',
  `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE,
  KEY `idx_item_id` (`item_id`) USING BTREE,
  KEY `idx_limit_reset` (`limit_type`,`reset_type`) USING BTREE,
  CONSTRAINT `fk_limit_item` FOREIGN KEY (`item_id`) REFERENCES `kku_item_items` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='物品产出限制表';

-- 该表无数据记录

-- ==========================================
-- 表: kku_item_recipes
-- 模型: App\Module\GameItems\Models\ItemRecipe
-- ==========================================

DROP TABLE IF EXISTS `kku_item_recipes`;
CREATE TABLE `kku_item_recipes` (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '配方ID，主键',
  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '配方名称',
  `code` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '配方编码（唯一）',
  `description` text COLLATE utf8mb4_unicode_ci COMMENT '配方描述',
  `consume_group_id` int unsigned DEFAULT NULL COMMENT '消耗组ID',
  `reward_group_id` int unsigned DEFAULT NULL COMMENT '奖励组ID',
  `condition_group_id` int unsigned DEFAULT NULL COMMENT '条件组ID',
  `display_attributes` json DEFAULT NULL COMMENT '展示属性，以JSON格式存储键值对，用于界面展示和描述的属性',
  `success_rate` decimal(5,2) DEFAULT '100.00' COMMENT '成功率（0-100之间的小数,100 = 100%）',
  `cooldown_seconds` int DEFAULT '0' COMMENT '冷却时间（秒）',
  `category_id` int DEFAULT NULL COMMENT '配方分类ID',
  `sort_order` int DEFAULT '0' COMMENT '排序权重',
  `is_active` tinyint DEFAULT '1' COMMENT '是否激活（0:否, 1:是）',
  `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `item_recipes_code_unique` (`code`),
  KEY `idx_category` (`category_id`) USING BTREE,
  KEY `idx_consume_group_id` (`consume_group_id`),
  KEY `idx_reward_group_id` (`reward_group_id`),
  KEY `idx_condition_group_id` (`condition_group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='物品合成配方（使用组系统）';

-- 数据插入
INSERT INTO `kku_item_recipes` (`id`, `name`, `code`, `description`, `consume_group_id`, `reward_group_id`, `condition_group_id`, `display_attributes`, `success_rate`, `cooldown_seconds`, `category_id`, `sort_order`, `is_active`, `created_at`, `updated_at`) VALUES
(6, '木材 制作', '木材', '木材 制作的配方', 28, 27, NULL, '{\"icon\": \"/images/icons/wood_craft.png\", \"category\": \"材料\"}', 100.00, 0, NULL, 0, 1, '2025-05-29 20:40:15', '2025-06-20 15:23:57'),
(10, '钢材合成', 'steel_craft', '钢材合成配方', 40, 38, NULL, '{\"icon\": null, \"category\": \"材料\"}', 100.00, 0, NULL, 0, 1, '2025-06-07 21:06:35', '2025-06-20 15:24:24'),
(11, '石材合成', 'steel_1749448834', '石材合成配方', 29, 39, NULL, '{\"icon\": null, \"category\": \"材料\"}', 100.00, 0, NULL, 0, 1, '2025-06-09 14:00:34', '2025-06-20 15:24:58'),
(12, '初级狗粮合成', 'steel_1749448956', '石材 合成配方', 41, 40, NULL, '{\"icon\": null, \"category\": \"宠物\"}', 100.00, 0, NULL, 0, 1, '2025-06-09 14:02:36', '2025-06-09 15:03:51'),
(13, '高级狗粮合成', 'steel_1749449531', '石材 合成配方', 42, 41, NULL, '{\"icon\": null, \"category\": \"宠物\"}', 100.00, 0, NULL, 0, 1, '2025-06-09 14:12:11', '2025-06-09 15:03:59'),
(14, '皮肤2', 'stee_1749467925', '皮肤2 兑换配方', 42, 44, NULL, '{\"icon\": \"2\", \"category\": \"皮肤\"}', 100.00, 0, NULL, 0, 0, '2025-06-09 19:18:45', '2025-06-20 15:29:01'),
(15, '皮肤3', 'stee_1749467951', '皮肤3 合成配方', 42, 45, NULL, '{\"icon\": \"3\", \"category\": \"皮肤\"}', 100.00, 0, NULL, 0, 0, '2025-06-09 19:19:11', '2025-06-20 15:29:01'),
(16, '皮肤4', 'stee_1749468032', '皮肤4 合成配方', 42, 46, NULL, '{\"icon\": \"4\", \"category\": \"皮肤\"}', 100.00, 0, NULL, 0, 0, '2025-06-09 19:20:32', '2025-06-20 15:29:02'),
(17, '神秘种子', 'seed_1_1', '神秘种子一个', 47, 66, 1, '{\"icon\": null, \"category\": null}', 100.00, 0, NULL, 0, 1, '2025-06-20 13:59:49', '2025-06-20 14:00:03');

-- ==========================================
-- 表: kku_game_condition_groups
-- 模型: App\Module\Game\Models\GameConditionGroup
-- ==========================================

DROP TABLE IF EXISTS `kku_game_condition_groups`;
CREATE TABLE `kku_game_condition_groups` (
  `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '条件组名称',
  `code` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '条件组编码（唯一）',
  `description` text COLLATE utf8mb4_unicode_ci COMMENT '条件组描述',
  `logic_type` tinyint unsigned NOT NULL DEFAULT '1' COMMENT '逻辑类型（1:全部满足, 2:任一满足）',
  `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `game_condition_groups_code_unique` (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='条件组';

-- 数据插入
INSERT INTO `kku_game_condition_groups` (`id`, `name`, `code`, `description`, `logic_type`, `created_at`, `updated_at`) VALUES
(1, '默认条件', 'c1', NULL, 1, '2025-05-20 11:45:41', '2025-05-20 11:45:41');

-- ==========================================
-- 表: kku_game_condition_items
-- 模型: App\Module\Game\Models\GameConditionItem
-- ==========================================

DROP TABLE IF EXISTS `kku_game_condition_items`;
CREATE TABLE `kku_game_condition_items` (
  `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
  `group_id` int unsigned NOT NULL COMMENT '条件组ID，外键关联game_condition_groups表',
  `condition_type` tinyint unsigned NOT NULL COMMENT '条件类型（1:土地等级, 2:房屋等级, 3:宠物等级, 4:物品持有数, 5:代币持有数）',
  `target_id` int unsigned NOT NULL DEFAULT '0' COMMENT '目标ID（土地类型ID、宠物ID、物品ID、代币ID等，根据condition_type解释）',
  `operator` tinyint unsigned NOT NULL COMMENT '比较运算符（1:等于, 2:不等于, 3:大于, 4:大于等于, 5:小于, 6:小于等于）',
  `value` int NOT NULL COMMENT '比较值',
  `param1` int NOT NULL DEFAULT '0' COMMENT '参数1（根据condition_type不同含义）',
  `param2` int NOT NULL DEFAULT '0' COMMENT '参数2（根据condition_type不同含义）',
  `extra_data` json DEFAULT NULL COMMENT '额外数据（JSON格式，可存储特定条件类型的额外参数）',
  `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`),
  KEY `game_condition_items_group_id_foreign` (`group_id`),
  CONSTRAINT `game_condition_items_group_id_foreign` FOREIGN KEY (`group_id`) REFERENCES `kku_game_condition_groups` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='条件项';

-- 数据插入
INSERT INTO `kku_game_condition_items` (`id`, `group_id`, `condition_type`, `target_id`, `operator`, `value`, `param1`, `param2`, `extra_data`, `created_at`, `updated_at`) VALUES
(1, 1, 1, 1, 4, 1, 0, 0, NULL, '2025-05-20 12:38:53', '2025-05-20 15:44:01');

-- ==========================================
-- 表: kku_game_consume_groups
-- 模型: App\Module\Game\Models\GameConsumeGroup
-- ==========================================

DROP TABLE IF EXISTS `kku_game_consume_groups`;
CREATE TABLE `kku_game_consume_groups` (
  `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '消耗组名称',
  `code` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '消耗组编码（唯一）',
  `description` text COLLATE utf8mb4_unicode_ci COMMENT '消耗组描述',
  `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `game_consume_groups_code_unique` (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='消耗组';

-- 数据插入
INSERT INTO `kku_game_consume_groups` (`id`, `name`, `code`, `description`, `created_at`, `updated_at`) VALUES
(1, '默认消耗', 'consume1', NULL, '2025-05-20 13:38:04', '2025-05-20 13:38:04'),
(2, '房屋升级1-2', 'c_h_1', NULL, '2025-05-20 15:10:54', '2025-05-20 15:11:13'),
(13, '商店-金币消耗', 'shop_gold_consume', '商店商品购买消耗金币', '2025-05-29 11:07:54', '2025-05-29 11:07:54'),
(14, '商店-钻石消耗', 'shop_diamond_consume', '商店商品购买消耗钻石', '2025-05-29 11:07:54', '2025-05-29 11:07:54'),
(15, '商店-积分消耗', 'shop_points_consume', '商店商品购买消耗积分', '2025-05-29 11:07:54', '2025-05-29 11:07:54'),
(16, '商店-道具消耗5钻', 'shop_tool_5_diamond', '购买道具类商品消耗5钻石', '2025-05-29 11:17:04', '2025-05-29 11:17:04'),
(17, '商店-道具消耗10钻', 'shop_tool_10_diamond', '购买道具类商品消耗10钻石', '2025-05-29 11:17:04', '2025-05-29 11:17:04'),
(18, '商店-宝箱消耗10钻', 'shop_chest_10_diamond', '购买宝箱类商品消耗10钻石', '2025-05-29 11:17:04', '2025-05-29 11:17:04'),
(19, '商店-宝箱消耗20钻', 'shop_chest_20_diamond', '购买宝箱类商品消耗20钻石', '2025-05-29 11:17:04', '2025-05-29 11:17:04'),
(20, '商店-宝箱消耗30钻', 'shop_chest_30_diamond', '购买宝箱类商品消耗30钻石', '2025-05-29 11:17:04', '2025-05-29 11:17:04'),
(21, '商店-宝箱消耗100钻', 'shop_chest_100_diamond', '购买宝箱类商品消耗100钻石', '2025-05-29 11:17:04', '2025-05-29 11:17:04'),
(22, '商店-神器消耗700钻', 'shop_artifact_700_diamond', '购买神器类商品消耗700钻石', '2025-05-29 11:17:04', '2025-05-29 11:17:04'),
(23, '商店-神器消耗2880钻', 'shop_artifact_2880_diamond', '购买神器类商品消耗2880钻石', '2025-05-29 11:17:04', '2025-05-29 11:17:04'),
(25, '合成消耗: 金矿石冶炼', 'craft_consume_3', '配方 金矿石冶炼 的消耗组', '2025-05-29 22:52:55', '2025-05-29 22:52:55'),
(26, '合成消耗: 铁质工具箱制作', 'craft_consume_4', '配方 铁质工具箱制作 的消耗组', '2025-05-29 22:54:47', '2025-05-29 22:54:47'),
(28, '合成消耗: 木材制作', 'craft_consume_6', '配方 木材制作 的消耗组', '2025-05-29 22:57:42', '2025-06-20 15:18:01'),
(29, '合成消耗: 石材 加工', 'craft_consume_7', '配方 石材加工 的消耗组', '2025-05-29 22:58:23', '2025-06-20 15:19:16'),
(30, '神奇宝箱_消耗组', 'chest_32_consume_1748948618', '宝箱 神奇宝箱 的开启消耗配置（从旧系统迁移）', '2025-06-03 19:03:38', '2025-06-03 19:03:38'),
(31, '铜宝箱-开启消耗', 'box-open-tong', NULL, '2025-06-04 17:09:15', '2025-06-04 17:09:15'),
(32, '银宝箱-开启消耗', 'box-open-yin', NULL, '2025-06-04 17:10:58', '2025-06-04 17:11:31'),
(33, '金宝箱-开启消耗', 'box-open-jin', NULL, '2025-06-04 17:11:07', '2025-06-04 17:12:00'),
(34, '钻石宝箱-开启消耗', 'box-open-zuan', NULL, '2025-06-04 17:12:41', '2025-06-04 17:13:02'),
(35, '多账户测试消耗组', 'test_fund_configs', '用于测试多账户种类消耗功能', '2025-06-06 11:08:03', '2025-06-06 11:08:03'),
(36, '多账户不足测试消耗组', 'test_fund_configs_insufficient', '用于测试多账户种类消耗功能（主账户不足）', '2025-06-06 11:10:41', '2025-06-06 11:10:41'),
(37, '宝箱-金币100', 'box-fun110', NULL, '2025-06-06 11:20:32', '2025-06-06 11:20:32'),
(38, '宝箱-金币100', 'box-fun110_copy_1749196804', NULL, '2025-06-06 16:00:04', '2025-06-06 16:00:28'),
(39, '宝箱-钻石100', 'box-fun110_copy_1749196967', NULL, '2025-06-06 16:02:47', '2025-06-06 16:03:41'),
(40, '合成消耗: 钢材 制作', 'craft_consume_8', '配方 钢材制作 的消耗组', '2025-06-07 21:40:24', '2025-06-20 15:18:50'),
(41, '合成消耗: 初级宠物口粮 制作', 'craft_1749449055', '合成消耗: 初级宠物口粮 制作', '2025-06-09 14:04:15', '2025-06-09 14:04:50'),
(42, '合成消耗: 高级宠物口粮 制作', 'craft_1749449123', '合成消耗: 高级宠物口粮 制作', '2025-06-09 14:05:23', '2025-06-09 14:06:05'),
(43, '土地升级1-2', 'land_update_2', NULL, '2025-06-20 13:44:25', '2025-06-20 13:45:00'),
(44, '土地升级2-3', 'land_update_3', NULL, '2025-06-20 13:45:12', '2025-06-20 13:45:28'),
(45, '土地升级3-4', 'land_update_4', NULL, '2025-06-20 13:45:14', '2025-06-20 13:48:33'),
(46, '土地升级1-2 (复制)', 'land_update_2_copy_1750398316', NULL, '2025-06-20 13:45:16', '2025-06-20 13:45:16'),
(47, '钻石10', 'fun1-10', NULL, '2025-06-20 13:56:08', '2025-06-20 13:56:22'),
(48, '房屋升级2-3', 'c_h_2', NULL, '2025-06-20 14:59:40', '2025-06-20 15:00:15'),
(49, '房屋升级3-4', 'c_h_3', NULL, '2025-06-20 14:59:43', '2025-06-20 15:00:29'),
(50, '房屋升级4-5', 'c_h_4', NULL, '2025-06-20 14:59:45', '2025-06-20 15:00:49'),
(51, '房屋升级5-6', 'c_h_5', NULL, '2025-06-20 14:59:47', '2025-06-20 15:00:59'),
(52, '房屋升级6-7', 'c_h_6', NULL, '2025-06-20 14:59:50', '2025-06-20 15:01:15'),
(53, '房屋升级7-8', 'c_h_7', NULL, '2025-06-20 14:59:52', '2025-06-20 15:01:28'),
(54, '房屋升级8-9', 'c_h_8', NULL, '2025-06-20 14:59:56', '2025-06-20 15:01:38'),
(55, '房屋升级9-10', 'c_h_9', NULL, '2025-06-20 14:59:59', '2025-06-20 15:01:51'),
(56, '房屋升级10-11', 'c_h_10', NULL, '2025-06-20 15:00:03', '2025-06-20 15:02:11'),
(57, '房屋升级11-12', 'c_h_11', NULL, '2025-06-20 15:02:16', '2025-06-20 15:02:26'),
(58, '钻石5个', 'fun1-5', NULL, '2025-06-20 15:44:39', '2025-06-20 15:45:04'),
(59, '钻石15', 'fun1-15', NULL, '2025-06-20 15:44:42', '2025-06-20 15:45:13'),
(60, '钻石100', 'fun1-100', NULL, '2025-06-20 15:48:25', '2025-06-20 15:48:56'),
(61, '钻石200', 'fun1-200', NULL, '2025-06-20 15:48:40', '2025-06-20 15:49:09'),
(62, '钻石300', 'fun1-300', NULL, '2025-06-20 15:48:43', '2025-06-20 15:49:19'),
(63, '钻石1000', 'fun1-1000', NULL, '2025-06-20 15:48:45', '2025-06-20 15:49:29');

-- ==========================================
-- 表: kku_game_consume_items
-- 模型: App\Module\Game\Models\GameConsumeItem
-- ==========================================

DROP TABLE IF EXISTS `kku_game_consume_items`;
CREATE TABLE `kku_game_consume_items` (
  `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
  `group_id` int unsigned NOT NULL COMMENT '消耗组ID，外键关联game_consume_groups表',
  `consume_type` tinyint unsigned NOT NULL COMMENT '消耗类型（1:物品, 2:货币）',
  `target_id` int unsigned NOT NULL COMMENT '目标ID（物品ID、货币ID等，根据consume_type解释）',
  `param1` int NOT NULL DEFAULT '0' COMMENT '参数1（根据consume_type不同含义，如物品的品质、货币的来源等）',
  `param2` int NOT NULL DEFAULT '0' COMMENT '参数2（根据consume_type不同含义，如物品的绑定状态、货币的类型等）',
  `quantity` int unsigned NOT NULL DEFAULT '1' COMMENT '数量',
  `extra_data` json DEFAULT NULL COMMENT '额外数据（JSON格式，可存储特定消耗类型的额外参数）',
  `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`),
  KEY `game_consume_items_group_id_foreign` (`group_id`),
  CONSTRAINT `game_consume_items_group_id_foreign` FOREIGN KEY (`group_id`) REFERENCES `kku_game_consume_groups` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='消耗项';

-- 数据插入
INSERT INTO `kku_game_consume_items` (`id`, `group_id`, `consume_type`, `target_id`, `param1`, `param2`, `quantity`, `extra_data`, `created_at`, `updated_at`) VALUES
(1, 1, 1, 33, 1, 0, 112, NULL, '2025-05-20 13:49:19', '2025-05-20 14:23:22'),
(3, 1, 3, 2, 0, 0, 100, NULL, '2025-05-20 14:09:07', '2025-05-20 14:09:07'),
(4, 1, 1, 34, 1, 0, 120, NULL, '2025-05-20 14:23:46', '2025-05-20 14:24:00'),
(5, 2, 1, 33, 1, 0, 1, NULL, '2025-05-20 15:10:54', '2025-06-20 14:58:47'),
(7, 2, 1, 34, 1, 0, 1, NULL, '2025-05-20 15:10:54', '2025-06-20 14:58:51'),
(39, 14, 2, 2, 0, 0, 50, NULL, '2025-05-29 11:09:16', '2025-05-29 11:09:16'),
(40, 15, 2, 3, 0, 0, 200, NULL, '2025-05-29 11:09:16', '2025-05-29 11:09:16'),
(41, 16, 2, 2, 0, 0, 5, NULL, '2025-05-29 11:17:15', '2025-05-29 11:17:15'),
(42, 17, 2, 2, 0, 0, 10, NULL, '2025-05-29 11:17:15', '2025-05-29 11:17:15'),
(43, 18, 2, 2, 0, 0, 10, NULL, '2025-05-29 11:17:15', '2025-05-29 11:17:15'),
(44, 19, 2, 2, 0, 0, 20, NULL, '2025-05-29 11:17:15', '2025-05-29 11:17:15'),
(45, 20, 2, 2, 0, 0, 30, NULL, '2025-05-29 11:17:15', '2025-05-29 11:17:15'),
(46, 21, 2, 2, 0, 0, 100, NULL, '2025-05-29 11:17:15', '2025-05-29 11:17:15'),
(47, 22, 2, 2, 0, 0, 700, NULL, '2025-05-29 11:17:15', '2025-05-29 11:17:15'),
(48, 23, 2, 2, 0, 0, 2880, NULL, '2025-05-29 11:17:15', '2025-05-29 11:17:15'),
(51, 25, 1, 38, 0, 0, 3, NULL, '2025-05-29 22:53:03', '2025-05-29 22:53:03'),
(52, 25, 2, 1, 0, 0, 10, NULL, '2025-05-29 22:53:10', '2025-05-29 22:53:10'),
(53, 26, 1, 39, 0, 0, 5, NULL, '2025-05-29 22:54:55', '2025-05-29 22:54:55'),
(54, 26, 1, 40, 0, 0, 2, NULL, '2025-05-29 22:54:55', '2025-05-29 22:54:55'),
(56, 26, 2, 1, 0, 0, 20, NULL, '2025-05-29 22:55:02', '2025-05-29 22:55:02'),
(61, 28, 1, 4, 0, 0, 400, NULL, '2025-05-29 22:57:48', '2025-06-21 15:10:37'),
(63, 29, 1, 4, 0, 0, 800, NULL, '2025-05-29 22:58:30', '2025-06-21 15:12:41'),
(65, 30, 1, 31, 0, 0, 1, NULL, '2025-06-03 19:03:38', '2025-06-03 19:03:38'),
(66, 31, 1, 2, 0, 0, 500, NULL, '2025-06-04 17:09:40', '2025-06-04 17:09:40'),
(67, 31, 1, 3, 0, 0, 500, NULL, '2025-06-04 17:09:55', '2025-06-04 17:10:10'),
(68, 32, 1, 4, 0, 0, 500, NULL, '2025-06-04 17:10:58', '2025-06-04 17:13:46'),
(69, 32, 1, 5, 0, 0, 500, NULL, '2025-06-04 17:10:58', '2025-06-04 17:13:55'),
(70, 33, 1, 6, 0, 0, 500, NULL, '2025-06-04 17:11:07', '2025-06-04 17:14:14'),
(71, 33, 1, 7, 0, 0, 500, NULL, '2025-06-04 17:11:07', '2025-06-04 17:14:37'),
(72, 34, 1, 4, 0, 0, 100, NULL, '2025-06-04 17:12:41', '2025-06-04 17:15:13'),
(73, 34, 1, 5, 0, 0, 100, NULL, '2025-06-04 17:12:41', '2025-06-04 17:15:29'),
(74, 35, 4, 1, 0, 0, 100, '{\"fund_config_ids\": [2]}', '2025-06-06 11:08:10', '2025-06-06 11:08:10'),
(75, 36, 4, 1, 0, 0, 10000000, '{\"fund_config_ids\": [2]}', '2025-06-06 11:10:49', '2025-06-06 11:10:49'),
(76, 13, 3, 1, 0, 0, 100, NULL, '2025-06-06 15:23:22', '2025-06-06 15:23:22'),
(77, 37, 3, 1, 0, 0, 100, NULL, '2025-06-06 16:01:12', '2025-06-06 16:01:12'),
(78, 38, 3, 1, 0, 0, 200, NULL, '2025-06-06 16:01:40', '2025-06-06 16:01:40'),
(79, 39, 3, 2, 0, 0, 100, NULL, '2025-06-06 16:02:47', '2025-06-06 16:07:25'),
(80, 28, 1, 5, 0, 0, 400, NULL, '2025-06-07 21:12:32', '2025-06-20 15:21:20'),
(81, 40, 1, 6, 0, 0, 150, NULL, '2025-06-07 21:40:24', '2025-06-20 15:22:29'),
(82, 40, 1, 5, 0, 0, 800, NULL, '2025-06-07 21:40:24', '2025-06-20 15:22:33'),
(83, 41, 1, 2, 0, 0, 35, NULL, '2025-06-09 14:04:15', '2025-06-09 14:05:15'),
(85, 42, 1, 4, 0, 0, 75, NULL, '2025-06-09 14:05:23', '2025-06-20 15:28:52'),
(86, 43, 1, 2, 1, 0, 300, NULL, '2025-06-20 13:44:25', '2025-06-20 13:53:18'),
(87, 43, 3, 2, 0, 0, 300, NULL, '2025-06-20 13:44:25', '2025-06-20 13:52:22'),
(88, 43, 1, 3, 1, 0, 300, NULL, '2025-06-20 13:44:25', '2025-06-20 13:53:26'),
(89, 44, 1, 4, 1, 0, 1000, NULL, '2025-06-20 13:45:12', '2025-06-20 13:54:01'),
(90, 44, 3, 2, 0, 0, 1000, NULL, '2025-06-20 13:45:12', '2025-06-20 13:54:04'),
(91, 44, 1, 5, 1, 0, 1000, NULL, '2025-06-20 13:45:12', '2025-06-20 13:54:12'),
(92, 45, 1, 5, 1, 0, 8000, NULL, '2025-06-20 13:45:14', '2025-06-20 13:55:28'),
(93, 45, 3, 2, 0, 0, 2000, NULL, '2025-06-20 13:45:14', '2025-06-20 13:55:02'),
(94, 45, 1, 7, 1, 0, 800, NULL, '2025-06-20 13:45:14', '2025-06-20 13:55:16'),
(95, 46, 1, 33, 1, 0, 112, NULL, '2025-06-20 13:45:16', '2025-06-20 13:45:16'),
(96, 46, 3, 2, 0, 0, 100, NULL, '2025-06-20 13:45:16', '2025-06-20 13:45:16'),
(97, 46, 1, 34, 1, 0, 120, NULL, '2025-06-20 13:45:16', '2025-06-20 13:45:16'),
(98, 47, 3, 2, 0, 0, 10, NULL, '2025-06-20 13:56:08', '2025-06-20 13:56:32'),
(99, 2, 1, 35, 1, 0, 1, NULL, '2025-06-20 14:58:37', '2025-06-20 14:58:58'),
(100, 48, 1, 33, 1, 0, 4, NULL, '2025-06-20 14:59:40', '2025-06-20 15:16:22'),
(101, 48, 1, 34, 1, 0, 4, NULL, '2025-06-20 14:59:40', '2025-06-20 15:16:24'),
(102, 48, 1, 35, 1, 0, 4, NULL, '2025-06-20 14:59:40', '2025-06-20 15:16:27'),
(103, 49, 1, 33, 1, 0, 8, NULL, '2025-06-20 14:59:43', '2025-06-20 15:15:57'),
(104, 49, 1, 34, 1, 0, 8, NULL, '2025-06-20 14:59:43', '2025-06-20 15:16:01'),
(105, 49, 1, 35, 1, 0, 8, NULL, '2025-06-20 14:59:43', '2025-06-20 15:16:04'),
(106, 50, 1, 33, 1, 0, 12, NULL, '2025-06-20 14:59:45', '2025-06-20 15:15:23'),
(107, 50, 1, 34, 1, 0, 12, NULL, '2025-06-20 14:59:45', '2025-06-20 15:15:20'),
(108, 50, 1, 35, 1, 0, 12, NULL, '2025-06-20 14:59:45', '2025-06-20 15:15:26'),
(109, 51, 1, 33, 1, 0, 18, NULL, '2025-06-20 14:59:47', '2025-06-20 15:14:49'),
(110, 51, 1, 34, 1, 0, 18, NULL, '2025-06-20 14:59:47', '2025-06-20 15:14:53'),
(111, 51, 1, 35, 1, 0, 18, NULL, '2025-06-20 14:59:47', '2025-06-20 15:14:56'),
(112, 52, 1, 33, 1, 0, 26, NULL, '2025-06-20 14:59:50', '2025-06-20 15:13:41'),
(113, 52, 1, 34, 1, 0, 23, NULL, '2025-06-20 14:59:50', '2025-06-20 15:13:44'),
(114, 52, 1, 35, 1, 0, 26, NULL, '2025-06-20 14:59:50', '2025-06-20 15:13:49'),
(115, 53, 1, 33, 1, 0, 33, NULL, '2025-06-20 14:59:52', '2025-06-20 15:12:42'),
(116, 53, 1, 34, 1, 0, 29, NULL, '2025-06-20 14:59:52', '2025-06-20 15:12:45'),
(117, 53, 1, 35, 1, 0, 33, NULL, '2025-06-20 14:59:52', '2025-06-20 15:12:49'),
(118, 54, 1, 33, 1, 0, 39, NULL, '2025-06-20 14:59:56', '2025-06-20 15:05:20'),
(119, 54, 1, 34, 1, 0, 35, NULL, '2025-06-20 14:59:56', '2025-06-20 15:05:23'),
(120, 54, 1, 35, 1, 0, 39, NULL, '2025-06-20 14:59:56', '2025-06-20 15:05:26'),
(121, 55, 1, 33, 1, 0, 43, NULL, '2025-06-20 14:59:59', '2025-06-20 15:04:34'),
(122, 55, 1, 34, 1, 0, 41, NULL, '2025-06-20 14:59:59', '2025-06-20 15:04:40'),
(123, 55, 1, 35, 1, 0, 43, NULL, '2025-06-20 14:59:59', '2025-06-20 15:04:52'),
(124, 56, 1, 33, 1, 0, 47, NULL, '2025-06-20 15:00:03', '2025-06-20 15:04:00'),
(125, 56, 1, 34, 1, 0, 46, NULL, '2025-06-20 15:00:03', '2025-06-20 15:03:56'),
(126, 56, 1, 35, 1, 0, 47, NULL, '2025-06-20 15:00:03', '2025-06-20 15:03:42'),
(127, 57, 1, 33, 1, 0, 51, NULL, '2025-06-20 15:02:16', '2025-06-20 15:03:00'),
(128, 57, 1, 34, 1, 0, 53, NULL, '2025-06-20 15:02:16', '2025-06-20 15:02:55'),
(129, 57, 1, 35, 1, 0, 51, NULL, '2025-06-20 15:02:16', '2025-06-20 15:03:04'),
(130, 29, 1, 7, 0, 0, 150, NULL, '2025-06-20 15:21:33', '2025-06-20 15:22:03'),
(131, 58, 3, 2, 0, 0, 5, NULL, '2025-06-20 15:44:39', '2025-06-20 15:45:21'),
(132, 59, 3, 2, 0, 0, 15, NULL, '2025-06-20 15:44:42', '2025-06-20 15:45:30'),
(133, 60, 3, 2, 0, 0, 100, NULL, '2025-06-20 15:48:25', '2025-06-20 15:49:43'),
(134, 61, 3, 2, 0, 0, 200, NULL, '2025-06-20 15:48:41', '2025-06-20 15:49:54'),
(135, 62, 3, 2, 0, 0, 300, NULL, '2025-06-20 15:48:43', '2025-06-20 15:49:59'),
(136, 63, 3, 2, 0, 0, 1000, NULL, '2025-06-20 15:48:45', '2025-06-20 15:50:04');

-- ==========================================
-- 表: kku_game_reward_groups
-- 模型: App\Module\Game\Models\GameRewardGroup
-- ==========================================

DROP TABLE IF EXISTS `kku_game_reward_groups`;
CREATE TABLE `kku_game_reward_groups` (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '奖励组名称',
  `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '奖励组编码（唯一）',
  `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '奖励组描述',
  `is_random` tinyint NOT NULL DEFAULT '0' COMMENT '是否随机发放（0:全部发放, 1:随机发放）',
  `random_count` int DEFAULT '1' COMMENT '随机发放时的奖励数量',
  `reward_mode` tinyint DEFAULT '1' COMMENT '奖励模式（1:权重选择模式, 2:独立概率模式）',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `idx_code` (`code`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='奖励组表';

-- 数据插入
INSERT INTO `kku_game_reward_groups` (`id`, `name`, `code`, `description`, `is_random`, `random_count`, `reward_mode`, `created_at`, `updated_at`) VALUES
(1, '默认奖励', 'r1', '默认奖励', 0, 1, 1, '2025-05-20 10:41:38', '2025-05-20 10:41:38'),
(2, '奖励2', 'r1_1747709722', '默认奖励', 0, 1, 1, '2025-05-20 10:55:22', '2025-05-20 11:10:29'),
(3, '默认奖励 (复制) (复制)', 'r1_copy_1747709722_copy_1747709725', '默认奖励', 0, 1, 1, '2025-05-20 10:55:25', '2025-05-20 10:55:25'),
(4, '默认奖励 (复制)', 'r1_copy_1747709728', '默认奖励', 0, 1, 1, '2025-05-20 10:55:28', '2025-05-20 10:55:28'),
(5, '银锄头奖励', 'r1748332896', '默认奖励', 0, 1, 1, '2025-05-27 16:01:36', '2025-05-27 16:02:04'),
(6, '金锄头奖励', 'r1748332927', '默认奖励', 0, 1, 1, '2025-05-27 16:02:07', '2025-05-27 16:02:20'),
(7, '商店-道具包（测试大宝）', 'shop_item_pack', '商店购买获得道具包', 0, 10, 1, '2025-05-29 11:08:01', '2025-06-17 20:32:52'),
(8, '商店-种子包', 'shop_seed_pack', '商店购买获得种子包', 0, 1, 1, '2025-05-29 11:08:01', '2025-05-29 11:08:01'),
(9, '商店-资源包', 'shop_resource_pack', '商店购买获得资源包', 0, 1, 1, '2025-05-29 11:08:01', '2025-05-29 11:08:01'),
(10, '商店-随机奖励', 'shop_random_reward', '商店购买获得随机奖励', 1, 2, 1, '2025-05-29 11:08:01', '2025-05-29 11:08:01'),
(11, '商店-洒水壶奖励', 'shop_watering_can_reward', '购买洒水壶获得的奖励', 0, 1, 1, '2025-05-29 11:17:25', '2025-05-29 11:17:25'),
(12, '商店-除草剂奖励', 'shop_herbicide_reward', '购买除草剂获得的奖励', 0, 1, 1, '2025-05-29 11:17:25', '2025-05-29 11:17:25'),
(13, '商店-除虫剂奖励', 'shop_pesticide_reward', '购买除虫剂获得的奖励', 0, 1, 1, '2025-05-29 11:17:25', '2025-05-29 11:17:25'),
(14, '商店-化肥奖励', 'shop_fertilizer_reward', '购买化肥获得的奖励', 0, 1, 1, '2025-05-29 11:17:25', '2025-05-29 11:17:25'),
(15, '商店-铜宝箱奖励', 'shop_copper_chest_reward', '购买铜宝箱获得的奖励', 0, 1, 1, '2025-05-29 11:17:25', '2025-05-29 11:17:25'),
(16, '商店-银宝箱奖励', 'shop_silver_chest_reward', '购买银宝箱获得的奖励', 0, 1, 1, '2025-05-29 11:17:25', '2025-05-29 11:17:25'),
(17, '商店-金宝箱奖励', 'shop_gold_chest_reward', '购买金宝箱获得的奖励', 0, 1, 1, '2025-05-29 11:17:25', '2025-05-29 16:22:45'),
(18, '商店-K钻宝箱奖励', 'shop_k_diamond_chest_reward', '购买K钻宝箱获得的奖励', 0, 1, 1, '2025-05-29 11:17:25', '2025-05-29 11:17:25'),
(19, '商店-除草之神奖励', 'shop_grasshopper_god_reward', '购买蚱蜢之神获得的奖励', 0, 1, 1, '2025-05-29 11:17:25', '2025-05-29 14:59:35'),
(20, '商店-除虫之神奖励', 'shop_locust_god_reward', '购买 除虫之神获得的奖励', 0, 1, 1, '2025-05-29 11:17:25', '2025-05-29 16:39:36'),
(21, '商店-雨露之神奖励', 'shop_dew_god_reward', '购买雨露之神获得的奖励', 0, 1, 1, '2025-05-29 11:17:25', '2025-05-29 11:17:25'),
(22, '商店-丰收之神奖励', 'shop_harvest_god_reward', '购买丰收之神获得的奖励', 0, 1, 1, '2025-05-29 11:17:25', '2025-05-29 11:17:25'),
(23, '合成奖励: 铜矿石冶炼', 'craft_reward_2', '配方 铜矿石冶炼 的奖励组', 0, 1, 1, '2025-05-29 22:51:52', '2025-05-29 22:51:52'),
(24, '合成奖励: 金矿石冶炼', 'craft_reward_3', '配方 金矿石冶炼 的奖励组', 0, 1, 1, '2025-05-29 22:53:17', '2025-05-29 22:53:17'),
(25, '合成奖励: 铁质工具箱制作', 'craft_reward_4', '配方 铁质工具箱制作 的奖励组', 0, 1, 1, '2025-05-29 22:55:09', '2025-05-29 22:55:09'),
(26, '合成奖励: 高级肥料制作', 'craft_reward_5', '配方 高级肥料制作 的奖励组', 0, 1, 1, '2025-05-29 22:56:50', '2025-05-29 22:56:50'),
(27, '合成奖励: 木材制作', 'craft_reward_6', '配方 木材制作 的奖励组', 0, 1, 1, '2025-05-29 22:58:02', '2025-06-20 15:23:07'),
(28, '合成奖励: 高级木材加工', 'craft_reward_7', '配方 高级木材加工 的奖励组', 0, 1, 1, '2025-05-29 22:58:44', '2025-05-29 22:58:44'),
(29, '商店-宠物', 'shop-pet1', '商店宠物', 0, 1, 1, '2025-06-01 11:07:12', '2025-06-01 11:07:12'),
(30, '铜宝箱_奖励组', 'chest_27_reward_1748948617', '宝箱 铜宝箱 的奖励配置（从旧系统迁移）', 1, 1, 2, '2025-06-03 19:03:37', '2025-06-04 16:55:39'),
(31, '银宝箱_奖励组', 'chest_28_reward_1748948617', '宝箱 银宝箱 的奖励配置（从旧系统迁移）', 1, 1, 2, '2025-06-03 19:03:37', '2025-06-04 15:38:26'),
(32, '金宝箱_奖励组', 'chest_29_reward_1748948618', '宝箱 金宝箱 的奖励配置（从旧系统迁移）', 1, 1, 2, '2025-06-03 19:03:38', '2025-06-04 16:33:58'),
(33, '钻石宝箱_奖励组', 'chest_30_reward_1748948618', '宝箱 钻石宝箱 的奖励配置（从旧系统迁移）', 1, 1, 2, '2025-06-03 19:03:38', '2025-06-04 17:07:04'),
(34, '神奇宝箱_奖励组', 'chest_32_reward_1748948618', '宝箱 神奇宝箱 的奖励配置（从旧系统迁移）', 1, 1, 2, '2025-06-03 19:03:38', '2025-06-04 16:55:56'),
(35, '商店-宠物口粮奖励', 'shop_fertilizer_reward_copy_1749199223', '购买化 宠物口粮 得的奖励', 0, 1, 1, '2025-06-06 16:40:23', '2025-06-06 16:40:56'),
(36, '宝箱_奖励组*2', 'chest_copy_1749200764', '宝箱 神奇宝箱 的奖励配置（从旧系统迁移）', 0, 1, 2, '2025-06-06 17:06:04', '2025-06-06 17:15:22'),
(37, '宝箱_奖励组*3', 'copy_1749201010', '宝箱 神奇宝箱 的奖励配置（从旧系统迁移）', 0, 1, 2, '2025-06-06 17:10:10', '2025-06-06 17:17:11'),
(38, '合成奖励: 钢材制作', 'craft_1749293310', '配方 钢材制作 的奖励组', 0, 1, 1, '2025-06-07 18:48:30', '2025-06-07 18:51:44'),
(39, '合成奖励: 石材制作', 'craft_1749293412', '配方 石材制作 的奖励组', 0, 1, 1, '2025-06-07 18:50:12', '2025-06-07 18:51:36'),
(40, '合成奖励: 宠物口粮制作', 'craft_1749449202', '配方 宠物口粮制作 的奖励组', 0, 1, 1, '2025-06-09 14:06:42', '2025-06-09 14:07:30'),
(41, '合成奖励: 高级宠物口粮制', 'craft_1749449263', '配方 高级宠物口粮制作 的奖励组', 0, 1, 1, '2025-06-09 14:07:43', '2025-06-09 14:08:06'),
(44, '合成奖励: 皮肤2 的奖励', 'craft_1749468113', '配方 皮肤2 的奖励组', 0, 1, 1, '2025-06-09 19:21:53', '2025-06-09 19:23:18'),
(45, '合成奖励: 皮肤3 的奖励', 'craft_1749468202', '配方 皮肤3 的奖励组', 0, 1, 1, '2025-06-09 19:23:22', '2025-06-09 19:23:37'),
(46, '合成奖励: 皮肤4 的奖励', 'craft_1749468234', '配方 皮肤4 的奖励组', 0, 1, 1, '2025-06-09 19:23:54', '2025-06-09 19:24:15'),
(47, '推广奖励urs-青铜-一代', 'urs-l0-1', NULL, 0, 1, 1, '2025-06-15 09:57:31', '2025-06-15 10:10:41'),
(48, '推广奖励urs-青铜-2代', 'urs-l0-2', NULL, 0, 1, 1, '2025-06-15 10:02:25', '2025-06-15 10:10:41'),
(49, '推广奖励urs-白银-2代', 'urs-l1-2', NULL, 0, 1, 1, '2025-06-15 10:02:51', '2025-06-15 10:10:27'),
(50, '推广奖励urs-白银-1代', 'urs-l1-1', NULL, 0, 1, 1, '2025-06-15 10:04:10', '2025-06-15 10:10:27'),
(51, '推广奖励urs-白银-3代', 'urs-l1-3', NULL, 0, 1, 1, '2025-06-15 10:07:28', '2025-06-15 10:10:11'),
(52, '推广奖励urs-黄金-3代', 'urs-l2-3', NULL, 0, 1, 1, '2025-06-15 10:07:43', '2025-06-15 10:10:11'),
(53, '推广奖励urs-黄金-2代', 'urs-l2-2', NULL, 0, 1, 1, '2025-06-15 10:10:54', '2025-06-15 10:12:17'),
(54, '推广奖励urs-黄金-1代', 'urs-l2-1', NULL, 0, 1, 1, '2025-06-15 10:10:56', '2025-06-15 10:12:17'),
(55, '推广奖励urs-钻石-1代', 'urs-l3-1', NULL, 0, 1, 1, '2025-06-15 10:12:23', '2025-06-15 10:12:43'),
(56, '推广奖励urs-钻石-2代', 'urs-l3-2', NULL, 0, 1, 1, '2025-06-15 10:12:47', '2025-06-15 10:13:33'),
(57, '推广奖励urs-钻石-3代', 'urs-l3-3', NULL, 0, 1, 1, '2025-06-15 10:12:50', '2025-06-15 10:13:33'),
(58, '推广奖励urs-至尊-1代', 'urs-l4-1', NULL, 0, 1, 1, '2025-06-15 10:13:53', '2025-06-15 10:27:36'),
(59, '推广奖励urs-至尊-2代', 'urs-l4-2', NULL, 0, 1, 1, '2025-06-15 10:27:40', '2025-06-15 10:28:08'),
(60, '推广奖励urs-至尊-3代', 'urs-l4-3', NULL, 0, 1, 1, '2025-06-15 10:27:46', '2025-06-15 10:28:18'),
(61, '推广奖励urs-合伙人-1代', 'urs-l5-1', NULL, 0, 1, 1, '2025-06-15 10:29:12', '2025-06-15 10:29:27'),
(62, '推广奖励urs-合伙人-2代', 'urs-l5-2', NULL, 0, 1, 1, '2025-06-15 10:29:31', '2025-06-15 10:52:59'),
(63, '推广奖励urs-合伙人-3代', 'urs-l5-3', NULL, 0, 1, 1, '2025-06-15 10:29:36', '2025-06-15 10:53:17'),
(64, '农场初始化奖励', 'fram_int', '农场 初始化奖励', 0, 1, 1, '2025-06-17 16:33:59', '2025-06-17 16:33:59'),
(66, '神秘种子1各', 'seed_1_1', '商店购买获得种子包', 0, 1, 1, '2025-06-20 13:56:54', '2025-06-20 13:57:16');

-- ==========================================
-- 表: kku_game_reward_group_pity_counts
-- 模型: App\Module\Game\Models\GameRewardGroupPityCount
-- ==========================================

DROP TABLE IF EXISTS `kku_game_reward_group_pity_counts`;
CREATE TABLE `kku_game_reward_group_pity_counts` (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_id` bigint unsigned NOT NULL COMMENT '用户ID',
  `reward_group_id` int NOT NULL COMMENT '奖励组ID',
  `reward_item_id` int NOT NULL COMMENT '奖励项ID',
  `count` int NOT NULL DEFAULT '0' COMMENT '当前计数',
  `pity_threshold` int NOT NULL DEFAULT '0' COMMENT '保底阈值',
  `last_attempt_at` timestamp NULL DEFAULT NULL COMMENT '最后尝试时间',
  `last_hit_at` timestamp NULL DEFAULT NULL COMMENT '最后命中时间',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `unique_user_reward_item` (`user_id`,`reward_group_id`,`reward_item_id`),
  KEY `idx_user_reward_group` (`user_id`,`reward_group_id`),
  KEY `idx_reward_group_item` (`reward_group_id`,`reward_item_id`),
  KEY `game_reward_group_pity_counts_user_id_foreign` (`user_id`),
  KEY `game_reward_group_pity_counts_reward_group_id_foreign` (`reward_group_id`),
  KEY `game_reward_group_pity_counts_reward_item_id_foreign` (`reward_item_id`),
  CONSTRAINT `game_reward_group_pity_counts_reward_group_id_foreign` FOREIGN KEY (`reward_group_id`) REFERENCES `kku_game_reward_groups` (`id`) ON DELETE CASCADE,
  CONSTRAINT `game_reward_group_pity_counts_reward_item_id_foreign` FOREIGN KEY (`reward_item_id`) REFERENCES `kku_game_reward_items` (`id`) ON DELETE CASCADE,
  CONSTRAINT `game_reward_group_pity_counts_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `kku_users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- 该表无数据记录

-- ==========================================
-- 表: kku_game_reward_items
-- 模型: App\Module\Game\Models\GameRewardItem
-- ==========================================

DROP TABLE IF EXISTS `kku_game_reward_items`;
CREATE TABLE `kku_game_reward_items` (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
  `group_id` int NOT NULL COMMENT '奖励组ID，外键关联game_reward_groups表',
  `reward_type` tinyint NOT NULL COMMENT '奖励类型（1:物品, 2:货币, 3:宠物经验, 4:宠物体力, 5:其他）',
  `target_id` int NOT NULL COMMENT '目标ID（物品ID、货币ID等，根据reward_type解释）',
  `param1` int DEFAULT '0' COMMENT '参数1（根据reward_type不同含义，如物品的品质、货币的来源等）',
  `param2` int DEFAULT '0' COMMENT '参数2（根据reward_type不同含义，如物品的绑定状态、货币的类型等）',
  `quantity` int NOT NULL DEFAULT '1' COMMENT '数量',
  `min_quantity` int DEFAULT NULL COMMENT '最小数量（NULL表示使用quantity字段）',
  `max_quantity` int DEFAULT NULL COMMENT '最大数量（NULL表示使用quantity字段）',
  `weight` decimal(5,2) NOT NULL DEFAULT '1.00' COMMENT '权重（随机发放时使用）',
  `probability` decimal(5,2) DEFAULT NULL COMMENT '获得概率（百分比，0-100，NULL表示使用权重机制）',
  `is_guaranteed` tinyint NOT NULL DEFAULT '0' COMMENT '是否必中（0:非必中, 1:必中）',
  `pity_threshold` int NOT NULL DEFAULT '0' COMMENT '保底阈值（0表示不启用保底）',
  `pity_weight_factor` decimal(8,4) NOT NULL DEFAULT '1.0000' COMMENT '保底权重因子（递增概率的倍数）',
  `pity_enabled` tinyint NOT NULL DEFAULT '0' COMMENT '是否启用保底机制',
  `extra_data` json DEFAULT NULL COMMENT '额外数据（JSON格式，可存储特定奖励类型的额外参数）',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE,
  KEY `idx_group_id` (`group_id`) USING BTREE,
  KEY `idx_reward_type` (`reward_type`) USING BTREE,
  KEY `idx_probability` (`probability`),
  CONSTRAINT `fk_reward_group` FOREIGN KEY (`group_id`) REFERENCES `kku_game_reward_groups` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='奖励项表';

-- 数据插入
INSERT INTO `kku_game_reward_items` (`id`, `group_id`, `reward_type`, `target_id`, `param1`, `param2`, `quantity`, `min_quantity`, `max_quantity`, `weight`, `probability`, `is_guaranteed`, `pity_threshold`, `pity_weight_factor`, `pity_enabled`, `extra_data`, `created_at`, `updated_at`) VALUES
(1, 1, 1, 1, 0, 0, 1, 3, 8, 1.00, 0.00, 0, 0, 1.0000, 0, NULL, '2025-05-20 10:41:38', '2025-06-04 17:18:57'),
(2, 2, 1, 1, 0, 0, 1, 0, 0, 1.00, NULL, 0, 0, 1.0000, 0, NULL, '2025-05-20 10:55:22', '2025-06-20 10:26:06'),
(3, 3, 1, 1, 0, 0, 1, 0, 0, 1.00, NULL, 0, 0, 1.0000, 0, NULL, '2025-05-20 10:55:25', '2025-06-20 10:26:06'),
(4, 4, 1, 1, 0, 0, 1, 0, 0, 1.00, NULL, 0, 0, 1.0000, 0, NULL, '2025-05-20 10:55:28', '2025-06-20 10:26:06'),
(5, 5, 1, 23, 0, 0, 4, 4, 4, 2.00, NULL, 1, 0, 1.0000, 0, NULL, '2025-05-27 16:01:36', '2025-05-29 22:31:27'),
(6, 6, 1, 22, 0, 0, 2, 2, 2, 1.00, NULL, 1, 0, 1.0000, 0, NULL, '2025-05-27 16:02:08', '2025-05-29 22:31:27'),
(7, 7, 1, 1, 0, 0, 100, 0, 0, 1.00, 0.00, 1, 0, 1.0000, 0, NULL, '2025-05-29 11:10:04', '2025-06-20 10:25:56'),
(9, 7, 5, 2, 0, 0, 500000, 0, 1, 1.00, 0.00, 1, 0, 1.0000, 0, NULL, '2025-05-29 11:10:04', '2025-06-18 10:08:45'),
(10, 8, 1, 3, 0, 0, 5, 5, 5, 1.00, NULL, 1, 0, 1.0000, 0, NULL, '2025-05-29 11:10:04', '2025-05-29 22:31:27'),
(11, 8, 1, 6, 0, 0, 3, 3, 3, 1.00, NULL, 1, 0, 1.0000, 0, NULL, '2025-05-29 11:10:04', '2025-05-29 22:31:27'),
(12, 8, 1, 7, 0, 0, 2, 2, 2, 1.00, NULL, 1, 0, 1.0000, 0, NULL, '2025-05-29 11:10:04', '2025-05-29 22:31:27'),
(13, 9, 5, 1, 0, 0, 200, 200, 200, 1.00, NULL, 1, 0, 1.0000, 0, NULL, '2025-05-29 11:10:04', '2025-05-29 22:31:27'),
(14, 9, 5, 2, 0, 0, 20, 20, 20, 1.00, NULL, 1, 0, 1.0000, 0, NULL, '2025-05-29 11:10:04', '2025-05-29 22:31:27'),
(15, 9, 1, 10, 0, 0, 1, 0, 0, 1.00, NULL, 1, 0, 1.0000, 0, NULL, '2025-05-29 11:10:04', '2025-06-20 10:26:06'),
(16, 10, 1, 4, 0, 0, 3, 3, 3, 0.50, NULL, 0, 0, 1.0000, 0, NULL, '2025-05-29 11:10:04', '2025-05-29 22:31:27'),
(17, 10, 1, 5, 0, 0, 2, 2, 2, 0.30, NULL, 0, 0, 1.0000, 0, NULL, '2025-05-29 11:10:04', '2025-05-29 22:31:27'),
(18, 10, 1, 8, 0, 0, 5, 5, 5, 0.20, NULL, 0, 0, 1.0000, 0, NULL, '2025-05-29 11:10:04', '2025-05-29 22:31:27'),
(19, 10, 5, 1, 0, 0, 100, 100, 100, 1.00, NULL, 1, 0, 1.0000, 0, NULL, '2025-05-29 11:10:04', '2025-05-29 22:31:27'),
(23, 14, 1, 19, 0, 0, 1, 0, 0, 1.00, NULL, 0, 0, 1.0000, 0, NULL, '2025-05-29 11:17:37', '2025-06-20 10:26:06'),
(33, 15, 1, 27, 0, 0, 1, 0, 0, 1.00, NULL, 1, 0, 1.0000, 0, NULL, '2025-05-29 14:38:59', '2025-06-20 10:26:06'),
(34, 18, 1, 30, 0, 0, 1, 0, 0, 1.00, NULL, 1, 0, 1.0000, 0, NULL, '2025-05-29 16:08:05', '2025-06-20 10:26:06'),
(35, 17, 1, 29, 0, 0, 1, 0, 1, 1.00, 0.00, 1, 0, 1.0000, 0, NULL, '2025-05-29 16:23:17', '2025-06-20 10:25:27'),
(36, 16, 1, 28, 0, 0, 1, 0, 0, 0.00, 0.00, 1, 0, 1.0000, 0, NULL, '2025-05-29 16:24:06', '2025-06-20 10:26:06'),
(37, 11, 1, 24, 0, 0, 1, 0, 0, 1.00, 0.00, 1, 0, 1.0000, 0, NULL, '2025-05-29 16:25:16', '2025-06-20 10:22:57'),
(38, 12, 1, 22, 0, 0, 1, 0, 0, 1.00, NULL, 1, 0, 1.0000, 0, NULL, '2025-05-29 16:26:02', '2025-06-20 10:26:06'),
(39, 13, 1, 23, 0, 0, 1, 0, 0, 1.00, NULL, 1, 0, 1.0000, 0, NULL, '2025-05-29 16:26:51', '2025-06-20 10:26:06'),
(40, 19, 6, 3, 0, 24, 1, 0, 0, 1.00, NULL, 1, 0, 1.0000, 0, NULL, '2025-05-29 16:34:17', '2025-06-20 10:26:06'),
(41, 20, 6, 4, 0, 24, 1, 0, 0, 1.00, NULL, 1, 0, 1.0000, 0, NULL, '2025-05-29 16:53:12', '2025-06-20 10:26:06'),
(42, 21, 6, 2, 0, 0, 1, 0, 0, 1.00, NULL, 1, 0, 1.0000, 0, NULL, '2025-05-29 16:54:18', '2025-06-20 10:26:06'),
(43, 22, 6, 1, 0, 0, 1, 0, 0, 1.00, NULL, 1, 0, 1.0000, 0, NULL, '2025-05-29 16:55:09', '2025-06-20 10:26:06'),
(44, 23, 1, 40, 1, 1, 1, 0, 0, 1.00, 100.00, 1, 0, 1.0000, 0, NULL, '2025-05-29 22:51:59', '2025-06-20 10:24:17'),
(45, 24, 1, 41, 1, 1, 1, 0, 0, 1.00, 90.00, 0, 0, 1.0000, 0, NULL, '2025-05-29 22:53:26', '2025-06-20 10:24:17'),
(46, 25, 1, 42, 1, 1, 1, 0, 0, 1.00, 100.00, 1, 0, 1.0000, 0, NULL, '2025-05-29 22:55:28', '2025-06-20 10:24:17'),
(47, 26, 1, 43, 2, 3, 2, 0, 0, 1.00, 80.00, 0, 0, 1.0000, 0, NULL, '2025-05-29 22:56:58', '2025-06-20 10:24:17'),
(48, 27, 1, 33, 4, 4, 1, 0, 0, 1.00, 1.00, 1, 0, 1.0000, 0, NULL, '2025-05-29 22:58:10', '2025-06-09 13:59:51'),
(49, 28, 1, 33, 2, 3, 2, 0, 0, 1.00, 0.80, 0, 0, 1.0000, 0, NULL, '2025-05-29 22:58:52', '2025-06-20 10:24:17'),
(50, 29, 7, 1, 0, 0, 1, 0, 0, 1.00, NULL, 1, 0, 1.0000, 0, NULL, '2025-06-01 11:09:36', '2025-06-20 10:24:17'),
(51, 30, 1, 2, 0, 0, 3, 200, 2000, 50.00, 50.00, 0, 0, 1.0000, 0, NULL, '2025-06-03 19:03:37', '2025-06-05 20:21:42'),
(52, 30, 1, 3, 0, 0, 3, 200, 2000, 50.00, 50.00, 0, 0, 1.0000, 0, NULL, '2025-06-03 19:03:37', '2025-06-21 15:01:17'),
(53, 34, 1, 2, 0, 0, 2, 200, 2000, 10.00, 50.00, 0, 0, 1.0000, 0, NULL, '2025-06-03 19:03:38', '2025-06-04 15:04:08'),
(54, 1, 1, 1, 0, 0, 1, 0, 0, 1.00, NULL, 0, 0, 1.0000, 0, NULL, '2025-06-04 15:09:03', '2025-06-20 10:26:07'),
(55, 34, 1, 3, 0, 0, 2, 200, 2000, 10.00, 50.00, 0, 0, 1.0000, 0, NULL, '2025-06-04 15:35:22', '2025-06-04 15:36:53'),
(56, 31, 1, 4, 0, 0, 1, 200, 2000, 1.00, 50.00, 0, 0, 1.0000, 0, NULL, '2025-06-04 16:59:43', '2025-06-04 16:59:43'),
(57, 31, 1, 5, 0, 0, 1, 200, 2000, 1.00, 50.00, 0, 0, 1.0000, 0, NULL, '2025-06-04 16:59:52', '2025-06-04 17:00:02'),
(58, 32, 1, 6, 0, 0, 1, 200, 2000, 1.00, 50.00, 0, 0, 1.0000, 0, NULL, '2025-06-04 17:00:08', '2025-06-04 17:02:09'),
(59, 32, 1, 7, 0, 0, 1, 200, 2000, 1.00, 50.00, 0, 0, 1.0000, 0, NULL, '2025-06-04 17:00:11', '2025-06-04 17:02:20'),
(62, 33, 2, 2, 0, 0, 1, 1000, 2000, 1.00, 0.00, 1, 0, 1.0000, 0, NULL, '2025-06-04 17:05:23', '2025-06-20 16:01:58'),
(63, 35, 1, 49, 0, 0, 1, 0, 0, 1.00, 0.00, 0, 0, 1.0000, 0, NULL, '2025-06-06 16:40:23', '2025-06-20 10:26:07'),
(64, 35, 1, 50, 0, 0, 1, 0, 0, 1.00, 0.00, 0, 0, 1.0000, 0, NULL, '2025-06-06 16:41:41', '2025-06-06 16:41:41'),
(65, 35, 1, 51, 0, 0, 1, 0, 0, 1.00, 0.00, 0, 0, 1.0000, 0, NULL, '2025-06-06 16:43:03', '2025-06-06 16:43:03'),
(66, 36, 1, 2, 0, 0, 2, 200, 2000, 10.00, 50.00, 0, 0, 1.0000, 0, NULL, '2025-06-06 17:06:04', '2025-06-06 17:06:04'),
(67, 36, 1, 3, 0, 0, 2, 200, 2000, 10.00, 50.00, 0, 0, 1.0000, 0, NULL, '2025-06-06 17:06:04', '2025-06-06 17:06:04'),
(68, 37, 1, 2, 0, 0, 2, 200, 2000, 10.00, 50.00, 0, 0, 1.0000, 0, NULL, '2025-06-06 17:10:10', '2025-06-06 17:10:10'),
(69, 37, 1, 3, 0, 0, 2, 200, 2000, 10.00, 50.00, 0, 0, 1.0000, 0, NULL, '2025-06-06 17:10:10', '2025-06-06 17:10:10'),
(70, 37, 1, 7, 0, 0, 1, 100, 2000, 1.00, 0.00, 0, 0, 1.0000, 0, NULL, '2025-06-06 17:11:12', '2025-06-06 17:11:12'),
(71, 38, 1, 35, 0, 0, 1, 0, 0, 1.00, 1.00, 1, 0, 1.0000, 0, NULL, '2025-06-07 18:48:30', '2025-06-09 14:01:57'),
(72, 39, 1, 34, 0, 0, 1, 0, 0, 1.00, 1.00, 0, 0, 1.0000, 0, NULL, '2025-06-07 18:50:12', '2025-06-07 18:54:54'),
(73, 40, 1, 49, 0, 0, 1, 0, 0, 1.00, 1.00, 0, 0, 1.0000, 0, NULL, '2025-06-09 14:06:42', '2025-06-09 14:08:24'),
(74, 41, 1, 59, 0, 0, 1, 0, 0, 1.00, 1.00, 0, 0, 1.0000, 0, NULL, '2025-06-09 14:07:43', '2025-06-09 14:09:10'),
(80, 44, 9, 2, 0, 0, 1, 0, 0, 1.00, 0.00, 1, 0, 1.0000, 0, NULL, '2025-06-09 19:31:50', '2025-06-09 19:31:50'),
(81, 45, 9, 3, 0, 0, 1, 0, 0, 1.00, 0.00, 0, 0, 1.0000, 0, NULL, '2025-06-09 19:32:09', '2025-06-09 19:32:09'),
(83, 46, 9, 4, 0, 0, 1, 0, 0, 1.00, 0.00, 0, 0, 1.0000, 0, NULL, '2025-06-09 19:33:18', '2025-06-09 19:33:18'),
(84, 47, 1, 19, 0, 0, 1, 0, 0, 1.00, 0.00, 0, 0, 1.0000, 0, NULL, '2025-06-15 10:02:03', '2025-06-15 10:02:03'),
(85, 48, 1, 19, 0, 0, 1, 0, 0, 1.00, 0.00, 0, 0, 1.0000, 0, NULL, '2025-06-15 10:02:25', '2025-06-15 10:02:25'),
(86, 49, 1, 19, 0, 0, 1, 0, 0, 1.00, 0.00, 0, 0, 1.0000, 0, NULL, '2025-06-15 10:02:51', '2025-06-15 10:02:51'),
(87, 50, 1, 19, 0, 0, 1, 0, 0, 1.00, 0.00, 0, 0, 1.0000, 0, NULL, '2025-06-15 10:04:10', '2025-06-15 10:04:10'),
(88, 51, 1, 19, 0, 0, 1, 0, 0, 1.00, 0.00, 0, 0, 1.0000, 0, NULL, '2025-06-15 10:07:28', '2025-06-15 10:07:28'),
(89, 52, 1, 19, 0, 0, 1, 0, 0, 1.00, 0.00, 0, 0, 1.0000, 0, NULL, '2025-06-15 10:07:43', '2025-06-15 10:07:43'),
(90, 53, 1, 19, 0, 0, 1, 0, 0, 1.00, 0.00, 0, 0, 1.0000, 0, NULL, '2025-06-15 10:10:54', '2025-06-15 10:10:54'),
(91, 54, 1, 19, 0, 0, 1, 0, 0, 1.00, 0.00, 0, 0, 1.0000, 0, NULL, '2025-06-15 10:10:56', '2025-06-15 10:10:56'),
(92, 55, 1, 19, 0, 0, 1, 0, 0, 1.00, 0.00, 0, 0, 1.0000, 0, NULL, '2025-06-15 10:12:23', '2025-06-15 10:12:23'),
(93, 56, 1, 19, 0, 0, 1, 0, 0, 1.00, 0.00, 0, 0, 1.0000, 0, NULL, '2025-06-15 10:12:47', '2025-06-15 10:12:47'),
(94, 57, 1, 19, 0, 0, 1, 0, 0, 1.00, 0.00, 0, 0, 1.0000, 0, NULL, '2025-06-15 10:12:50', '2025-06-15 10:12:50'),
(95, 58, 1, 19, 0, 0, 1, 0, 0, 1.00, 0.00, 0, 0, 1.0000, 0, NULL, '2025-06-15 10:13:53', '2025-06-15 10:13:53'),
(96, 59, 1, 19, 0, 0, 1, 0, 0, 1.00, 0.00, 0, 0, 1.0000, 0, NULL, '2025-06-15 10:27:40', '2025-06-15 10:27:40'),
(97, 60, 1, 19, 0, 0, 1, 0, 0, 1.00, 0.00, 0, 0, 1.0000, 0, NULL, '2025-06-15 10:27:46', '2025-06-15 10:27:46'),
(98, 61, 1, 19, 0, 0, 1, 0, 0, 1.00, 0.00, 0, 0, 1.0000, 0, NULL, '2025-06-15 10:29:12', '2025-06-15 10:29:12'),
(99, 62, 1, 19, 0, 0, 1, 0, 0, 1.00, 0.00, 0, 0, 1.0000, 0, NULL, '2025-06-15 10:29:31', '2025-06-15 10:29:31'),
(100, 63, 1, 19, 0, 0, 1, 0, 0, 1.00, 0.00, 0, 0, 1.0000, 0, NULL, '2025-06-15 10:29:36', '2025-06-15 10:29:36'),
(101, 64, 1, 1, 0, 0, 100, 0, 0, 1.00, 0.00, 1, 0, 1.0000, 0, NULL, '2025-06-17 16:34:21', '2025-06-17 16:34:31'),
(102, 7, 1, 19, 0, 0, 100, 0, 0, 1.00, 0.00, 1, 0, 1.0000, 0, NULL, '2025-06-17 20:33:43', '2025-06-17 20:34:11'),
(103, 7, 1, 22, 0, 0, 100, 0, 0, 1.00, 0.00, 1, 0, 1.0000, 0, NULL, '2025-06-17 20:34:09', '2025-06-17 20:35:12'),
(104, 7, 1, 23, 0, 0, 100, 0, 0, 1.00, 0.00, 1, 0, 1.0000, 0, NULL, '2025-06-17 20:34:15', '2025-06-17 20:35:24'),
(105, 7, 1, 24, 0, 0, 100, 0, 0, 1.00, 0.00, 1, 0, 1.0000, 0, NULL, '2025-06-17 20:34:19', '2025-06-17 20:35:35'),
(106, 7, 1, 21, 0, 0, 100, 0, 0, 1.00, 0.00, 1, 0, 1.0000, 0, NULL, '2025-06-17 20:34:21', '2025-06-17 20:35:43'),
(107, 7, 1, 33, 0, 0, 10000, 0, 0, 1.00, 0.00, 1, 0, 1.0000, 0, NULL, '2025-06-17 20:34:23', '2025-06-18 10:15:49'),
(108, 7, 1, 34, 0, 0, 10000, 0, 0, 1.00, 0.00, 1, 0, 1.0000, 0, NULL, '2025-06-17 20:34:32', '2025-06-18 10:16:11'),
(109, 7, 1, 35, 0, 0, 10000, 0, 0, 1.00, 0.00, 1, 0, 1.0000, 0, NULL, '2025-06-17 20:34:34', '2025-06-18 10:16:26'),
(111, 7, 1, 3, 0, 0, 1000, 0, 0, 1.00, 0.00, 1, 0, 1.0000, 0, NULL, '2025-06-19 09:37:58', '2025-06-19 09:37:58'),
(112, 7, 1, 3, 0, 0, 100, 0, 0, 1.00, 0.00, 0, 0, 1.0000, 0, NULL, '2025-06-19 09:38:07', '2025-06-19 09:38:07'),
(113, 66, 1, 1, 0, 0, 1, 1, 1, 1.00, 0.00, 1, 0, 1.0000, 0, NULL, '2025-06-20 13:56:54', '2025-06-20 13:58:40');

-- ==========================================
-- 表: kku_game_tags
-- 模型: App\Module\Game\Models\GameTag
-- ==========================================

DROP TABLE IF EXISTS `kku_game_tags`;
CREATE TABLE `kku_game_tags` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '标签名称',
  `code` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '标签编码（唯一）',
  `color` varchar(7) COLLATE utf8mb4_unicode_ci DEFAULT '#007bff' COMMENT '标签颜色（十六进制）',
  `description` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '标签描述',
  `sort_order` int NOT NULL DEFAULT '0' COMMENT '排序权重',
  `is_active` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否激活（0:否, 1:是）',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `idx_code` (`code`),
  KEY `idx_name` (`name`),
  KEY `idx_sort_order` (`sort_order`),
  KEY `idx_is_active` (`is_active`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='游戏标签表';

-- 数据插入
INSERT INTO `kku_game_tags` (`id`, `name`, `code`, `color`, `description`, `sort_order`, `is_active`, `created_at`, `updated_at`) VALUES
(1, '新手', 'newbie', '#28a745', '适合新手的配置', 1, 0, '2025-06-01 11:19:45', '2025-06-03 17:13:05'),
(2, '高级', 'advanced', '#dc3545', '高级玩家配置', 2, 1, '2025-06-01 11:19:45', '2025-06-01 11:19:45'),
(3, '活动', 'event', '#ffc107', '活动相关配置', 3, 1, '2025-06-01 11:19:45', '2025-06-01 11:19:45'),
(4, '日常', 'daily', '#17a2b8', '日常任务配置', 4, 1, '2025-06-01 11:19:45', '2025-06-01 11:19:45'),
(5, '特殊', 'special', '#6f42c1', '特殊功能配置', 5, 1, '2025-06-01 11:19:45', '2025-06-01 11:19:45'),
(6, '测试', 'test', '#6c757d', '测试用配置', 6, 1, '2025-06-01 11:19:45', '2025-06-01 11:19:45'),
(7, '商店', 'shop', '#007BFF', NULL, 0, 1, '2025-06-03 17:21:36', '2025-06-03 17:21:36'),
(8, '宝箱', 'box', '#C800FF', NULL, 0, 1, '2025-06-03 17:43:05', '2025-06-03 17:43:05');

-- ==========================================
-- 表: kku_game_tag_relations
-- 模型: App\Module\Game\Models\GameTagRelation
-- ==========================================

DROP TABLE IF EXISTS `kku_game_tag_relations`;
CREATE TABLE `kku_game_tag_relations` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
  `tag_id` bigint unsigned NOT NULL COMMENT '标签ID，外键关联game_tags表',
  `taggable_type` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '关联模型类型（如：reward_group, consume_group, condition_group）',
  `taggable_id` bigint unsigned NOT NULL COMMENT '关联模型ID',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `idx_tag_taggable` (`tag_id`,`taggable_type`,`taggable_id`),
  KEY `idx_taggable` (`taggable_type`,`taggable_id`),
  KEY `idx_tag_id` (`tag_id`),
  CONSTRAINT `fk_game_tag_relations_tag_id` FOREIGN KEY (`tag_id`) REFERENCES `kku_game_tags` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='游戏标签关联表';

-- 数据插入
INSERT INTO `kku_game_tag_relations` (`id`, `tag_id`, `taggable_type`, `taggable_id`, `created_at`, `updated_at`) VALUES
(1, 8, 'App\\Module\\Game\\Models\\GameConsumeGroup', 31, '2025-06-04 17:09:15', '2025-06-04 17:09:15'),
(2, 8, 'App\\Module\\Game\\Models\\GameConsumeGroup', 37, '2025-06-06 11:20:33', '2025-06-06 11:20:33'),
(3, 8, 'App\\Module\\Game\\Models\\GameConsumeGroup', 38, '2025-06-06 16:00:29', '2025-06-06 16:00:29'),
(4, 7, 'App\\Module\\Game\\Models\\GameRewardGroup', 35, '2025-06-06 16:47:06', '2025-06-06 16:47:06'),
(5, 8, 'App\\Module\\Game\\Models\\GameRewardGroup', 36, '2025-06-06 17:17:01', '2025-06-06 17:17:01'),
(6, 8, 'App\\Module\\Game\\Models\\GameRewardGroup', 37, '2025-06-06 17:17:11', '2025-06-06 17:17:11'),
(7, 8, 'App\\Module\\Game\\Models\\GameRewardGroup', 15, '2025-06-06 17:17:47', '2025-06-06 17:17:47'),
(8, 8, 'App\\Module\\Game\\Models\\GameRewardGroup', 16, '2025-06-06 17:17:54', '2025-06-06 17:17:54'),
(9, 8, 'App\\Module\\Game\\Models\\GameRewardGroup', 17, '2025-06-06 17:17:59', '2025-06-06 17:17:59'),
(10, 8, 'App\\Module\\Game\\Models\\GameRewardGroup', 18, '2025-06-06 17:18:03', '2025-06-06 17:18:03'),
(11, 8, 'App\\Module\\Game\\Models\\GameRewardGroup', 30, '2025-06-06 17:18:07', '2025-06-06 17:18:07'),
(12, 8, 'App\\Module\\Game\\Models\\GameRewardGroup', 31, '2025-06-06 17:18:11', '2025-06-06 17:18:11'),
(13, 8, 'App\\Module\\Game\\Models\\GameRewardGroup', 32, '2025-06-06 17:18:15', '2025-06-06 17:18:15'),
(14, 8, 'App\\Module\\Game\\Models\\GameRewardGroup', 33, '2025-06-06 17:18:22', '2025-06-06 17:18:22'),
(15, 8, 'App\\Module\\Game\\Models\\GameRewardGroup', 34, '2025-06-06 17:18:27', '2025-06-06 17:18:27'),
(16, 3, 'App\\Module\\Game\\Models\\GameRewardGroup', 37, '2025-06-06 17:39:49', '2025-06-06 17:39:49');

-- ==========================================
-- 表: kku_farm_configs
-- 模型: App\Module\Farm\Models\FarmConfig
-- ==========================================

DROP TABLE IF EXISTS `kku_farm_configs`;
CREATE TABLE `kku_farm_configs` (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `config_key` varchar(100) NOT NULL COMMENT '配置键',
  `config_name` varchar(200) NOT NULL COMMENT '配置名称',
  `config_value` text COMMENT '配置值',
  `config_type` varchar(50) NOT NULL DEFAULT 'string' COMMENT '配置类型：string,integer,float,boolean,json',
  `description` text COMMENT '配置描述',
  `default_value` text COMMENT '默认值',
  `is_active` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否启用：0否，1是',
  `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_config_key` (`config_key`),
  KEY `idx_is_active` (`is_active`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='农场配置表';

-- 数据插入
INSERT INTO `kku_farm_configs` (`id`, `config_key`, `config_name`, `config_value`, `config_type`, `description`, `default_value`, `is_active`, `created_at`, `updated_at`) VALUES
(1, 'farm_init_reward_group_id', '农场初始化奖励组ID', 64, 'integer', '用户首次创建农场时发放的奖励组ID，0表示不发放奖励', 0, 1, '2025-06-16 17:39:01', '2025-06-22 13:12:42');

-- ==========================================
-- 表: kku_farm_shrine_configs
-- 模型: App\Module\Farm\Models\FarmShrineConfig
-- ==========================================

DROP TABLE IF EXISTS `kku_farm_shrine_configs`;
CREATE TABLE `kku_farm_shrine_configs` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `buff_type` tinyint unsigned NOT NULL COMMENT '神像类型:1丰收之神,2雨露之神,3屠草之神,4拭虫之神',
  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '神像名称',
  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '神像描述',
  `duration_hours` int unsigned NOT NULL DEFAULT '24' COMMENT '默认持续时间(小时)',
  `item_id` bigint unsigned NOT NULL COMMENT '对应物品ID',
  `display_attributes` json DEFAULT NULL COMMENT '显示属性',
  `numeric_attributes` json DEFAULT NULL COMMENT '数值 属性',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `idx_buff_type` (`buff_type`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='神像配置表';

-- 数据插入
INSERT INTO `kku_farm_shrine_configs` (`id`, `buff_type`, `name`, `description`, `duration_hours`, `item_id`, `display_attributes`, `numeric_attributes`, `created_at`, `updated_at`) VALUES
(1, 1, '丰收之神', '确保收获时获得最高产量', 24, 3001, '{\"icon\": \"icon/item/7_20_png\", \"badge\": null, \"color\": \"#FFD700\", \"animation\": null, \"background\": null, \"description\": \"激活后，收获作物时将获得最高产量\"}', '{\"effect_bonus\": \"0\", \"cost_reduction\": \"0\", \"duration_bonus\": 0, \"extra_effect_id\": 0, \"cooldown_reduction\": \"0\"}', '2025-05-18 13:50:09', '2025-06-01 17:09:08'),
(2, 2, '雨露之神', '防止干旱灾害', 24, 3002, '{\"icon\": \"icon/item/7_19_png\", \"badge\": null, \"color\": \"#4169E1\", \"animation\": null, \"background\": null, \"description\": \"激活后，土地将不会受到干旱灾害的影响\"}', '{\"effect_bonus\": \"0\", \"cost_reduction\": \"0\", \"duration_bonus\": 0, \"extra_effect_id\": 0, \"cooldown_reduction\": \"0\"}', '2025-05-18 13:50:09', '2025-06-01 17:09:40'),
(3, 3, '屠草之神', '防止杂草灾害', 24, 3003, '{\"icon\": \"icon/item/7_17_png\", \"badge\": null, \"color\": \"#32CD32\", \"animation\": null, \"background\": null, \"description\": \"激活后，土地将不会受到杂草灾害的影响\"}', '{\"effect_bonus\": \"0\", \"cost_reduction\": \"0\", \"duration_bonus\": 0, \"extra_effect_id\": 0, \"cooldown_reduction\": \"0\"}', '2025-05-18 13:50:09', '2025-06-01 17:10:07'),
(4, 4, '拭虫之神', '防止虫害灾害', 24, 3004, '{\"icon\": \"icon/item/7_18_png\", \"badge\": null, \"color\": \"#FF6347\", \"animation\": null, \"background\": null, \"description\": \"激活后，土地将不会受到虫害灾害的影响\"}', '{\"effect_bonus\": \"0\", \"cost_reduction\": \"0\", \"duration_bonus\": 0, \"extra_effect_id\": 0, \"cooldown_reduction\": \"0\"}', '2025-05-18 13:50:09', '2025-06-01 17:10:31');

-- ==========================================
-- 表: kku_farm_house_configs
-- 模型: App\Module\Farm\Models\FarmHouseConfig
-- ==========================================

DROP TABLE IF EXISTS `kku_farm_house_configs`;
CREATE TABLE `kku_farm_house_configs` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `level` tinyint unsigned NOT NULL COMMENT '等级',
  `output_bonus` decimal(5,2) NOT NULL DEFAULT '0.00' COMMENT '产出加成',
  `special_land_limit` tinyint unsigned NOT NULL DEFAULT '0' COMMENT '特殊土地上限',
  `upgrade_materials` int unsigned DEFAULT NULL COMMENT '升级所需消耗组ID，关联game_consume_groups表',
  `available_lands` int unsigned DEFAULT '1' COMMENT '该等级可用的土地数量',
  `downgrade_days` int unsigned DEFAULT NULL COMMENT '降级天数,NULL表示不降级',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `idx_level` (`level`) USING BTREE,
  KEY `idx_upgrade_materials` (`upgrade_materials`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='房屋等级配置表';

-- 数据插入
INSERT INTO `kku_farm_house_configs` (`id`, `level`, `output_bonus`, `special_land_limit`, `upgrade_materials`, `available_lands`, `downgrade_days`, `created_at`, `updated_at`) VALUES
(13, 1, 0.00, 0, 0, 1, 999, '2025-05-12 07:30:41', '2025-06-21 14:16:58'),
(14, 2, 0.00, 0, 2, 2, 999, '2025-05-12 07:30:42', '2025-06-21 14:17:14'),
(15, 3, 0.00, 0, 48, 3, 999, '2025-05-12 07:30:42', '2025-06-21 14:17:44'),
(16, 4, 0.00, 0, 49, 4, 999, '2025-05-12 07:30:42', '2025-06-21 14:18:18'),
(17, 5, 0.00, 0, 50, 5, 999, '2025-05-12 07:30:42', '2025-06-21 14:18:56'),
(18, 6, 0.00, 2, 51, 6, 999, '2025-05-12 07:30:42', '2025-06-21 14:27:15'),
(19, 7, 0.00, 4, 52, 7, 999, '2025-05-12 07:30:42', '2025-06-21 14:27:07'),
(20, 8, 0.00, 6, 53, 8, 999, '2025-05-12 07:30:43', '2025-06-21 14:26:55'),
(21, 9, 0.00, 8, 54, 9, 999, '2025-05-12 07:30:43', '2025-06-21 14:26:42'),
(22, 10, 0.00, 10, 55, 10, 999, '2025-05-12 07:30:43', '2025-06-21 14:26:32'),
(23, 11, 0.00, 11, 56, 11, 999, '2025-05-12 07:30:43', '2025-06-21 14:26:20'),
(24, 12, 0.00, 12, 57, 12, 999, '2025-05-12 07:30:43', '2025-06-21 14:26:06');

-- ==========================================
-- 表: kku_farm_fruit_growth_cycles
-- 模型: App\Module\Farm\Models\FarmFruitGrowthCycle
-- ==========================================

DROP TABLE IF EXISTS `kku_farm_fruit_growth_cycles`;
CREATE TABLE `kku_farm_fruit_growth_cycles` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `fruit_item_id` bigint unsigned NOT NULL COMMENT '果实物品ID',
  `sprout_time` int unsigned NOT NULL COMMENT '发芽期时间(秒)',
  `growth_time` int unsigned NOT NULL COMMENT '成长期时间(秒)',
  `mature_time` int unsigned NOT NULL DEFAULT '0' COMMENT '成熟期时间(秒，0表示无限)',
  `wither_time` int unsigned NOT NULL DEFAULT '0' COMMENT '枯萎期时间(秒，0表示无限)',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `idx_fruit_item_id` (`fruit_item_id`) USING BTREE,
  KEY `idx_sprout_time` (`sprout_time`) USING BTREE,
  KEY `idx_growth_time` (`growth_time`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='果实生长周期配置表';

-- 数据插入
INSERT INTO `kku_farm_fruit_growth_cycles` (`id`, `fruit_item_id`, `sprout_time`, `growth_time`, `mature_time`, `wither_time`, `created_at`, `updated_at`) VALUES
(1, 2, 10800, 10800, 10800, 0, '2025-05-29 11:32:56', '2025-06-20 16:40:17'),
(2, 3, 10800, 10800, 10800, 0, '2025-05-29 11:32:56', '2025-06-20 16:40:31'),
(3, 4, 14400, 14400, 14400, 0, '2025-05-29 11:32:56', '2025-06-21 14:41:45'),
(4, 5, 14400, 14400, 14400, 0, '2025-05-29 11:32:56', '2025-06-21 14:42:09'),
(5, 6, 18000, 18000, 18000, 0, '2025-05-29 11:32:56', '2025-06-21 14:42:59'),
(6, 7, 18000, 18000, 18000, 0, '2025-05-29 11:32:56', '2025-06-21 14:43:14'),
(7, 8, 18000, 25000, 0, 0, '2025-05-29 11:32:56', '2025-05-29 11:32:56'),
(8, 9, 18000, 25000, 0, 0, '2025-05-29 11:32:56', '2025-05-29 11:32:56'),
(9, 10, 18000, 25000, 0, 0, '2025-05-29 11:32:56', '2025-05-29 11:32:56'),
(10, 11, 21600, 21600, 21600, 0, '2025-05-29 11:32:56', '2025-06-20 16:42:04');

-- ==========================================
-- 表: kku_farm_land_types
-- 模型: App\Module\Farm\Models\FarmLandType
-- ==========================================

DROP TABLE IF EXISTS `kku_farm_land_types`;
CREATE TABLE `kku_farm_land_types` (
  `id` tinyint unsigned NOT NULL AUTO_INCREMENT COMMENT '土地类型ID',
  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '土地类型名称',
  `code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '土地类型编码',
  `output_bonus` decimal(5,2) NOT NULL DEFAULT '0.00' COMMENT '产量加成',
  `disaster_resistance` decimal(5,2) NOT NULL DEFAULT '0.00' COMMENT '灾害抵抗',
  `unlock_house_level` tinyint unsigned NOT NULL DEFAULT '1' COMMENT '解锁所需房屋等级',
  `display_attributes` json DEFAULT NULL COMMENT '显示属性配置',
  `is_special` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否为特殊土地',
  `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '描述',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `idx_code` (`code`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='土地类型配置表';

-- 数据插入
INSERT INTO `kku_farm_land_types` (`id`, `name`, `code`, `output_bonus`, `disaster_resistance`, `unlock_house_level`, `display_attributes`, `is_special`, `description`, `created_at`, `updated_at`) VALUES
(1, '普通土地', 1, 0.00, 0.00, 0, '{\"icon\": \"icon/land/land1\", \"badge\": null, \"color\": null, \"animation\": null, \"background\": null}', 0, '普通土地', '2025-05-15 18:26:02', '2025-06-20 14:35:55'),
(2, '红土地', 2, 0.00, 0.00, 0, '{\"icon\": \"icon/item/8_2_png\", \"badge\": null, \"color\": null, \"animation\": null, \"background\": null}', 0, '红土地', '2025-05-15 18:26:16', '2025-06-20 14:36:01'),
(3, '黑土地', 3, 0.00, 0.00, 0, '{\"icon\": \"icon/item/8_3_png\", \"badge\": null, \"color\": null, \"animation\": null, \"background\": null}', 0, '黑土地', '2025-05-15 18:26:27', '2025-06-20 14:36:04'),
(4, '金土地', 4, 0.00, 0.00, 7, '{\"icon\": \"icon/item/8_4_png\", \"badge\": null, \"color\": null, \"animation\": null, \"background\": null}', 1, '金土地', '2025-05-15 18:26:54', '2025-06-20 14:36:09');

-- ==========================================
-- 表: kku_farm_land_upgrade_configs
-- 模型: App\Module\Farm\Models\FarmLandUpgradeConfig
-- ==========================================

DROP TABLE IF EXISTS `kku_farm_land_upgrade_configs`;
CREATE TABLE `kku_farm_land_upgrade_configs` (
  `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `from_type_id` int unsigned NOT NULL COMMENT '起始土地类型ID',
  `to_type_id` int unsigned NOT NULL COMMENT '目标土地类型ID',
  `materials` int unsigned DEFAULT NULL COMMENT '消耗组ID，关联game_consume_groups表',
  `conditions` int unsigned DEFAULT NULL COMMENT '条件组ID，关联game_condition_groups表',
  `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`),
  KEY `idx_from_to_type` (`from_type_id`,`to_type_id`),
  KEY `idx_materials_group_id` (`materials`),
  KEY `idx_conditions_group_id` (`conditions`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='土地升级配置';

-- 数据插入
INSERT INTO `kku_farm_land_upgrade_configs` (`id`, `from_type_id`, `to_type_id`, `materials`, `conditions`, `created_at`, `updated_at`) VALUES
(1, 1, 2, 43, 1, '2025-05-20 14:25:02', '2025-06-20 14:12:12'),
(2, 2, 3, 44, 1, '2025-05-20 14:25:02', '2025-06-20 14:12:40'),
(3, 3, 4, 45, 1, '2025-05-20 14:25:02', '2025-06-20 14:12:28');

-- ==========================================
-- 表: kku_farm_mystery_seed_land_effects
-- 模型: App\Module\Farm\Models\FarmMysterySeeLandEffect
-- ==========================================

DROP TABLE IF EXISTS `kku_farm_mystery_seed_land_effects`;
CREATE TABLE `kku_farm_mystery_seed_land_effects` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `seed_id` bigint unsigned NOT NULL COMMENT '种子ID（神秘种子）',
  `land_type_id` tinyint unsigned NOT NULL COMMENT '土地类型ID',
  `output_item_id` bigint unsigned NOT NULL COMMENT '产出物品ID',
  `probability_modifier` decimal(7,4) NOT NULL DEFAULT '0.0000' COMMENT '概率修正值（百分比，可为负数）',
  `probability_override` decimal(7,4) DEFAULT NULL COMMENT '概率覆盖值（百分比，覆盖种子的物品原产出概率，优先级高于修正值）',
  `is_active` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否启用',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `unique_seed_land_output` (`seed_id`,`land_type_id`,`output_item_id`),
  KEY `idx_seed_id` (`seed_id`),
  KEY `idx_land_type_id` (`land_type_id`),
  KEY `idx_output_item_id` (`output_item_id`),
  CONSTRAINT `farm_mystery_seed_land_effects_land_type_id_foreign` FOREIGN KEY (`land_type_id`) REFERENCES `kku_farm_land_types` (`id`) ON DELETE CASCADE,
  CONSTRAINT `farm_mystery_seed_land_effects_seed_id_foreign` FOREIGN KEY (`seed_id`) REFERENCES `kku_farm_seeds` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='神秘种子土地影响配置表';

-- 数据插入
INSERT INTO `kku_farm_mystery_seed_land_effects` (`id`, `seed_id`, `land_type_id`, `output_item_id`, `probability_modifier`, `probability_override`, `is_active`, `created_at`, `updated_at`) VALUES
(19, 1, 1, 2, 0.0000, 50.0000, 1, '2025-05-27 18:54:50', '2025-06-19 12:21:33'),
(20, 1, 1, 3, 0.0000, 50.0000, 1, '2025-05-27 18:54:50', '2025-06-19 12:21:40'),
(21, 1, 1, 4, 0.0000, 0.0000, 1, '2025-05-27 18:54:50', '2025-06-19 12:21:46'),
(22, 1, 1, 5, 0.0000, 0.0000, 1, '2025-05-27 18:54:50', '2025-06-19 12:22:01'),
(23, 1, 1, 6, 0.0000, 0.0000, 1, '2025-05-27 18:54:50', '2025-06-19 12:22:04'),
(24, 1, 1, 7, 0.0000, 0.0000, 1, '2025-05-27 18:54:50', '2025-06-19 12:22:07'),
(25, 1, 1, 8, 0.0000, 0.0000, 1, '2025-05-27 18:54:50', '2025-06-19 12:22:20'),
(26, 1, 1, 9, 0.0000, 0.0000, 1, '2025-05-27 18:54:50', '2025-06-19 12:31:04'),
(27, 1, 1, 10, 0.0000, 0.0000, 1, '2025-05-27 18:54:50', '2025-06-19 12:31:10'),
(28, 1, 1, 11, 0.0000, 0.0000, 1, '2025-05-27 18:54:50', '2025-06-19 12:22:12'),
(29, 1, 2, 2, 0.0000, 47.0000, 1, '2025-05-27 18:55:03', '2025-06-20 14:08:48'),
(30, 1, 2, 3, 0.0000, 47.0000, 1, '2025-05-27 18:55:03', '2025-06-20 14:08:41'),
(31, 1, 2, 4, 0.0000, 3.0000, 1, '2025-05-27 18:55:03', '2025-06-20 14:08:34'),
(32, 1, 2, 5, 0.0000, 3.0000, 1, '2025-05-27 18:55:03', '2025-06-20 14:08:23'),
(33, 1, 2, 6, 0.0000, 0.0000, 1, '2025-05-27 18:55:03', '2025-06-20 14:08:07'),
(34, 1, 2, 7, 0.0000, 0.0000, 1, '2025-05-27 18:55:03', '2025-06-20 14:07:54'),
(35, 1, 2, 8, 0.0000, 0.0000, 1, '2025-05-27 18:55:03', '2025-06-20 14:07:40'),
(36, 1, 2, 9, 0.0000, 0.0000, 1, '2025-05-27 18:55:03', '2025-06-20 14:07:33'),
(37, 1, 2, 10, 0.0000, 0.0000, 1, '2025-05-27 18:55:03', '2025-06-20 14:07:18'),
(38, 1, 2, 11, 0.0000, 0.0000, 1, '2025-05-27 18:55:03', '2025-06-20 14:07:01'),
(39, 1, 3, 2, 0.0000, 8.0000, 1, '2025-05-27 18:55:13', '2025-06-20 14:09:51'),
(40, 1, 3, 3, 0.0000, 8.0000, 1, '2025-05-27 18:55:13', '2025-06-20 14:10:01'),
(41, 1, 3, 4, 0.0000, 40.0000, 1, '2025-05-27 18:55:13', '2025-06-20 14:10:16'),
(42, 1, 3, 5, 0.0000, 40.0000, 1, '2025-05-27 18:55:13', '2025-06-20 14:10:22'),
(43, 1, 3, 6, 0.0000, 2.0000, 1, '2025-05-27 18:55:13', '2025-06-20 14:10:35'),
(44, 1, 3, 7, 0.0000, 2.0000, 1, '2025-05-27 18:55:13', '2025-06-20 14:10:40'),
(45, 1, 3, 8, 0.0000, 0.0000, 1, '2025-05-27 18:55:13', '2025-06-20 14:10:45'),
(46, 1, 3, 9, 0.0000, 0.0000, 1, '2025-05-27 18:55:13', '2025-06-20 14:10:54'),
(47, 1, 3, 10, 0.0000, 0.0000, 1, '2025-05-27 18:55:13', '2025-06-20 14:11:20'),
(48, 1, 3, 11, 0.0000, 0.0000, 1, '2025-05-27 18:55:13', '2025-06-20 14:11:09'),
(49, 1, 4, 2, 0.0000, 0.0000, 1, '2025-05-27 18:55:26', '2025-06-21 14:04:04'),
(50, 1, 4, 3, 0.0000, 0.0000, 1, '2025-05-27 18:55:26', '2025-06-21 14:04:20'),
(51, 1, 4, 4, 0.0000, 40.0000, 1, '2025-05-27 18:55:26', '2025-06-21 14:04:31'),
(52, 1, 4, 5, 0.0000, 40.0000, 1, '2025-05-27 18:55:26', '2025-06-21 14:04:39'),
(53, 1, 4, 6, 0.0000, 10.0000, 1, '2025-05-27 18:55:26', '2025-05-27 18:55:26'),
(54, 1, 4, 7, 0.0000, 10.0000, 1, '2025-05-27 18:55:26', '2025-06-21 14:04:57'),
(55, 1, 4, 8, 0.0000, 0.0000, 1, '2025-05-27 18:55:26', '2025-06-21 14:05:12'),
(56, 1, 4, 9, 0.0000, 0.0000, 1, '2025-05-27 18:55:26', '2025-06-21 14:05:22'),
(57, 1, 4, 10, 0.0000, 0.0000, 1, '2025-05-27 18:55:26', '2025-06-21 14:05:31'),
(58, 1, 4, 11, 0.0000, 0.0000, 1, '2025-05-27 18:55:26', '2025-06-21 14:05:40');

-- ==========================================
-- 表: kku_farm_seeds
-- 模型: App\Module\Farm\Models\FarmSeed
-- ==========================================

DROP TABLE IF EXISTS `kku_farm_seeds`;
CREATE TABLE `kku_farm_seeds` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '种子名称',
  `type` tinyint unsigned NOT NULL DEFAULT '1' COMMENT '种子类型:1普通,2神秘,3巨化',
  `seed_time` int unsigned NOT NULL COMMENT '种子期时间(秒)',
  `sprout_time` int unsigned NOT NULL DEFAULT '18000' COMMENT '发芽期时间(秒)',
  `growth_time` int unsigned NOT NULL DEFAULT '25000' COMMENT '成长期时间(秒)',
  `mature_time` int unsigned NOT NULL DEFAULT '0' COMMENT '成熟期时间(秒，0表示无限)',
  `wither_time` int unsigned NOT NULL DEFAULT '0' COMMENT '枯萎期时间(秒，0表示无限)',
  `min_output` int unsigned NOT NULL COMMENT '最小产出',
  `max_output` int unsigned NOT NULL COMMENT '最大产出',
  `disaster_min_output` int unsigned NOT NULL DEFAULT '500' COMMENT '有灾害时最小产出',
  `disaster_max_output` int unsigned NOT NULL DEFAULT '2000' COMMENT '有灾害时最大产出',
  `item_id` bigint unsigned NOT NULL COMMENT '对应的物品ID',
  `disaster_resistance` json DEFAULT NULL COMMENT '灾害抵抗',
  `display_attributes` json DEFAULT NULL COMMENT '显示属性',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE,
  KEY `idx_type` (`type`) USING BTREE,
  KEY `idx_item_id` (`item_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='种子配置表';

-- 数据插入
INSERT INTO `kku_farm_seeds` (`id`, `name`, `type`, `seed_time`, `sprout_time`, `growth_time`, `mature_time`, `wither_time`, `min_output`, `max_output`, `disaster_min_output`, `disaster_max_output`, `item_id`, `disaster_resistance`, `display_attributes`, `created_at`, `updated_at`) VALUES
(1, '神秘种子', 2, 10800, 18000, 25000, 0, 0, 200, 300, 100, 200, 1, '{\"pest\": \"1\", \"weed\": \"1\", \"drought\": \"1\"}', '{\"icon\": \"1\", \"badge\": \"1\", \"color\": \"1\", \"animation\": \"1\", \"background\": \"1\", \"description\": \"1\"}', '2025-05-12 03:31:59', '2025-06-21 13:54:26'),
(2, '草莓种子', 3, 1800, 18000, 25000, 0, 0, 200, 300, 100, 200, 12, '{\"pest\": 1, \"weed\": 1, \"drought\": 1}', '{\"icon\": 1, \"badge\": 1, \"color\": 1, \"animation\": 1, \"background\": 1, \"description\": 1}', '2025-05-12 06:12:45', '2025-06-20 12:51:11'),
(3, '南⽠种⼦', 3, 1800, 18000, 25000, 0, 0, 200, 300, 100, 200, 13, '{\"pest\": 1, \"weed\": 1, \"drought\": 1}', '{\"icon\": 1, \"badge\": 1, \"color\": 1, \"animation\": 1, \"background\": 1, \"description\": 1}', '2025-05-12 06:23:03', '2025-06-20 12:51:12'),
(4, '核桃种⼦', 3, 1800, 18000, 25000, 0, 0, 200, 300, 100, 200, 14, '{\"pest\": 1, \"weed\": 1, \"drought\": 1}', '{\"icon\": 1, \"badge\": 1, \"color\": 1, \"animation\": 1, \"background\": 1, \"description\": 1}', '2025-05-12 06:43:23', '2025-06-20 12:51:12'),
(5, '可可种⼦', 3, 1800, 18000, 25000, 0, 0, 200, 300, 100, 200, 15, '{\"pest\": 1, \"weed\": 1, \"drought\": 1}', '{\"icon\": 1, \"badge\": 1, \"color\": 1, \"animation\": 1, \"background\": 1, \"description\": 1}', '2025-05-12 06:44:47', '2025-06-20 12:51:12'),
(6, '⼈参种⼦', 3, 1800, 18000, 25000, 0, 0, 200, 300, 100, 200, 16, '{\"pest\": 1, \"weed\": 1, \"drought\": 1}', '{\"icon\": 1, \"badge\": 1, \"color\": 1, \"animation\": 1, \"background\": 1, \"description\": 1}', '2025-05-12 06:45:19', '2025-06-20 12:51:12'),
(7, '玫瑰种⼦', 3, 1800, 18000, 25000, 0, 0, 200, 300, 100, 200, 17, '{\"pest\": 1, \"weed\": 1, \"drought\": 1}', '{\"icon\": 1, \"badge\": 1, \"color\": 1, \"animation\": 1, \"background\": 1, \"description\": 1}', '2025-05-12 06:45:24', '2025-06-20 12:51:12');

-- ==========================================
-- 表: kku_farm_seed_outputs
-- 模型: App\Module\Farm\Models\FarmSeedOutput
-- ==========================================

DROP TABLE IF EXISTS `kku_farm_seed_outputs`;
CREATE TABLE `kku_farm_seed_outputs` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `seed_id` bigint unsigned NOT NULL COMMENT '种子ID',
  `item_id` bigint unsigned NOT NULL COMMENT '产出物品ID',
  `min_amount` int unsigned NOT NULL COMMENT '最小产出数量',
  `max_amount` int unsigned NOT NULL COMMENT '最大产出数量',
  `disaster_min_amount` int unsigned NOT NULL DEFAULT '500' COMMENT '有灾害时最小产出数量',
  `disaster_max_amount` int unsigned NOT NULL DEFAULT '2000' COMMENT '有灾害时最大产出数量',
  `probability` decimal(7,4) NOT NULL COMMENT '产出概率(0-1)',
  `is_default` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否为默认产出',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE,
  KEY `idx_seed_id` (`seed_id`) USING BTREE,
  KEY `idx_item_id` (`item_id`) USING BTREE,
  KEY `idx_probability` (`probability`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='种子产出配置表';

-- 数据插入
INSERT INTO `kku_farm_seed_outputs` (`id`, `seed_id`, `item_id`, `min_amount`, `max_amount`, `disaster_min_amount`, `disaster_max_amount`, `probability`, `is_default`, `created_at`, `updated_at`) VALUES
(4, 2, 6, 200, 300, 100, 200, 100.0000, 1, '2025-05-12 05:55:10', '2025-06-20 13:29:48'),
(5, 3, 7, 200, 300, 100, 200, 100.0000, 1, '2025-05-12 06:55:14', '2025-06-20 13:29:51'),
(6, 4, 8, 200, 300, 100, 200, 10.0000, 1, '2025-05-12 06:55:20', '2025-06-20 13:29:51'),
(7, 5, 9, 200, 300, 100, 200, 10.0000, 1, '2025-05-12 06:55:26', '2025-06-20 13:29:51'),
(8, 6, 10, 200, 300, 100, 200, 10.0000, 1, '2025-05-12 06:55:29', '2025-06-20 13:29:51'),
(9, 7, 11, 200, 300, 100, 200, 10.0000, 1, '2025-05-12 06:55:31', '2025-06-20 13:29:51'),
(15, 1, 2, 200, 300, 100, 200, 10.0000, 0, '2025-05-27 18:54:11', '2025-06-20 13:29:51'),
(16, 1, 3, 200, 300, 100, 200, 10.0000, 0, '2025-05-27 18:54:11', '2025-06-20 14:43:41'),
(17, 1, 4, 200, 300, 100, 200, 10.0000, 0, '2025-05-27 18:54:11', '2025-06-20 13:29:51'),
(18, 1, 5, 200, 300, 100, 200, 10.0000, 0, '2025-05-27 18:54:11', '2025-06-20 13:29:51'),
(19, 1, 6, 200, 300, 100, 200, 10.0000, 0, '2025-05-27 18:54:11', '2025-06-20 13:29:51'),
(20, 1, 7, 200, 300, 100, 200, 10.0000, 0, '2025-05-27 18:54:11', '2025-06-20 13:29:52'),
(21, 1, 8, 200, 300, 100, 200, 10.0000, 0, '2025-05-27 18:54:11', '2025-06-20 13:29:52'),
(22, 1, 9, 200, 300, 100, 200, 10.0000, 0, '2025-05-27 18:54:11', '2025-06-20 13:29:52'),
(23, 1, 10, 200, 300, 100, 200, 10.0000, 0, '2025-05-27 18:54:11', '2025-06-20 13:29:52'),
(24, 1, 11, 200, 300, 100, 200, 10.0000, 0, '2025-05-27 18:54:11', '2025-06-20 13:29:52');

-- ==========================================
-- 表: kku_farm_shrine_configs
-- 模型: App\Module\Farm\Models\FarmShrineConfig
-- ==========================================

DROP TABLE IF EXISTS `kku_farm_shrine_configs`;
CREATE TABLE `kku_farm_shrine_configs` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `buff_type` tinyint unsigned NOT NULL COMMENT '神像类型:1丰收之神,2雨露之神,3屠草之神,4拭虫之神',
  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '神像名称',
  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '神像描述',
  `duration_hours` int unsigned NOT NULL DEFAULT '24' COMMENT '默认持续时间(小时)',
  `item_id` bigint unsigned NOT NULL COMMENT '对应物品ID',
  `display_attributes` json DEFAULT NULL COMMENT '显示属性',
  `numeric_attributes` json DEFAULT NULL COMMENT '数值 属性',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `idx_buff_type` (`buff_type`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='神像配置表';

-- 数据插入
INSERT INTO `kku_farm_shrine_configs` (`id`, `buff_type`, `name`, `description`, `duration_hours`, `item_id`, `display_attributes`, `numeric_attributes`, `created_at`, `updated_at`) VALUES
(1, 1, '丰收之神', '确保收获时获得最高产量', 24, 3001, '{\"icon\": \"icon/item/7_20_png\", \"badge\": null, \"color\": \"#FFD700\", \"animation\": null, \"background\": null, \"description\": \"激活后，收获作物时将获得最高产量\"}', '{\"effect_bonus\": \"0\", \"cost_reduction\": \"0\", \"duration_bonus\": 0, \"extra_effect_id\": 0, \"cooldown_reduction\": \"0\"}', '2025-05-18 13:50:09', '2025-06-01 17:09:08'),
(2, 2, '雨露之神', '防止干旱灾害', 24, 3002, '{\"icon\": \"icon/item/7_19_png\", \"badge\": null, \"color\": \"#4169E1\", \"animation\": null, \"background\": null, \"description\": \"激活后，土地将不会受到干旱灾害的影响\"}', '{\"effect_bonus\": \"0\", \"cost_reduction\": \"0\", \"duration_bonus\": 0, \"extra_effect_id\": 0, \"cooldown_reduction\": \"0\"}', '2025-05-18 13:50:09', '2025-06-01 17:09:40'),
(3, 3, '屠草之神', '防止杂草灾害', 24, 3003, '{\"icon\": \"icon/item/7_17_png\", \"badge\": null, \"color\": \"#32CD32\", \"animation\": null, \"background\": null, \"description\": \"激活后，土地将不会受到杂草灾害的影响\"}', '{\"effect_bonus\": \"0\", \"cost_reduction\": \"0\", \"duration_bonus\": 0, \"extra_effect_id\": 0, \"cooldown_reduction\": \"0\"}', '2025-05-18 13:50:09', '2025-06-01 17:10:07'),
(4, 4, '拭虫之神', '防止虫害灾害', 24, 3004, '{\"icon\": \"icon/item/7_18_png\", \"badge\": null, \"color\": \"#FF6347\", \"animation\": null, \"background\": null, \"description\": \"激活后，土地将不会受到虫害灾害的影响\"}', '{\"effect_bonus\": \"0\", \"cost_reduction\": \"0\", \"duration_bonus\": 0, \"extra_effect_id\": 0, \"cooldown_reduction\": \"0\"}', '2025-05-18 13:50:09', '2025-06-01 17:10:31');

-- ==========================================
-- 表: kku_mex_price_configs
-- 模型: App\Module\Mex\Models\MexPriceConfig
-- ==========================================

DROP TABLE IF EXISTS `kku_mex_price_configs`;
CREATE TABLE `kku_mex_price_configs` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '配置ID，主键',
  `item_id` int NOT NULL COMMENT '商品ID，关联物品表',
  `min_price` decimal(15,5) NOT NULL COMMENT '最低价（保底价）',
  `max_price` decimal(15,5) NOT NULL COMMENT '最高价（参考价）',
  `protection_threshold` int NOT NULL DEFAULT '300' COMMENT '数量保护阈值',
  `is_enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否启用：0禁用，1启用',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `uk_item_id` (`item_id`) USING BTREE,
  KEY `idx_is_enabled` (`is_enabled`) USING BTREE,
  KEY `idx_min_price` (`min_price`) USING BTREE,
  KEY `idx_max_price` (`max_price`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='农贸市场价格配置表';

-- 数据插入
INSERT INTO `kku_mex_price_configs` (`id`, `item_id`, `min_price`, `max_price`, `protection_threshold`, `is_enabled`, `created_at`, `updated_at`) VALUES
(1, 2, 0.02000, 0.09000, 1000, 1, '2025-06-12 16:58:14', '2025-06-22 13:17:08'),
(3, 3, 0.01000, 0.06000, 1000, 1, '2025-06-12 16:58:14', '2025-06-21 15:40:01'),
(4, 4, 0.10000, 0.60000, 300, 1, '2025-06-12 16:58:14', '2025-06-21 15:41:37'),
(5, 5, 0.10000, 0.60000, 300, 1, '2025-06-12 16:58:14', '2025-06-21 15:41:42'),
(6, 6, 1.00000, 6.00000, 300, 1, '2025-06-12 16:58:14', '2025-06-21 15:42:00'),
(7, 7, 1.00000, 6.00000, 300, 1, '2025-06-12 16:58:14', '2025-06-21 15:42:27');

-- ==========================================
-- 表: kku_pet_configs
-- 模型: App\Module\Pet\Models\PetConfig
-- ==========================================

DROP TABLE IF EXISTS `kku_pet_configs`;
CREATE TABLE `kku_pet_configs` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  `pet_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '宠物类型',
  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '宠物名字',
  `grade_probability` json NOT NULL COMMENT '品阶概率配置',
  `display_attributes` json DEFAULT NULL COMMENT '显示属性配置',
  `numeric_attributes` json DEFAULT NULL COMMENT '数值属性配置',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `idx_pet_type` (`pet_type`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='宠物 配置';

-- 数据插入
INSERT INTO `kku_pet_configs` (`id`, `pet_type`, `name`, `grade_probability`, `display_attributes`, `numeric_attributes`, `created_at`, `updated_at`) VALUES
(1, '松狮', '松狮', '{\"grade1\": 20, \"grade2\": 20, \"grade3\": 20, \"grade4\": 20, \"grade5\": 20}', NULL, '{\"stamina_recovery\": 0}', '2025-04-29 08:50:19', '2025-05-20 12:19:10');

-- ==========================================
-- 表: kku_pet_level_configs
-- 模型: App\Module\Pet\Models\PetLevelConfig
-- ==========================================

DROP TABLE IF EXISTS `kku_pet_level_configs`;
CREATE TABLE `kku_pet_level_configs` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  `pet_id` int unsigned NOT NULL COMMENT '宠物 ID',
  `level` tinyint unsigned NOT NULL COMMENT '等级',
  `exp_required` int unsigned NOT NULL COMMENT '升级所需经验值',
  `skills` json DEFAULT NULL COMMENT '可用技能',
  `display_attributes` json DEFAULT NULL COMMENT '等级显示属性配置',
  `numeric_attributes` json DEFAULT NULL COMMENT '等级数值属性配置',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `idx_level` (`level`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='宠物 等级配置';

-- 数据插入
INSERT INTO `kku_pet_level_configs` (`id`, `pet_id`, `level`, `exp_required`, `skills`, `display_attributes`, `numeric_attributes`, `created_at`, `updated_at`) VALUES
(1, 1, 1, 0, '[\"1\", \"2\"]', '{\"image\": null}', '{\"base_power\": \"100\", \"stamina_max\": \"100\", \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-06-05 10:21:44'),
(2, 1, 2, 100, '[\"1\", \"2\"]', '[]', '{\"stamina_max\": 100, \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-04-29 09:31:33'),
(3, 1, 3, 100, '[\"1\", \"2\"]', '[]', '{\"stamina_max\": 120, \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-06-06 18:33:54'),
(4, 1, 4, 100, '[\"1\", \"2\"]', '[]', '{\"stamina_max\": 130, \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-06-06 18:33:51'),
(5, 1, 5, 100, '[\"1\", \"2\"]', '[]', '{\"stamina_max\": 150, \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-06-06 18:33:48'),
(6, 1, 6, 100, '[\"1\", \"2\", \"3\"]', '[]', '{\"stamina_max\": 160, \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-06-06 18:33:45'),
(7, 1, 7, 100, '[\"1\", \"2\", \"3\"]', '[]', '{\"stamina_max\": 170, \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-06-06 18:33:42'),
(8, 1, 8, 100, '[\"1\", \"2\", \"3\"]', '[]', '{\"stamina_max\": 180, \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-06-06 18:33:39'),
(9, 1, 9, 100, '[\"1\", \"2\", \"3\"]', '[]', '{\"stamina_max\": 200, \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-06-06 18:33:35'),
(10, 1, 10, 100, '[\"1\", \"2\", \"3\"]', '[]', '{\"stamina_max\": 200, \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-06-06 18:33:32'),
(11, 1, 11, 100, '[\"1\", \"2\", \"3\", \"4\"]', '[]', '{\"stamina_max\": 200, \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-06-06 18:33:28'),
(12, 1, 12, 100, '[\"1\", \"2\", \"3\", \"4\"]', '[]', '{\"stamina_max\": 300, \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-06-06 18:33:24'),
(13, 1, 13, 100, '[\"1\", \"2\", \"3\", \"4\"]', '[]', '{\"stamina_max\": 300, \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-06-06 18:33:21'),
(14, 1, 14, 100, '[\"1\", \"2\", \"3\", \"4\"]', '[]', '{\"stamina_max\": 400, \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-06-06 18:33:18'),
(15, 1, 15, 100, '[\"1\", \"2\", \"3\", \"4\"]', '[]', '{\"stamina_max\": 400, \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-06-06 18:33:16'),
(16, 1, 16, 100, '[\"1\", \"2\", \"3\", \"4\", \"5\"]', '[]', '{\"stamina_max\": 400, \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-06-06 18:33:12'),
(17, 1, 17, 100, '[\"1\", \"2\", \"3\", \"4\", \"5\"]', '[]', '{\"stamina_max\": 500, \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-06-06 18:33:09'),
(18, 1, 18, 100, '[\"1\", \"2\", \"3\", \"4\", \"5\"]', '[]', '{\"stamina_max\": 500, \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-06-06 18:33:06'),
(19, 1, 19, 100, '[\"1\", \"2\", \"3\", \"4\", \"5\"]', '[]', '{\"stamina_max\": 500, \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-06-06 18:33:04'),
(20, 1, 20, 100, '[\"1\", \"2\", \"3\", \"4\", \"5\"]', '[]', '{\"stamina_max\": 500, \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-06-06 18:33:00'),
(21, 1, 21, 100, '[\"1\", \"2\", \"3\", \"4\", \"5\"]', '[]', '{\"stamina_max\": 600, \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-06-06 18:32:57'),
(22, 1, 22, 100, '[\"1\", \"2\", \"3\", \"4\", \"5\"]', '[]', '{\"stamina_max\": 600, \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-06-06 18:32:54'),
(23, 1, 23, 100, '[\"1\", \"2\", \"3\", \"4\", \"5\"]', '[]', '{\"stamina_max\": 600, \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-06-06 18:32:50'),
(24, 1, 24, 100, '[\"1\", \"2\", \"3\", \"4\", \"5\"]', '[]', '{\"stamina_max\": 700, \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-06-06 18:32:47'),
(25, 1, 25, 100, '[\"1\", \"2\", \"3\", \"4\", \"5\"]', '[]', '{\"stamina_max\": 700, \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-06-06 18:32:43'),
(26, 1, 26, 100, '[\"1\", \"2\", \"3\", \"4\", \"5\"]', '[]', '{\"stamina_max\": 800, \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-06-06 18:32:39'),
(27, 1, 27, 100, '[\"1\", \"2\", \"3\", \"4\", \"5\"]', '[]', '{\"stamina_max\": 800, \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-06-06 18:32:36'),
(28, 1, 28, 100, '[\"1\", \"2\", \"3\", \"4\", \"5\"]', '[]', '{\"stamina_max\": 900, \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-06-06 18:32:32'),
(29, 1, 29, 100, '[\"1\", \"2\", \"3\", \"4\", \"5\"]', '[]', '{\"stamina_max\": 900, \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-06-06 18:32:27'),
(30, 1, 30, 100, '[\"1\", \"2\", \"3\", \"4\", \"5\"]', '[]', '{\"stamina_max\": 1000, \"stamina_recovery\": 0}', '2025-04-29 09:16:26', '2025-06-06 18:32:22');

-- ==========================================
-- 表: kku_pet_skills
-- 模型: App\Module\Pet\Models\PetSkill
-- ==========================================

DROP TABLE IF EXISTS `kku_pet_skills`;
CREATE TABLE `kku_pet_skills` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  `skill_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '技能名称',
  `stamina_cost` smallint NOT NULL COMMENT '体力消耗',
  `cool_down` int DEFAULT NULL COMMENT '冷却时间(秒)',
  `duration_time` int DEFAULT NULL COMMENT '持续时间(秒)',
  `effect_desc` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '效果描述',
  `min_level` tinyint unsigned DEFAULT '1' COMMENT '最低等级要求',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='技能配置';

-- 数据插入
INSERT INTO `kku_pet_skills` (`id`, `skill_name`, `stamina_cost`, `cool_down`, `duration_time`, `effect_desc`, `min_level`, `created_at`, `updated_at`) VALUES
(1, '自动除草', 10, 0, 72000, NULL, 1, '2025-04-29 07:51:43', '2025-05-27 20:03:19'),
(2, '自动种植', 10, 0, 72000, NULL, 1, '2025-04-29 07:51:43', '2025-05-27 20:03:23'),
(3, '自动收获', 10, 0, 7200, NULL, 1, '2025-04-29 07:51:43', '2025-04-29 16:11:33'),
(4, '自动浇水', 10, 0, 7200, NULL, 1, '2025-04-29 07:51:43', '2025-04-29 16:11:33'),
(5, '自动杀虫', 10, 0, 7200, NULL, 1, '2025-04-29 07:51:43', '2025-04-29 16:11:33');

-- ==========================================
-- 表: kku_urs_promotion_talent_configs
-- 模型: App\Module\UrsPromotion\Models\UrsTalentConfig
-- ==========================================

DROP TABLE IF EXISTS `kku_urs_promotion_talent_configs`;
CREATE TABLE `kku_urs_promotion_talent_configs` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `level` tinyint NOT NULL COMMENT '等级:0无,1初级,2中级,3高级,4资深,5顶级',
  `name` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '等级名称',
  `direct_count_required` int NOT NULL DEFAULT '0' COMMENT '所需直推人数',
  `promotion_count_required` int NOT NULL DEFAULT '0' COMMENT '所需团队总人数',
  `icon` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '等级图标',
  `description` text COLLATE utf8mb4_unicode_ci COMMENT '等级描述',
  `sort_order` int NOT NULL DEFAULT '0' COMMENT '排序权重',
  `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态:1启用,0禁用',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `promotion_direct_group` int DEFAULT '0' COMMENT '直推奖励组ID',
  `promotion_indirect_group` int DEFAULT '0' COMMENT '间推奖励组ID',
  `promotion_third_group` int DEFAULT '0' COMMENT '三推奖励组ID',
  `planting_direct_rate` decimal(7,4) DEFAULT '0.0000' COMMENT '直推分成比例',
  `planting_indirect_rate` decimal(7,4) DEFAULT '0.0000' COMMENT '间推分成比例',
  `planting_third_rate` decimal(7,4) DEFAULT '0.0000' COMMENT '三推分成比例',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_level` (`level`),
  KEY `idx_sort_order` (`sort_order`),
  KEY `idx_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='URS达人等级配置表';

-- 数据插入
INSERT INTO `kku_urs_promotion_talent_configs` (`id`, `level`, `name`, `direct_count_required`, `promotion_count_required`, `icon`, `description`, `sort_order`, `status`, `created_at`, `updated_at`, `promotion_direct_group`, `promotion_indirect_group`, `promotion_third_group`, `planting_direct_rate`, `planting_indirect_rate`, `planting_third_rate`) VALUES
(1, 0, '青铜', 0, 0, NULL, '普通用户，无达人等级，无推广收益', 0, 1, '2025-06-15 00:24:14', '2025-06-18 17:02:11', 47, 47, 47, 0.0500, 0.0000, 0.0000),
(2, 1, '白银', 5, 6, NULL, '初级达人，享有基础推广收益：直推5%，间推2%，三推1%', 1, 1, '2025-06-15 00:24:14', '2025-06-16 14:39:36', 49, 50, 51, 0.0300, 0.0100, 0.0050),
(3, 2, '黄金', 50, 30, NULL, '中级达人，享有更高推广收益：直推8%，间推4%，三推2%', 2, 1, '2025-06-15 00:24:14', '2025-06-16 14:39:36', 54, 53, 52, 0.0500, 0.0200, 0.0100),
(4, 3, '钻石', 150, 90, NULL, '高级达人，享有优质推广收益：直推12%，间推6%，三推3%', 3, 1, '2025-06-15 00:24:14', '2025-06-16 14:39:37', 55, 56, 57, 0.0800, 0.0400, 0.0200),
(5, 4, '至尊', 300, 180, NULL, '资深达人，享有专业推广收益：直推15%，间推8%，三推4%', 4, 1, '2025-06-15 00:24:14', '2025-06-16 14:39:37', 58, 59, 60, 0.1000, 0.0500, 0.0250),
(6, 5, '合伙人', 500, 300, NULL, '顶级达人，享有最高推广收益：直推20%，间推10%，三推5%', 5, 1, '2025-06-15 00:24:14', '2025-06-16 14:39:37', 61, 62, 63, 0.1500, 0.0800, 0.0400);

-- ==========================================
-- 表: kku_urs_promotion_transfer_fee_configs
-- 模型: App\Module\UrsPromotion\Models\UrsTransferFeeConfig
-- ==========================================

DROP TABLE IF EXISTS `kku_urs_promotion_transfer_fee_configs`;
CREATE TABLE `kku_urs_promotion_transfer_fee_configs` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `house_level` tinyint unsigned NOT NULL DEFAULT '0' COMMENT '房屋等级(0表示所有等级)',
  `talent_level` tinyint unsigned NOT NULL DEFAULT '0' COMMENT '达人等级(0表示所有等级)',
  `transfer_type` enum('in','out') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'out' COMMENT '转账类型:in转入,out转出',
  `fee_rate` decimal(6,4) NOT NULL DEFAULT '0.0000' COMMENT '手续费率(0-1之间的小数)',
  `description` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '配置描述',
  `priority` int unsigned NOT NULL DEFAULT '0' COMMENT '优先级(数值越大优先级越高)',
  `status` tinyint unsigned NOT NULL DEFAULT '1' COMMENT '状态:1启用,0禁用',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE,
  KEY `idx_house_talent_level` (`house_level`,`talent_level`) USING BTREE,
  KEY `idx_status_priority` (`status`,`priority`) USING BTREE,
  KEY `idx_type_house_talent_status` (`transfer_type`,`house_level`,`talent_level`,`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='URS推广模块转出手续费配置表';

-- 数据插入
INSERT INTO `kku_urs_promotion_transfer_fee_configs` (`id`, `house_level`, `talent_level`, `transfer_type`, `fee_rate`, `description`, `priority`, `status`, `created_at`, `updated_at`) VALUES
(1, 1, 0, 'out', 0.6000, 0, 1, 1, '2025-06-19 00:21:27', '2025-06-20 14:21:29'),
(2, 2, 0, 'out', 0.5000, 0, 10, 1, '2025-06-19 00:21:27', '2025-06-20 14:21:29'),
(21, 3, 0, 'out', 0.4000, 0, 11, 1, '2025-06-19 00:21:27', '2025-06-20 14:32:03'),
(22, 4, 0, 'out', 0.3000, 0, 12, 1, '2025-06-19 00:21:27', '2025-06-20 14:32:19'),
(23, 5, 0, 'out', 0.2000, 0, 13, 1, '2025-06-19 00:21:27', '2025-06-20 14:32:31'),
(24, 6, 0, 'out', 0.1000, 0, 14, 1, '2025-06-19 00:21:27', '2025-06-20 14:32:31'),
(25, 7, 0, 'out', 0.0800, 0, 15, 1, '2025-06-19 00:21:27', '2025-06-20 14:32:48'),
(26, 8, 0, 'out', 0.0600, 0, 16, 1, '2025-06-19 00:21:27', '2025-06-20 14:33:13'),
(27, 9, 0, 'out', 0.0400, 0, 17, 1, '2025-06-19 00:21:27', '2025-06-20 14:33:13'),
(28, 10, 0, 'out', 0.0200, 0, 18, 1, '2025-06-19 00:21:27', '2025-06-20 14:33:13'),
(29, 11, 0, 'out', 0.0100, 0, 19, 1, '2025-06-19 00:21:27', '2025-06-20 14:33:13'),
(30, 12, 0, 'out', 0.0000, 0, 20, 1, '2025-06-19 00:21:27', '2025-06-20 14:32:55');

-- ==========================================
-- 表: kku_fund_config
-- 模型: App\Module\Fund\Models\FundConfigModel
-- ==========================================

DROP TABLE IF EXISTS `kku_fund_config`;
CREATE TABLE `kku_fund_config` (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '自增',
  `name` varchar(30) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '资金名字',
  `currency_id` int DEFAULT NULL COMMENT '关联的币种ID，外键关联kku_fund_currency表',
  `type` int DEFAULT NULL COMMENT '账户种类类型，关联FUND_TYPE枚举',
  `display_attributes` json DEFAULT NULL COMMENT '显示属性，如图标、颜色等',
  `create_time` int NOT NULL,
  `update_time` int NOT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE,
  KEY `idx_currency_id` (`currency_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COMMENT='资金设置';

-- 数据插入
INSERT INTO `kku_fund_config` (`id`, `name`, `currency_id`, `type`, `display_attributes`, `create_time`, `update_time`) VALUES
(1, '金币', 1, 1, '{\"icon\": \"icon/item/coin_1_png\", \"badge\": \"\", \"color\": \"\", \"animation\": \"\", \"background\": \"\", \"description\": \"神秘的交易货币\"}', 1, 1),
(2, '钻石', 2, 2, '{\"icon\": \"icon/item/999_0_png\", \"badge\": \"\", \"color\": \"\", \"animation\": \"\", \"background\": \"\", \"description\": \"可用来购买商城中的物品，也可兑换背景，升级房屋和土地.\"}', 1, 1),
(3, '钻石冻结', 2, 3, '{\"icon\": \"icon/item/999_0_png\", \"badge\": \"冻结\", \"color\": \"#ff6b6b\", \"animation\": \"\", \"background\": \"\", \"description\": \"被冻结的钻石资金，冻结期间不可使用\"}', 1749709642, 1749709642);

-- ==========================================
-- 表: kku_fund_currency
-- 模型: App\Module\Fund\Models\FundCurrencyModel
-- ==========================================

DROP TABLE IF EXISTS `kku_fund_currency`;
CREATE TABLE `kku_fund_currency` (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '自增',
  `identification` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '资金标识',
  `type` int DEFAULT NULL COMMENT '币种类型，关联FUND_CURRENCY_TYPE枚举',
  `icon` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '资金标识',
  `name` varchar(30) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '资金名字',
  `display_attributes` json DEFAULT NULL COMMENT '显示属性，如图标、颜色等',
  `create_time` int NOT NULL,
  `update_time` int NOT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COMMENT='货币 设置';

-- 数据插入
INSERT INTO `kku_fund_currency` (`id`, `identification`, `type`, `icon`, `name`, `display_attributes`, `create_time`, `update_time`) VALUES
(1, 'GOLD', 1, '', '金币', NULL, 1, 1),
(2, 'OWG', 2, '', '钻石', NULL, 1, 1),
(3, 'CNY', 3, '', '余额', NULL, 1, 1),
(4, 'USD', 4, '', '美元', NULL, 1, 1);

-- ==========================================
-- 表: kku_point_config
-- 模型: App\Module\Point\Models\PointConfigModel
-- ==========================================

DROP TABLE IF EXISTS `kku_point_config`;
CREATE TABLE `kku_point_config` (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '自增',
  `name` varchar(100) NOT NULL DEFAULT '' COMMENT '积分名称',
  `currency_id` int NOT NULL DEFAULT '0' COMMENT '关联的积分类型ID，外键关联kku_point_currency表',
  `type` int NOT NULL DEFAULT '0' COMMENT '积分账户类型，关联POINT_TYPE枚举',
  `display_attributes` text COMMENT '显示属性，如图标、颜色等',
  `create_time` int NOT NULL DEFAULT '0' COMMENT '创建时间',
  `update_time` int NOT NULL DEFAULT '0' COMMENT '更新时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_type` (`type`),
  KEY `idx_currency_id` (`currency_id`),
  KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='积分配置表';

-- 数据插入
INSERT INTO `kku_point_config` (`id`, `name`, `currency_id`, `type`, `display_attributes`, `create_time`, `update_time`) VALUES
(1, '种植点数', 1, 1, '{\"icon\":\"\\ud83c\\udf31\",\"color\":\"#32CD32\",\"description\":\"\\u7528\\u6237\\u79cd\\u690d\\u6d3b\\u52a8\\u83b7\\u5f97\\u7684\\u70b9\\u6570\\uff0c\\u6bcf\\u79cd\\u4e0b\\u4e00\\u4e2a\\u79cd\\u5b50\\u589e\\u957f1\\u70b9\"}', 1749631386, 1749635668);

-- ==========================================
-- 表: kku_point_currency
-- 模型: App\Module\Point\Models\PointCurrencyModel
-- ==========================================

DROP TABLE IF EXISTS `kku_point_currency`;
CREATE TABLE `kku_point_currency` (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '自增',
  `identification` varchar(50) NOT NULL DEFAULT '' COMMENT '积分标识',
  `type` int NOT NULL DEFAULT '0' COMMENT '积分类型，关联POINT_CURRENCY_TYPE枚举',
  `icon` varchar(100) NOT NULL DEFAULT '' COMMENT '积分图标',
  `name` varchar(100) NOT NULL DEFAULT '' COMMENT '积分名称',
  `display_attributes` text COMMENT '显示属性，如图标、颜色等',
  `create_time` int NOT NULL DEFAULT '0' COMMENT '创建时间',
  `update_time` int NOT NULL DEFAULT '0' COMMENT '更新时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_identification` (`identification`),
  UNIQUE KEY `uk_type` (`type`),
  KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='积分类型表';

-- 数据插入
INSERT INTO `kku_point_currency` (`id`, `identification`, `type`, `icon`, `name`, `display_attributes`, `create_time`, `update_time`) VALUES
(1, 'EXP', 1, '⭐', '经验积分', '{\"icon\":\"\\u2b50\",\"color\":\"#FFD700\",\"description\":\"\\u7528\\u6237\\u901a\\u8fc7\\u5404\\u79cd\\u6d3b\\u52a8\\u548c\\u4efb\\u52a1\\u83b7\\u5f97\\u7684\\u7ecf\\u9a8c\\u79ef\\u5206\"}', 1749631376, 1749635668);

-- ==========================================
-- 表: kku_thirdparty_services
-- 模型: App\Module\ThirdParty\Models\ThirdPartyService
-- ==========================================

DROP TABLE IF EXISTS `kku_thirdparty_services`;
CREATE TABLE `kku_thirdparty_services` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '服务名称',
  `code` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '服务代码（唯一标识）',
  `type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '服务类型',
  `provider` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '服务提供商',
  `description` text COLLATE utf8mb4_unicode_ci COMMENT '服务描述',
  `base_url` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '基础URL',
  `version` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT 'v1' COMMENT 'API版本',
  `auth_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '认证类型',
  `status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'INACTIVE' COMMENT '服务状态',
  `priority` int DEFAULT '0' COMMENT '优先级（数字越小优先级越高）',
  `timeout` int DEFAULT '30' COMMENT '超时时间（秒）',
  `retry_times` int DEFAULT '3' COMMENT '重试次数',
  `retry_delay` int DEFAULT '1000' COMMENT '重试延迟（毫秒）',
  `config` json DEFAULT NULL COMMENT '服务配置信息',
  `headers` json DEFAULT NULL COMMENT '默认请求头',
  `params` json DEFAULT NULL COMMENT '默认参数',
  `webhook_url` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Webhook回调地址',
  `webhook_secret` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Webhook密钥',
  `health_check_url` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '健康检查URL',
  `health_check_interval` int DEFAULT '300' COMMENT '健康检查间隔（秒）',
  `last_health_check` timestamp NULL DEFAULT NULL COMMENT '最后健康检查时间',
  `health_status` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT 'UNKNOWN' COMMENT '健康状态',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_code` (`code`),
  KEY `idx_type` (`type`),
  KEY `idx_provider` (`provider`),
  KEY `idx_status` (`status`),
  KEY `idx_priority` (`priority`),
  KEY `idx_created_at` (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='第三方服务配置表';

-- 数据插入
INSERT INTO `kku_thirdparty_services` (`id`, `name`, `code`, `type`, `provider`, `description`, `base_url`, `version`, `auth_type`, `status`, `priority`, `timeout`, `retry_times`, `retry_delay`, `config`, `headers`, `params`, `webhook_url`, `webhook_secret`, `health_check_url`, `health_check_interval`, `last_health_check`, `health_status`, `created_at`, `updated_at`) VALUES
(11, 'urs', 'urs', 'SOCIAL', '田', NULL, 'http://test-uraus.wooyo.cc', '/', 'CUSTOM', 'ACTIVE', 0, 30, 3, 1000, '[]', '[]', '[]', NULL, 'Hy0LmLKJSbDQY2oaaZOZKR1XKpFHSY8Y', 'http://test-uraus.wooyo.cc', 300, NULL, 'UNKNOWN', '2025-06-14 19:29:10', '2025-06-15 14:37:03');

-- ==========================================
-- 表: kku_thirdparty_credentials
-- 模型: App\Module\ThirdParty\Models\ThirdPartyCredential
-- ==========================================

DROP TABLE IF EXISTS `kku_thirdparty_credentials`;
CREATE TABLE `kku_thirdparty_credentials` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `service_id` bigint unsigned NOT NULL COMMENT '服务ID',
  `name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '凭证名称',
  `type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '凭证类型',
  `credentials` json NOT NULL COMMENT '凭证信息（加密存储）',
  `environment` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT 'production' COMMENT '环境（production/staging/development）',
  `is_active` tinyint(1) DEFAULT '1' COMMENT '是否激活',
  `expires_at` timestamp NULL DEFAULT NULL COMMENT '过期时间',
  `last_used_at` timestamp NULL DEFAULT NULL COMMENT '最后使用时间',
  `usage_count` bigint DEFAULT '0' COMMENT '使用次数',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`),
  KEY `idx_service_id` (`service_id`),
  KEY `idx_type` (`type`),
  KEY `idx_environment` (`environment`),
  KEY `idx_is_active` (`is_active`),
  KEY `idx_expires_at` (`expires_at`),
  CONSTRAINT `fk_credentials_service` FOREIGN KEY (`service_id`) REFERENCES `kku_thirdparty_services` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='认证凭证表';

-- 数据插入
INSERT INTO `kku_thirdparty_credentials` (`id`, `service_id`, `name`, `type`, `credentials`, `environment`, `is_active`, `expires_at`, `last_used_at`, `usage_count`, `created_at`, `updated_at`) VALUES
(2, 11, '测试环境', 'API_KEY', '{\"api_key\": \"Hy0LmLKJSbDQY2oaaZOZKR1XKpFHSY8Y\", \"ecology_id\": \"1\"}', 'testing', 1, NULL, '2025-06-22 13:04:51', 1015, '2025-06-15 12:58:42', '2025-06-22 13:04:51');

-- ==========================================
-- 表: kku_thirdparty_quotas
-- 模型: App\Module\ThirdParty\Models\ThirdPartyQuota
-- ==========================================

DROP TABLE IF EXISTS `kku_thirdparty_quotas`;
CREATE TABLE `kku_thirdparty_quotas` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `service_id` bigint unsigned NOT NULL COMMENT '服务ID',
  `type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '配额类型',
  `limit_value` bigint NOT NULL COMMENT '限制值',
  `used_value` bigint DEFAULT '0' COMMENT '已使用值',
  `reset_at` timestamp NULL DEFAULT NULL COMMENT '重置时间',
  `window_start` timestamp NULL DEFAULT NULL COMMENT '时间窗口开始',
  `window_end` timestamp NULL DEFAULT NULL COMMENT '时间窗口结束',
  `is_active` tinyint(1) DEFAULT '1' COMMENT '是否激活',
  `alert_threshold` decimal(5,2) DEFAULT '80.00' COMMENT '告警阈值（百分比）',
  `is_exceeded` tinyint(1) DEFAULT '0' COMMENT '是否已超限',
  `exceeded_at` timestamp NULL DEFAULT NULL COMMENT '超限时间',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_service_type` (`service_id`,`type`),
  KEY `idx_type` (`type`),
  KEY `idx_is_active` (`is_active`),
  KEY `idx_is_exceeded` (`is_exceeded`),
  KEY `idx_reset_at` (`reset_at`),
  CONSTRAINT `fk_quotas_service` FOREIGN KEY (`service_id`) REFERENCES `kku_thirdparty_services` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='配额管理表';

-- 该表无数据记录

-- ==========================================
-- 表: kku_transfer_apps
-- 模型: App\Module\Transfer\Models\TransferApp
-- ==========================================

DROP TABLE IF EXISTS `kku_transfer_apps`;
CREATE TABLE `kku_transfer_apps` (
  `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `keyname` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '应用标识符',
  `title` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '应用显示名称',
  `description` text COLLATE utf8mb4_unicode_ci COMMENT '应用描述信息',
  `out_id2` int DEFAULT NULL COMMENT '外部应用ID2-开放接口',
  `out_id3` int DEFAULT NULL COMMENT '外部应用ID3-三方平台ID',
  `currency_id` int NOT NULL COMMENT '货币类型ID',
  `fund_id` int NOT NULL COMMENT '资金账户类型ID',
  `fund_to_uid` int DEFAULT NULL COMMENT '转入目标账户UID',
  `fund_in_uid` int DEFAULT NULL COMMENT '转入来源账户UID',
  `exchange_rate` decimal(10,4) NOT NULL DEFAULT '1.0000' COMMENT '汇率(钱包:业务)',
  `order_callback_url` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '结果通知API地址(为空则不通知)',
  `order_in_info_url` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '转入查询API地址(为空则不查询)',
  `order_out_create_url` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '转出创建API地址(为空则不创建)',
  `order_out_info_url` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '转出查询API地址(为空则不查询)',
  `is_enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否启用(1=启用,0=禁用)',
  `allow_transfer_in` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否允许转入(1=允许,0=禁止)',
  `allow_transfer_out` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否允许转出(1=允许,0=禁止)',
  `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
  `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
  `fee_in_rate` decimal(5,4) DEFAULT '0.0000' COMMENT '转入手续费率(0.0000-1.0000)',
  `fee_out_rate` decimal(5,4) DEFAULT '0.0000' COMMENT '转出手续费率(0.0000-1.0000)',
  `fee_in_min` decimal(15,4) DEFAULT '0.0000' COMMENT '转入最低手续费',
  `fee_in_max` decimal(15,4) DEFAULT '0.0000' COMMENT '转入最高手续费(0为不限制)',
  `fee_out_min` decimal(15,4) DEFAULT '0.0000' COMMENT '转出最低手续费',
  `fee_out_max` decimal(15,4) DEFAULT '0.0000' COMMENT '转出最高手续费(0为不限制)',
  `fee_account_uid` int DEFAULT '1' COMMENT '手续费收取账户UID',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_keyname` (`keyname`),
  KEY `idx_currency_id` (`currency_id`),
  KEY `idx_enabled` (`is_enabled`),
  KEY `idx_allow_transfer_in` (`allow_transfer_in`),
  KEY `idx_allow_transfer_out` (`allow_transfer_out`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='划转应用配置表';

-- 数据插入
INSERT INTO `kku_transfer_apps` (`id`, `keyname`, `title`, `description`, `out_id2`, `out_id3`, `currency_id`, `fund_id`, `fund_to_uid`, `fund_in_uid`, `exchange_rate`, `order_callback_url`, `order_in_info_url`, `order_out_create_url`, `order_out_info_url`, `is_enabled`, `allow_transfer_in`, `allow_transfer_out`, `created_at`, `updated_at`, `deleted_at`, `fee_in_rate`, `fee_out_rate`, `fee_in_min`, `fee_in_max`, `fee_out_min`, `fee_out_max`, `fee_account_uid`) VALUES
(2, 'urs', 'urs', 'urs', 1, 11, 2, 2, 15, 16, 100.0000, NULL, NULL, NULL, NULL, 1, 1, 1, '2025-06-18 19:02:12', '2025-06-19 12:33:04', NULL, 0.0000, 0.0100, 0.0000, 0.0000, 0.5000, 10.0000, 1);

-- ==========================================
-- 表: kku_shop_items
-- 模型: App\Module\Shop\Models\ShopItem
-- ==========================================

DROP TABLE IF EXISTS `kku_shop_items`;
CREATE TABLE `kku_shop_items` (
  `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '商品ID，主键',
  `name` varchar(100) NOT NULL COMMENT '商品名称',
  `description` text COMMENT '商品描述',
  `category_id` int unsigned NOT NULL COMMENT '分类ID，外键关联kku_shop_categories表',
  `category_name` varchar(100) DEFAULT NULL COMMENT '分类名称（字符串格式，区别于现有分类机制）',
  `consume_group_id` int unsigned DEFAULT NULL COMMENT '消耗组ID，外键关联kku_game_consume_groups表',
  `reward_group_id` int unsigned DEFAULT NULL COMMENT '奖励组ID，外键关联kku_game_reward_groups表',
  `max_single_buy` int NOT NULL DEFAULT '0' COMMENT '单次最大购买数量（0表示无限制）',
  `is_active` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否激活（0:否, 1:是）',
  `sort_order` int NOT NULL DEFAULT '0' COMMENT '排序权重',
  `display_attributes` json DEFAULT NULL COMMENT '展示属性，以JSON格式存储键值对，用于界面展示和描述的属性',
  `start_time` timestamp NULL DEFAULT NULL COMMENT '上架时间',
  `end_time` timestamp NULL DEFAULT NULL COMMENT '下架时间',
  `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`),
  KEY `shop_items_category_id_index` (`category_id`),
  KEY `shop_items_is_active_index` (`is_active`),
  KEY `shop_items_sort_order_index` (`sort_order`),
  KEY `shop_items_consume_group_id_index` (`consume_group_id`),
  KEY `shop_items_reward_group_id_index` (`reward_group_id`),
  KEY `shop_items_max_single_buy_index` (`max_single_buy`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='商店商品表';

-- 数据插入
INSERT INTO `kku_shop_items` (`id`, `name`, `description`, `category_id`, `category_name`, `consume_group_id`, `reward_group_id`, `max_single_buy`, `is_active`, `sort_order`, `display_attributes`, `start_time`, `end_time`, `created_at`, `updated_at`) VALUES
(1, '测试道具', '包含各种新手必备道具，帮助快速上手游戏', 1, '礼包', 14, 7, 0, 1, 1, '{\"tag\": null, \"icon\": \"icon/item/prize\", \"badge\": null, \"color\": null, \"is_hot\": 0, \"is_new\": 0, \"quality\": \"1\", \"background\": null, \"is_limited\": 0}', NULL, NULL, '2025-05-29 11:08:38', '2025-06-19 04:11:07'),
(2, '种子礼包', '包含多种高级种子，种植后可获得丰厚收益', 2, '礼包', 14, 8, 0, 0, 2, '{\"tag\": \"\", \"icon\": \"icon/item/prize\", \"badge\": \"\", \"color\": \"\", \"is_hot\": false, \"is_new\": false, \"quality\": 1, \"background\": \"\", \"is_limited\": false}', NULL, NULL, '2025-05-29 11:08:38', '2025-06-20 15:46:43'),
(3, '资源大礼包', '包含大量游戏资源，快速提升实力', 3, '礼包', 15, 9, 0, 0, 3, '{\"tag\": \"\", \"icon\": \"icon/item/prize\", \"badge\": \"\", \"color\": \"\", \"is_hot\": false, \"is_new\": false, \"quality\": 1, \"background\": \"\", \"is_limited\": false}', NULL, NULL, '2025-05-29 11:08:38', '2025-06-20 15:46:44'),
(4, '神秘宝箱', '打开后可获得随机奖励，运气好能开出稀有物品', 4, '礼包', 14, 10, 0, 0, 4, '{\"tag\": \"\", \"icon\": \"icon/item/prize\", \"badge\": \"\", \"color\": \"\", \"is_hot\": false, \"is_new\": false, \"quality\": 1, \"background\": \"\", \"is_limited\": false}', NULL, NULL, '2025-05-29 11:08:38', '2025-06-20 15:46:46'),
(5, '每日特惠包', '每日限购的特惠商品包，性价比超高', 1, '礼包', 13, 7, 0, 0, 5, '{\"tag\": \"\", \"icon\": \"icon/item/prize\", \"badge\": \"\", \"color\": \"\", \"is_hot\": false, \"is_new\": false, \"quality\": 1, \"background\": \"\", \"is_limited\": false}', NULL, NULL, '2025-05-29 11:08:38', '2025-06-20 15:46:47'),
(6, '洒水壶', '用来浇水', 1, '道具', 16, 11, 0, 1, 1, '{\"tag\": null, \"icon\": \"icon/item/4_10_png\", \"badge\": null, \"color\": null, \"is_hot\": 0, \"is_new\": 0, \"quality\": \"1\", \"background\": null, \"is_limited\": 0}', NULL, NULL, '2025-05-29 11:18:36', '2025-06-03 14:09:47'),
(7, '除草剂', '清除地里杂草', 1, '道具', 16, 12, 0, 1, 2, '{\"tag\": null, \"icon\": \"icon/item/4_11_png\", \"badge\": null, \"color\": null, \"is_hot\": 0, \"is_new\": 0, \"quality\": \"1\", \"background\": null, \"is_limited\": 0}', NULL, NULL, '2025-05-29 11:18:36', '2025-06-03 14:10:13'),
(8, '除虫剂', '清除地里害虫', 1, '道具', 16, 13, 0, 1, 3, '{\"tag\": null, \"icon\": \"icon/item/4_12_png\", \"badge\": null, \"color\": null, \"is_hot\": 0, \"is_new\": 0, \"quality\": \"1\", \"background\": null, \"is_limited\": 0}', NULL, NULL, '2025-05-29 11:18:36', '2025-06-03 14:10:45'),
(9, '化肥', '减少当前阶段农作物3小时成熟期', 1, '道具', 17, 14, 0, 1, 4, '{\"tag\": null, \"icon\": \"icon/item/4_unll_png\", \"badge\": null, \"color\": null, \"is_hot\": 0, \"is_new\": 0, \"quality\": \"1\", \"background\": null, \"is_limited\": 0}', NULL, NULL, '2025-05-29 11:18:36', '2025-06-03 14:12:14'),
(10, '铜宝箱', '用500个萝卜+500个辣椒开启可随机获得200-2000个萝卜或辣椒', 5, '宝箱', 60, 15, 0, 1, 5, '{\"tag\": null, \"icon\": \"icon/item/4_4b_png\", \"badge\": null, \"color\": null, \"is_hot\": 0, \"is_new\": 0, \"quality\": \"1\", \"background\": null, \"is_limited\": 0}', NULL, NULL, '2025-05-29 11:18:36', '2025-06-20 15:50:47'),
(11, '银宝箱', '用500个苹果+500个西瓜开启可随机获得200-2000个苹果或西瓜', 5, '宝箱', 61, 16, 0, 1, 6, '{\"tag\": null, \"icon\": \"icon/item/4_5b_png\", \"badge\": null, \"color\": null, \"is_hot\": 0, \"is_new\": 0, \"quality\": \"1\", \"background\": null, \"is_limited\": 0}', NULL, NULL, '2025-05-29 11:18:36', '2025-06-20 15:52:20'),
(12, '金宝箱', '用500个草莓+500个南瓜开启可随机获得200-2000个草莓或南瓜', 5, '宝箱', 62, 17, 0, 1, 7, '{\"tag\": null, \"icon\": \"icon/item/4_6b_png\", \"badge\": null, \"color\": null, \"is_hot\": 0, \"is_new\": 0, \"quality\": \"1\", \"background\": null, \"is_limited\": 0}', NULL, NULL, '2025-05-29 11:18:36', '2025-06-20 15:52:36'),
(13, 'K钻宝箱', '用100个苹果+100个西瓜开启可随机获得10-200个钻石', 5, '宝箱', 63, 18, 0, 1, 8, '{\"tag\": null, \"icon\": \"icon/item/4_7b_png\", \"badge\": null, \"color\": null, \"is_hot\": 0, \"is_new\": 0, \"quality\": \"1\", \"background\": null, \"is_limited\": 0}', NULL, NULL, '2025-05-29 11:18:36', '2025-06-20 15:52:47'),
(14, '除草之神x1', '供奉除草之神，保护所有土地不受蚱蜢危害，有效期24小时', 6, '神器', 22, 19, 1, 1, 9, '{\"tag\": null, \"icon\": \"icon/item/7_17_png\", \"badge\": null, \"color\": null, \"is_hot\": 0, \"is_new\": 0, \"quality\": \"1\", \"background\": null, \"is_limited\": 0}', NULL, NULL, '2025-05-29 11:18:36', '2025-06-03 18:32:50'),
(15, '除虫之神x1', '供奉 除虫之神，保护所有土地不受虫害危害，有效期24小时', 6, '神器', 22, 20, 1, 1, 10, '{\"tag\": null, \"icon\": \"icon/item/7_18_png\", \"badge\": null, \"color\": null, \"is_hot\": 0, \"is_new\": 0, \"quality\": \"1\", \"background\": null, \"is_limited\": 0}', NULL, NULL, '2025-05-29 11:18:36', '2025-06-03 18:32:25'),
(16, '雨露之神x1', '供奉雨露之神，保护所有土地不受干旱危害，有效期24小时', 6, '神器', 22, 21, 1, 1, 11, '{\"tag\": null, \"icon\": \"icon/item/7_19_png\", \"badge\": null, \"color\": null, \"is_hot\": 0, \"is_new\": 0, \"quality\": \"1\", \"background\": null, \"is_limited\": 0}', NULL, NULL, '2025-05-29 11:18:36', '2025-06-03 14:17:36'),
(17, '丰收之神x1', '供奉丰收之神，保护所有土地的产量奖励最大化，有效期24小时', 6, '神器', 23, 22, 1, 1, 12, '{\"tag\": null, \"icon\": \"icon/item/7_20_png\", \"badge\": null, \"color\": null, \"is_hot\": 0, \"is_new\": 0, \"quality\": \"1\", \"background\": null, \"is_limited\": 0}', NULL, NULL, '2025-05-29 11:18:36', '2025-06-03 14:18:00'),
(18, '小狗一只', '购买后获得宠物一只', 4, '宠物', 23, 29, 1, 0, 0, '{\"tag\": \"\", \"icon\": \"icon/item/6_8_png\", \"badge\": \"\", \"color\": \"\", \"is_hot\": false, \"is_new\": false, \"quality\": 0, \"background\": \"\", \"is_limited\": false}', NULL, NULL, '2025-06-03 16:31:40', '2025-06-20 15:47:33'),
(19, '宠物口粮', '宠物口粮三包', 3, '宠物', 22, 35, 0, 0, 0, '{\"tag\": \"\", \"icon\": \"icon/item/6_8_png\", \"badge\": \"\", \"color\": \"\", \"is_hot\": false, \"is_new\": false, \"quality\": 0, \"background\": \"\", \"is_limited\": false}', NULL, NULL, '2025-06-06 16:49:23', '2025-06-22 12:54:05');

-- ==========================================
-- 表: kku_shop_categories
-- 模型: App\Module\Shop\Models\ShopCategory
-- ==========================================

DROP TABLE IF EXISTS `kku_shop_categories`;
CREATE TABLE `kku_shop_categories` (
  `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '分类ID，主键',
  `name` varchar(50) NOT NULL COMMENT '分类名称',
  `code` varchar(50) NOT NULL COMMENT '分类编码（唯一）',
  `icon` varchar(255) DEFAULT NULL COMMENT '分类图标',
  `sort_order` int NOT NULL DEFAULT '0' COMMENT '排序权重',
  `parent_id` int unsigned DEFAULT NULL COMMENT '父分类ID（可为空，用于实现分类层级）',
  `is_active` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否激活（0:否, 1:是）',
  `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `shop_categories_code_unique` (`code`),
  KEY `shop_categories_parent_id_index` (`parent_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='商店分类表';

-- 数据插入
INSERT INTO `kku_shop_categories` (`id`, `name`, `code`, `icon`, `sort_order`, `parent_id`, `is_active`, `created_at`, `updated_at`) VALUES
(1, '道具类', 'items', 'fa-cube', 1, NULL, 1, '2025-05-29 11:08:17', '2025-05-29 11:08:17'),
(2, '种子类', 'seeds', 'fa-leaf', 2, NULL, 1, '2025-05-29 11:08:17', '2025-05-29 11:08:17'),
(3, '资源类', 'resources', 'fa-diamond', 3, NULL, 1, '2025-05-29 11:08:17', '2025-05-29 11:08:17'),
(4, '特殊商品', 'special', 'fa-star', 4, NULL, 1, '2025-05-29 11:08:17', '2025-05-29 11:08:17'),
(5, '宝箱类', 'chests', 'fa-treasure-chest', 5, NULL, 1, '2025-05-29 11:18:19', '2025-05-29 11:18:19'),
(6, '神像类', 'artifacts', 'fa-magic', 6, NULL, 1, '2025-05-29 11:18:19', '2025-06-01 09:41:35');

-- ==========================================
-- 备份统计
-- 总表数: 44
-- 总记录数: 640
-- 生成完成时间: 2025-06-22 13:17:59
-- ==========================================
