-- 红包功能升级:适用范围外表 / 自动发红包规则 / 发放日志 / 到账提示标记 -- 执行前请确认线上库无同名表;ALTER 若字段已存在请跳过对应语句 -- 1. 红包适用范围(一对一关联 xhHb,无记录=全部商品适用) CREATE TABLE IF NOT EXISTS `xhHbScope` ( `id` int(11) NOT NULL AUTO_INCREMENT, `hbId` int(11) NOT NULL DEFAULT 0 COMMENT 'xhHb.id', `scopeType` tinyint(4) NOT NULL DEFAULT 1 COMMENT '1全部商品 2指定花束分类 3指定花束商品', `scopeValue` varchar(2000) NOT NULL DEFAULT '' COMMENT 'scopeType=2/3时逗号分隔id,=1时为空', `specialApplicable` tinyint(4) NOT NULL DEFAULT 1 COMMENT '特价及活动商品是否适用:0否 1是', `createdAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE KEY `uk_hbId` (`hbId`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='红包适用范围'; -- 2. 自动发红包规则(每门店每种类型一条) CREATE TABLE IF NOT EXISTS `xhHbAutoRule` ( `id` int(11) NOT NULL AUTO_INCREMENT, `shopId` int(11) NOT NULL DEFAULT 0 COMMENT '门店id', `mainId` int(11) NOT NULL DEFAULT 0 COMMENT '中央id', `type` tinyint(4) NOT NULL DEFAULT 0 COMMENT '1新客 2受邀新客 3沉睡召回 4会员日', `status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '0关闭 1开启', `rules` text COMMENT '红包配置JSON,结构同充值送红包rules', `scopeType` tinyint(4) NOT NULL DEFAULT 1 COMMENT '1全部商品 2指定分类 3指定商品', `scopeValue` varchar(2000) NOT NULL DEFAULT '' COMMENT '分类/商品id逗号分隔', `specialApplicable` tinyint(4) NOT NULL DEFAULT 1 COMMENT '特价及活动商品是否适用', `extra` text COMMENT '类型专属JSON:沉睡{unOrderDays};会员日{sendDay,sendTime,target}', `createdAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE KEY `uk_shop_type` (`shopId`,`type`), KEY `idx_type_status` (`type`,`status`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='自动发红包规则'; -- 3. 自动发放日志(沉睡冷却 / 会员日每月去重) CREATE TABLE IF NOT EXISTS `xhHbAutoSendLog` ( `id` int(11) NOT NULL AUTO_INCREMENT, `ruleId` int(11) NOT NULL DEFAULT 0 COMMENT 'xhHbAutoRule.id', `shopId` int(11) NOT NULL DEFAULT 0 COMMENT '门店id', `customId` int(11) NOT NULL DEFAULT 0 COMMENT '客户id', `cycleTag` varchar(32) NOT NULL DEFAULT '' COMMENT '会员日用年月如202608;沉睡可空', `sendTime` datetime NOT NULL COMMENT '发放时间', `createdAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `idx_rule_custom` (`ruleId`,`customId`), KEY `idx_rule_cycle` (`ruleId`,`customId`,`cycleTag`), KEY `idx_shop_send` (`shopId`,`sendTime`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='自动发红包日志'; -- 4. 发放流水:到账提示去重 ALTER TABLE `xhHbManage` ADD COLUMN `notified` tinyint(4) NOT NULL DEFAULT 0 COMMENT 'mall到账提示:0未提示 1已提示' AFTER `cancelTime`, ADD COLUMN `notifiedAt` datetime DEFAULT NULL COMMENT '到账提示时间' AFTER `notified`; -- 5. getType 扩展:0新客 / 1赠送 / 2充值送 / 3受邀新客 / 4沉睡召回 / 5会员日 ALTER TABLE xhHb modify COLUMN `getType` tinyint(4) NOT NULL DEFAULT '0' COMMENT '取得方式 0新人领取 1门店发放 2充值赠送 3受邀新客 4沉睡召回 5会员日';