package com.unis.equipmentOnlineRateAssessment.modular.hk.service;



import com.unis.equipmentOnlineRateAssessment.modular.hk.dto.req.*;
import com.unis.equipmentOnlineRateAssessment.modular.hk.dto.res.*;

/**
 * 海康
 *
 * @author ybw
 * @version V1.0
 * @className HkService
 * @date 2024/6/18
 **/
public interface HkService {
    //----------------------------------------资源目录-----------------------------------------------

    /**
     * 分页获取区域列表
     *
     * @param pageReqDTO
     * @methodName: getRegions
     * @return: com.ybw.dto.res.ResultResDTO<com.ybw.dto.res.PageResDTO < com.ybw.dto.res.RegionResDTO>>
     * @author: ybw
     * @date: 2024/6/19
     **/
    PageResDTO<RegionResDTO> getRegions(PageReqDTO pageReqDTO);
    //----------------------------------------视频应用服务-----------------------------------------------

    /**
     * 根据编号获取监控点详细信息
     *
     * @param cameraReqDTO
     * @methodName: getCamera
     * @return: com.ybw.dto.res.ResultResDTO<com.ybw.dto.res.RegionResDTO>
     * @author: ybw
     * @date: 2024/6/19
     **/
    CameraResDTO getCamera(CameraReqDTO cameraReqDTO);

    /**
     * 获取监控点预览取流 获取监控点预览取流  URLv2
     *
     * @param previewReqDTO
     * @methodName: s
     * @return: com.ybw.dto.res.ResultResDTO<com.ybw.dto.res.PreviewResDTO>
     * @author: ybw
     * @date: 2024/6/20
     **/
    PreviewResDTO previewURLs(PreviewReqDTO previewReqDTO);

    //----------------------------------------视频应用服务-录像-----------------------------------------------

    /**
     * 获取监控点回放取流URLv2
     *
     * @param playbackReqDTO
     * @methodName: playbackURLs
     * @return: com.ybw.dto.res.PlaybackResDTO
     * @author: ybw
     * @date: 2024/6/20
     **/
    PlaybackResDTO playbackURLs(PlaybackReqDTO playbackReqDTO);

    /**
     * 开始手动录像
     *
     * @param recordStartReqDTO
     * @methodName: recordStart
     * @return: com.ybw.dto.res.RecordStartResDTO
     * @author: ybw
     * @date: 2024/6/20
     **/
    RecordStartResDTO recordStart(RecordStartReqDTO recordStartReqDTO);

    /**
     * 停止手动录像
     *
     * @param recordStopReqDTO
     * @methodName: recordStop
     * @return: com.ybw.dto.res.RecordStartResDTO
     * @author: ybw
     * @date: 2024/6/20
     **/
    void recordStop(RecordStopReqDTO recordStopReqDTO);
}
