-- 车辆GPS分段里程计算定时任务配置

-- 1. 实时计算任务（每5分钟执行一次，计算最近10分钟的数据）
INSERT INTO sys_job (job_name, job_group, invoke_target, cron_expression, misfire_policy, concurrent, status, create_by, create_time, remark)
VALUES (
  'GPS分段里程实时计算',
  'DEFAULT',
  'vehicleGpsSegmentMileageTask.calculateRecentSegmentMileage(''10'')',
  '0 0/5 * * * ?',
  '2',
  '0',
  '1',
  'admin',
  NOW(),
  '每5分钟执行一次，计算最近10分钟内所有车辆的GPS分段里程。参数10表示计算最近10分钟的数据，可根据需要调整'
);

-- 2. 每小时汇总任务（每小时执行一次，计算最近1小时的数据）
INSERT INTO sys_job (job_name, job_group, invoke_target, cron_expression, misfire_policy, concurrent, status, create_by, create_time, remark)
VALUES (
  'GPS分段里程小时汇总',
  'DEFAULT',
  'vehicleGpsSegmentMileageTask.calculateRecentSegmentMileage(''60'')',
  '0 5 * * * ?',
  '2',
  '0',
  '1',
  'admin',
  NOW(),
  '每小时第5分钟执行，计算最近60分钟内所有车辆的GPS分段里程，用于补充遗漏的数据'
);

-- 3. 每日全天计算任务（每天凌晨执行，计算前一天的数据）
INSERT INTO sys_job (job_name, job_group, invoke_target, cron_expression, misfire_policy, concurrent, status, create_by, create_time, remark)
VALUES (
  'GPS分段里程每日汇总',
  'DEFAULT',
  'vehicleGpsSegmentMileageTask.calculateDateSegmentMileage(DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 DAY), ''%Y-%m-%d''))',
  '0 10 1 * * ?',
  '2',
  '0',
  '1',
  'admin',
  NOW(),
  '每天凌晨1点10分执行，计算前一天所有车辆的GPS分段里程。使用DATE_FORMAT动态计算前一天的日期'
);

-- 注意事项说明
-- 1. 默认所有任务状态为'1'（暂停），需要在后台管理系统中手动启动
-- 2. 时间间隔配置在 sys_config 表中：gps.mileage.segment.minutes（默认5分钟）
-- 3. 计算方式配置在 sys_config 表中：gps.mileage.calculate.method（默认tianditu）
-- 4. 建议启动顺序：
--    - 先启动"GPS分段里程实时计算"，观察运行情况
--    - 确认无误后，再启动"GPS分段里程小时汇总"作为补充
--    - 最后启动"GPS分段里程每日汇总"作为数据完整性保障
-- 5. cron表达式说明：
--    - '0 0/5 * * * ?' : 每5分钟执行一次
--    - '0 5 * * * ?' : 每小时第5分钟执行
--    - '0 10 1 * * ?' : 每天凌晨1点10分执行
