-- 创建奖励表
CREATE TABLE IF NOT EXISTS `reward` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `reward_type` tinyint(1) NOT NULL COMMENT '奖励类型(1:优惠券,2:钻石,3:货币1,4:货币2)',
  `reward_id` int(11) DEFAULT NULL COMMENT '奖励ID(当reward_type=1时为优惠券ID)',
  `reward_value` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '奖励值',
  `title` varchar(100) DEFAULT NULL COMMENT '奖励标题',
  `description` varchar(255) DEFAULT NULL COMMENT '奖励描述',
  `icon` varchar(255) DEFAULT NULL COMMENT '奖励图标',
  `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态(0禁用,1启用)',
  `create_time` int(11) DEFAULT NULL,
  `update_time` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='奖励表';

-- 创建签到配置表
CREATE TABLE IF NOT EXISTS `sign_config` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `type` tinyint(1) NOT NULL COMMENT '配置类型(1:累计签到配置,2:每日签到配置)',
  `days` int(11) DEFAULT NULL COMMENT '累计天数(type=1时有效)',
  `day` tinyint(1) DEFAULT NULL COMMENT '指定星期几(type=2时有效，1-7代表周一到周日)',
  `title` varchar(100) DEFAULT NULL COMMENT '配置标题',
  `icon` varchar(255) DEFAULT NULL COMMENT '图标',
  `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态(0禁用,1启用)',
  `sort` int(11) DEFAULT '0' COMMENT '排序',
  `create_time` int(11) DEFAULT NULL,
  `update_time` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='签到配置表';

-- 创建签到配置奖励关联表
CREATE TABLE IF NOT EXISTS `sign_config_reward` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `sign_config_id` int(11) NOT NULL COMMENT '签到配置ID',
  `reward_id` int(11) NOT NULL COMMENT '奖励ID',
  `create_time` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_sign_config_id` (`sign_config_id`),
  KEY `idx_reward_id` (`reward_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='签到配置奖励关联表';

-- 修改用户签到表，添加month和year字段
ALTER TABLE `user_sign` 
ADD COLUMN `month` int(11) DEFAULT NULL COMMENT '签到月份' AFTER `days`,
ADD COLUMN `year` int(11) DEFAULT NULL COMMENT '签到年份' AFTER `month`; 