第六阶段开发。

This commit is contained in:
zfjia committed 2026-11-12 13:36:24 +08:00
1 parent 35751b4f00
commit bacdd15f3a
93 files changed
+10190 -22

No files matched your search

+41
View File
@@ -0,0 +1,41 @@
-- =============================================================================
-- 刷脸照片保留期(最多 1 个月)+ 定期清理任务登记
-- 清理范围:apt_tablet_face_photo 中 COALESCE(uploaded_at, captured_at, create_time)
-- 早于 now - retentionDays 的记录:先删文件,再物理删记录。
-- 保留天数由 apt.photo.retention-days 控制(默认 30,上限按业务 1 个月)。
-- 任务:aptPhotoPurgeTask.purge(),建议每天 03:30(避开叫乘高峰)。
-- 幂等:sys_job 按 invoke_target 判重,可重复执行。
-- =============================================================================
SET NAMES utf8mb4;
INSERT INTO sys_job
(job_name, job_group, invoke_target, cron_expression,
misfire_policy, concurrent, status, create_by, create_time, remark)
SELECT '刷脸照片过期清理(保留 30 天)',
'SYSTEM',
'aptPhotoPurgeTask.purge()',
'0 30 3 * * ?',
'1',
1,
'1',
'IT-5',
NOW(3),
'每天 03:30 清理超过 apt.photo.retention-days(默认 30 天)的照片文件与记录'
FROM DUAL
WHERE NOT EXISTS (
SELECT 1 FROM sys_job WHERE invoke_target = 'aptPhotoPurgeTask.purge()'
);
-- -----------------------------------------------------------------------------
-- 校验
-- -----------------------------------------------------------------------------
SELECT '=== 44. 清理任务登记(应 1 行,status=1)===' AS section;
SELECT job_id, job_name, invoke_target, cron_expression, status
FROM sys_job
WHERE invoke_target = 'aptPhotoPurgeTask.purge()';
SELECT '=== 45. 当前照片记录与最老时间 ===' AS section;
SELECT COUNT(*) AS photos,
MIN(COALESCE(uploaded_at, captured_at, create_time)) AS oldest_at,
SUM(COALESCE(uploaded_at, captured_at, create_time) < DATE_SUB(NOW(3), INTERVAL 30 DAY)) AS expired
FROM apt_tablet_face_photo;