| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- -- 集抄数据推送 MySQL 表结构
- -- 推送配置
- CREATE TABLE `iot_cj_push_config` (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
- `name` varchar(100) NOT NULL COMMENT '配置名称',
- `push_url` varchar(500) NOT NULL COMMENT '推送接口URL',
- `address_format` tinyint NOT NULL DEFAULT 0 COMMENT '表地址格式:0=14位基表号, 1=12位表地址',
- `batch_size` int NOT NULL DEFAULT 100 COMMENT '每次推送最大记录数',
- `retry_count` int NOT NULL DEFAULT 3 COMMENT '失败重试次数',
- `retry_interval` int NOT NULL DEFAULT 5 COMMENT '重试间隔(秒)',
- `supplement_cron` varchar(50) NOT NULL DEFAULT '0 */5 * * * ?' COMMENT '补推定时表达式',
- `supplement_days` int NOT NULL DEFAULT 7 COMMENT '补推回溯天数',
- `enabled` tinyint NOT NULL DEFAULT 1 COMMENT '是否启用:0禁用, 1启用',
- `headers` varchar(1000) DEFAULT NULL COMMENT '自定义请求头(JSON格式)',
- `creator` varchar(64) DEFAULT '',
- `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
- `updater` varchar(64) DEFAULT '',
- `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- `deleted` bit(1) NOT NULL DEFAULT b'0',
- `tenant_id` bigint NOT NULL DEFAULT 0,
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB COMMENT='集抄-推送配置';
- -- 推送日志
- CREATE TABLE `iot_cj_push_log` (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
- `config_id` bigint NOT NULL COMMENT '推送配置ID',
- `config_name` varchar(100) NOT NULL DEFAULT '' COMMENT '配置名称',
- `push_type` tinyint NOT NULL COMMENT '推送类型:0=实时, 1=补推',
- `data_count` int NOT NULL DEFAULT 0 COMMENT '推送数据条数',
- `request_body` text DEFAULT NULL COMMENT '请求内容',
- `response_body` varchar(500) DEFAULT NULL COMMENT '响应内容',
- `status` tinyint NOT NULL COMMENT '状态:0=成功, 1=失败',
- `retry_times` int NOT NULL DEFAULT 0 COMMENT '已重试次数',
- `error_msg` varchar(500) DEFAULT NULL COMMENT '错误信息',
- `push_time` datetime NOT NULL COMMENT '推送时间',
- `duration` int DEFAULT NULL COMMENT '推送耗时(毫秒)',
- `creator` varchar(64) DEFAULT '',
- `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
- `tenant_id` bigint NOT NULL DEFAULT 0,
- PRIMARY KEY (`id`),
- KEY `idx_config_time` (`config_id`, `push_time`)
- ) ENGINE=InnoDB COMMENT='集抄-推送日志';
- -- 推送记录跟踪
- CREATE TABLE `iot_cj_push_record` (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
- `config_id` bigint NOT NULL COMMENT '推送配置ID',
- `meter_address` varchar(20) NOT NULL COMMENT '表地址(14位基表号)',
- `data_time` datetime NOT NULL COMMENT '数据时间',
- `push_status` tinyint NOT NULL DEFAULT 0 COMMENT '0=待推送, 1=已推送, 2=推送失败, 3=过期放弃',
- `push_time` datetime DEFAULT NULL COMMENT '推送成功时间',
- `fail_count` int NOT NULL DEFAULT 0 COMMENT '失败次数',
- `tenant_id` bigint NOT NULL DEFAULT 0,
- `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
- PRIMARY KEY (`id`),
- KEY `idx_config_status` (`config_id`, `push_status`),
- KEY `idx_meter_time` (`meter_address`, `data_time`)
- ) ENGINE=InnoDB COMMENT='集抄-推送记录';
|