package com.tuoheng.admin.service.cycle;

import com.tuoheng.admin.request.cycle.AddInspectionCycleRequest;
import com.tuoheng.admin.request.cycle.EditInspectionCycleRequest;
import com.tuoheng.admin.request.cycle.QueryInspectionCyclePageListRequest;
import com.tuoheng.common.core.utils.JsonResult;

import java.util.List;

/**
 * 周期任务Service接口
 *
 * @author wanjing
 * @team tuoheng
 * @date 2023-08-23
 */
public interface InspectionCycleService {

    /**
     * 查询周期任务列表(分页)
     *
     * @param request 周期任务查询实体
     * @return 周期任务集合
     */
    JsonResult selectPageList(QueryInspectionCyclePageListRequest request);

    /**
     * 查询周期任务信息
     *
     * @param id 周期任务Id
     * @return 周期任务
     */
    JsonResult getInfo(String id);

    /**
     * 新增巡检任务
     *
     * @param request 新增周期任务请求参数
     * @return 结果
     */
    JsonResult insert(AddInspectionCycleRequest request);

    /**
     * 修改周期任务
     *
     * @param request 修改任务请求参数
     * @return 结果
     */
    JsonResult update(EditInspectionCycleRequest request);

    /**
     * 删除周期任务信息
     *
     * @param idList 周期任务主键集合
     * @return 结果
     */
    JsonResult deleteByIdList(List<String> idList) ;

    /**
     * 周期任务启用，禁用
     *
     * @param id 周期任务主键
     * @param id 是否启用
     * @return 结果
     */
    JsonResult updateEnable(String id, Integer isEnable);

}
