package com.njcn.gather.systemmonitor.disk.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.gather.systemmonitor.disk.pojo.param.DiskMonitorParam;
import com.njcn.gather.systemmonitor.disk.pojo.vo.DiskMonitorVO;

import java.time.LocalDateTime;

/**
 * 磁盘监控任务服务。
 */
public interface IDiskMonitorJobService {

    DiskMonitorVO.JobRunVO runJob(DiskMonitorParam.JobRunParam param);

    Page<DiskMonitorVO.JobListVO> listJobs(DiskMonitorParam.JobListParam param);

    DiskMonitorVO.JobDetailVO getJobDetail(Long jobId);

    void executeAppStartMonitor();

    void executeDailyScheduleMonitor();

    LocalDateTime getNextDailyRunTime();

    void executeNotifyTest(String driveLetter);
}
