package com.iailab.module.data.video.service;

import com.iailab.framework.common.pojo.PageResult;
import com.iailab.framework.common.service.BaseService;
import com.iailab.module.data.video.controller.admin.camera.vo.CameraPageReqVO;
import com.iailab.module.data.video.dto.CameraDTO;
import com.iailab.module.data.video.entity.CameraEntity;

import javax.validation.Valid;
import java.util.List;
import java.util.Map;

/**
 * @author PanZhibao
 * @Description
 * @createTime 2024年02月27日
 */
public interface CameraService extends BaseService<CameraEntity> {

    PageResult<CameraDTO> getPage(CameraPageReqVO cameraPageReqVO);

    List<CameraDTO> list(@Valid CameraPageReqVO cameraPageReqVO);

    List<CameraDTO> apiCameraList(Map<String, Object> params);

    CameraDTO get(String id);

    void save(CameraDTO dto);

    void update(CameraDTO dto);

    void delete(String id);

    Long cheack(CameraDTO dto);

    List<CameraDTO> getByNVRId(String nvrId);

    CameraDTO getByCode(String code);

    void dealCapture(Map<String, String> params);

    void setStatus(String id, Integer status);
}