| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- -- 红包功能升级:适用范围外表 / 自动发红包规则 / 发放日志 / 到账提示标记
- -- 执行前请确认线上库无同名表;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会员日';
|