znpt-backend/doc/auto_expiration_readme.md

3.8 KiB
Raw Blame History

自动到期检测功能使用说明

功能概述

自动到期检测功能是一个智能的到期时间监控系统,能够自动检测数据库中各种表格的到期时间字段,并提供到期提醒功能。

主要特性

  1. 自动检测: 系统会自动扫描配置的表格,检测其中的到期时间字段
  2. 灵活配置: 可以配置任意表格的到期检测规则
  3. 智能提醒: 支持提前提醒天数配置
  4. 状态管理: 自动计算剩余天数并设置状态(正常/即将到期/已到期)
  5. 定时执行: 每天凌晨2点自动执行检测任务

数据库表结构

1. 自动到期检测配置表 (auto_expiration_config)

字段名 类型 说明
config_id varchar(64) 配置ID
table_name varchar(100) 表名
table_desc varchar(200) 表描述
primary_key_field varchar(100) 主键字段
expire_date_field varchar(100) 到期时间字段
user_id_field varchar(100) 关联用户字段
user_name_field varchar(100) 用户姓名字段
business_name_field varchar(100) 业务名称字段
remind_days int 提前提醒天数
enabled varchar(1) 是否启用0-禁用1-启用)

2. 到期检测结果表 (expiration_result)

字段名 类型 说明
result_id varchar(64) 结果ID
table_name varchar(100) 表名
business_id varchar(64) 业务ID
business_name varchar(200) 业务名称
user_id varchar(64) 关联用户ID
user_name varchar(100) 关联用户姓名
expire_date date 到期日期
remaining_days int 剩余天数
status varchar(1) 状态0-正常1-即将到期2-已到期)

API接口

1. 手动执行到期检测

POST /auto-expiration/execute

2. 获取到期检测结果

GET /auto-expiration/results?status=1

参数说明:

  • status: 状态筛选0-正常1-即将到期2-已到期)

3. 获取统计信息

GET /auto-expiration/statistics

4. 检测指定表

POST /auto-expiration/check-table/{tableName}

5. 保存配置

POST /auto-expiration/config

6. 获取所有配置

GET /auto-expiration/configs

7. 删除配置

DELETE /auto-expiration/config/{configId}

配置示例

人员资质证书检测配置

{
  "tableName": "certification",
  "tableDesc": "人员资质证书",
  "primaryKeyField": "certification_id",
  "expireDateField": "validity_date_end",
  "userIdField": "user_id",
  "businessNameField": "certification_name",
  "remindDays": 30,
  "enabled": "1"
}

人员保险检测配置

{
  "tableName": "insurance_info",
  "tableDesc": "人员保险",
  "primaryKeyField": "insurance_info_id",
  "expireDateField": "expire_date",
  "userIdField": "user_id",
  "userNameField": "name",
  "businessNameField": "insurance_type_name",
  "remindDays": 30,
  "enabled": "1"
}

使用步骤

  1. 创建数据库表: 执行 auto_expiration_tables.sql 创建必要的表结构
  2. 配置检测规则: 通过API或直接插入数据配置需要检测的表格
  3. 启动定时任务: 系统会自动在每天凌晨2点执行检测
  4. 查看检测结果: 通过API接口查看检测结果和统计信息

扩展说明

系统支持检测任意表格的到期时间字段,只需要在配置表中添加相应的配置即可。支持的字段类型包括:

  • LocalDate
  • LocalDateTime
  • Date
  • Timestamp

系统会自动识别并处理这些日期类型。

注意事项

  1. 确保配置的字段名在目标表中存在
  2. 到期时间字段不能为空
  3. 建议为检测结果表添加适当的索引以提高查询性能
  4. 可以根据业务需要调整提前提醒天数