51 lines
3.4 KiB
SQL
51 lines
3.4 KiB
SQL
-- 自动到期检测配置表
|
||
CREATE TABLE `auto_expiration_config` (
|
||
`config_id` varchar(64) NOT NULL COMMENT '配置ID',
|
||
`table_name` varchar(100) NOT NULL COMMENT '表名',
|
||
`table_desc` varchar(200) DEFAULT NULL COMMENT '表描述',
|
||
`primary_key_field` varchar(100) NOT NULL COMMENT '主键字段',
|
||
`expire_date_field` varchar(100) NOT NULL COMMENT '到期时间字段',
|
||
`user_id_field` varchar(100) DEFAULT NULL COMMENT '关联用户字段',
|
||
`user_name_field` varchar(100) DEFAULT NULL COMMENT '用户姓名字段',
|
||
`business_name_field` varchar(100) DEFAULT NULL COMMENT '业务名称字段',
|
||
`remind_days` int(11) DEFAULT 30 COMMENT '提前提醒天数',
|
||
`enabled` varchar(1) DEFAULT '1' COMMENT '是否启用(0-禁用,1-启用)',
|
||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
|
||
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
|
||
`del_flag` varchar(1) DEFAULT '0' COMMENT '删除标志(0代表存在,1代表删除)',
|
||
PRIMARY KEY (`config_id`),
|
||
UNIQUE KEY `uk_table_name` (`table_name`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='自动到期检测配置表';
|
||
|
||
-- 到期检测结果表
|
||
CREATE TABLE `expiration_result` (
|
||
`result_id` varchar(64) NOT NULL COMMENT '结果ID',
|
||
`config_id` varchar(64) DEFAULT NULL COMMENT '配置ID',
|
||
`table_name` varchar(100) NOT NULL COMMENT '表名',
|
||
`business_id` varchar(64) NOT NULL COMMENT '业务ID',
|
||
`business_name` varchar(200) DEFAULT NULL COMMENT '业务名称',
|
||
`user_id` varchar(64) DEFAULT NULL COMMENT '关联用户ID',
|
||
`user_name` varchar(100) DEFAULT NULL COMMENT '关联用户姓名',
|
||
`expire_date` date NOT NULL COMMENT '到期日期',
|
||
`remaining_days` int(11) DEFAULT NULL COMMENT '剩余天数',
|
||
`status` varchar(1) DEFAULT '0' COMMENT '状态(0-正常,1-即将到期,2-已到期)',
|
||
`check_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '检测时间',
|
||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
|
||
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
|
||
`del_flag` varchar(1) DEFAULT '0' COMMENT '删除标志(0代表存在,1代表删除)',
|
||
PRIMARY KEY (`result_id`),
|
||
KEY `idx_table_name` (`table_name`),
|
||
KEY `idx_status` (`status`),
|
||
KEY `idx_expire_date` (`expire_date`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='到期检测结果表';
|
||
|
||
-- 插入示例配置数据
|
||
INSERT INTO `auto_expiration_config` (`config_id`, `table_name`, `table_desc`, `primary_key_field`, `expire_date_field`, `user_id_field`, `user_name_field`, `business_name_field`, `remind_days`, `enabled`, `remark`) VALUES
|
||
('1', 'certification', '人员资质证书', 'certification_id', 'validity_date_end', 'user_id', NULL, 'certification_name', 30, '1', '人员资质证书到期检测'),
|
||
('2', 'insurance_info', '人员保险', 'insurance_info_id', 'expire_date', 'user_id', 'name', 'insurance_type_name', 30, '1', '人员保险到期检测'),
|
||
('3', 'regulation', '制度管理', 'regulation_id', 'expire_time', NULL, NULL, 'regulation_name', 30, '1', '制度到期检测'); |