-- 自动到期检测配置表 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', '制度到期检测');