20260804_hb_upgrade.sql 3.4 KB

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