package com.zcxk.charge.web.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zcxk.charge.api.dto.CameraDto;
import com.zcxk.charge.core.entity.CameraManage;

import java.util.List;

/**
 * (CameraManage)表服务接口
 * @author makejava
 * @since 2020-11-26 10:25:13
 */
public interface CameraManageService {

    /**
    * 通过ID查询单条数据
    * @author Andy
    * @date 17:56 2021/8/17
    * @param id:
    * @return com.zcxk.charge.core.entity.CameraManage
    **/
    CameraManage selectById(Integer id);


    /**
    * 查询全部
    * @author Andy
    * @date 17:56 2021/8/17
    * @param :
    * @return java.util.List<com.zcxk.charge.core.entity.CameraManage>
    **/
    List<CameraManage> selectAll();

    /**
    * 通过实体作为筛选条件查询
    * @author Andy
    * @date 17:56 2021/8/17
    * @param cameraManage:
    * @return java.util.List<com.zcxk.charge.core.entity.CameraManage>
    **/
    List<CameraManage> selectList(CameraManage cameraManage);

    /**
    * 新增数据
    * @author Andy
    * @date 17:57 2021/8/17
    * @param cameraManage:
    * @return int
    **/
    int insert(CameraManage cameraManage);

    /**
    * 批量新增
    * @author Andy
    * @date 17:57 2021/8/17
    * @param cameraManages:
    * @return int
    **/
    int batchInsert(List<CameraManage> cameraManages);

    /**
    * 修改数据
    * @author Andy
    * @date 17:57 2021/8/17
    * @param cameraManage:
    * @return int
    **/
    int update(CameraManage cameraManage);

    /**
    * 通过主键删除数据
    * @author Andy
    * @date 17:57 2021/8/17
    * @param id:
    * @return int
    **/
    int deleteById(Integer id);

    /**
    * 查询总数据数
    * @author Andy
    * @date 17:57 2021/8/17
    * @param :
    * @return int
    **/
    int count();

    /**
    * 分页查询
    * @author Andy
    * @date 17:57 2021/8/17
    * @param cameraManage:
    * @param page:
    * @return com.baomidou.mybatisplus.core.metadata.IPage<com.zcxk.charge.core.entity.CameraManage>
    **/
    IPage<CameraManage> selectPage(CameraManage cameraManage, IPage<CameraManage> page);

    /**
    * appSelectPage
    * @author Andy
    * @date 17:57 2021/8/17
    * @param cameraManage:
    * @param page:
    * @return com.baomidou.mybatisplus.core.metadata.IPage<com.zcxk.charge.core.entity.CameraManage>
    **/
    IPage<CameraManage> appSelectPage(CameraManage cameraManage, IPage<CameraManage> page);

    /**
    * 删除多个
    * @author Andy
    * @date 17:57 2021/8/17
    * @param ids:
    * @return int
    **/
    int deleteAll(List<Integer> ids);

    /**
    * getCameraTree
    * @author Andy
    * @date 17:57 2021/8/17
    * @param typeId:
    * @return java.util.List<com.zcxk.charge.api.dto.CameraDto>
    **/
    List<CameraDto> getCameraTree(Long typeId);

    /**
    * getAllCameras
    * @author Andy
    * @date 17:58 2021/8/17
    * @param id:
    * @return java.util.List<com.zcxk.charge.core.entity.CameraManage>
    **/
    List<CameraManage> getAllCameras(Integer id);
}