-- ------------------------------------------ -- 公司余额预警短信提醒记录表(按天去重) -- 创建日期: 2026-10-10 -- 库: charging_pile_other -- 说明: -- 1. 余额预警扫描任务(BalanceWarningScanTask,每5分钟)发送短信成功后写入本表; -- 同一公司同一预警范围同一子账户同一天仅提醒一次(uk_company_scope_sub_date 唯一键) -- 2. warn_scope: 1=公司账户, 2=VIN码, 3=刷卡卡, 4=白名单用户 -- sub_identifier: 公司级固定空串;子账户级为 VIN码/卡号/白名单手机号 -- 3. Mycat 2.0 不支持 SET @变量/条件化 DDL,故直接建表; -- 重复执行时 CREATE TABLE IF NOT EXISTS 幂等,不报错 -- 库: charging_pile_other(单表,经 8066 代理执行即可) -- ------------------------------------------ USE `charging_pile_other`; CREATE TABLE IF NOT EXISTS `t_balance_warning_record` ( `id` int NOT NULL AUTO_INCREMENT COMMENT '主键', `company_id` int NOT NULL COMMENT '公司ID(关联t_group_company.id)', `warn_scope` tinyint NOT NULL COMMENT '预警范围(1=公司账户,2=VIN码,3=刷卡卡,4=白名单用户)', `sub_identifier` varchar(64) NOT NULL DEFAULT '' COMMENT '子账户标识(公司级为空串,子账户级为VIN码/卡号/白名单手机号)', `notify_phone` varchar(32) NOT NULL COMMENT '通知手机号', `warn_date` date NOT NULL COMMENT '提醒日期(按天去重依据)', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `del_flag` int NULL DEFAULT 0 COMMENT '删除(0=否,1=是)', PRIMARY KEY (`id`), UNIQUE KEY `uk_company_scope_sub_date` (`company_id`, `warn_scope`, `sub_identifier`, `warn_date`) USING BTREE, KEY `idx_warn_date` (`warn_date`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='公司余额预警短信提醒记录(按天去重)'; -- 回查(应返回表结构 8 列 + 唯一键 uk_company_scope_sub_date) -- SHOW CREATE TABLE `t_balance_warning_record`;