package com.sz.admin.monitor.service;

import com.mybatisflex.core.service.IService;
import com.sz.admin.monitor.pojo.dto.nvr.NvrDTO;
import com.sz.admin.monitor.pojo.dto.nvr.NvrCreateDTO;
import com.sz.admin.monitor.pojo.dto.nvr.NvrListDTO;
import com.sz.admin.monitor.pojo.dto.nvr.NvrUpdateDTO;
import com.sz.admin.monitor.pojo.po.Nvr;
import com.sz.admin.monitor.pojo.vo.nvr.NvrVO;
import com.sz.core.common.entity.PageResult;
import com.sz.core.common.entity.SelectIdsDTO;

import java.util.List;

/**
 * ClassName: NvrService
 * Package: com.sz.admin.monitor.service
 * Description:
 */
public interface NvrService extends IService<Nvr> {


    // 更新设备的状态
    void upStatusById(Long id, int status);

    Long create(NvrCreateDTO dto);

    void update(NvrUpdateDTO dto);

    PageResult<NvrVO> page(NvrListDTO dto);

    List<NvrVO> list(NvrListDTO dto);

    void remove(SelectIdsDTO dto);

    NvrVO detail(Long id);
    // 获取指定节点下的所有NVR数据
    PageResult<NvrVO> listByNode(Long nodeId, Integer type, Integer pageNum, Integer pageSize);


}
