package com.ruoyi.energymeter.service;
|
|
import com.ruoyi.energymeter.pojo.EnergyMeterDevice;
|
|
import java.time.LocalDate;
|
import java.util.List;
|
|
/**
|
* 同步调度服务:批次创建、任务执行、失败重试与进度推进。
|
*/
|
public interface EnergyMeterSyncService {
|
|
/**
|
* 每天 08:00 的自动同步:同一北京日期只创建一个批次。
|
*/
|
Long triggerScheduledSync();
|
|
/**
|
* 新绑定设备的历史补采。
|
*/
|
void triggerBackfill(EnergyMeterDevice device, LocalDate start, LocalDate end);
|
|
/**
|
* 停用后重新启用时按进度补采停用期间数据。
|
*/
|
Long triggerBackfillGap(EnergyMeterDevice device);
|
|
/**
|
* 手动查表,返回批次ID。
|
*/
|
Long triggerManual(List<Long> meterIds, LocalDate start, LocalDate end, Boolean includeReadings);
|
|
/**
|
* 异步执行一个批次。
|
*/
|
void executeRunAsync(Long runId);
|
|
/**
|
* 处理到期的重试任务与超时的 RUNNING 任务,返回处理数量。
|
*/
|
int recoverDueTasks();
|
}
|