package com.zcxk.dao;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zcxk.dto.DeviceDto;
import com.zcxk.entity.DeviceEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @description
 * @auto wangli
 * @data 2020-11-16 11:36
 */
@Mapper
public interface DeviceMapper {

    /**
     * 查询单个设备
     * @return
     */
    DeviceDto selectById(Long id);
    List<DeviceDto> selectByIds(@Param("ids")List<Long> ids);

    /**
     * 添加设备
     * @return
     */
    Integer insert(DeviceEntity deviceEntity);

    /**
     * 批量插入设备信息
     * @param devices
     * @return
     */
    Integer batchInsert(List<DeviceEntity> devices);

    /**
     * 单条删除设备
     * @return
     */
    Integer deleteById(Long id);
    /**
     * 删除设备
     * @return
     */
    Integer batchDelete(@Param("ids") List<Long> ids);

    /**
     * 修改设备信息
     * @return
     */
    Integer update(DeviceEntity deviceEntity);

    /**
     * 查询设备信息
     * @return
     */
    List<DeviceDto> selectList( @Param("deviceDto") DeviceDto deviceDto);

    /**
     * 查询设备信息
     * @return
     */
    List<DeviceDto> selectListForReport( @Param("deviceDto") DeviceDto deviceDto);

    /**
     * 分页查询
     * @return
     */
    IPage<DeviceDto> selectPage(IPage<DeviceDto> page, DeviceDto deviceDto);

    List<DeviceDto> selectListByScene( @Param("deviceDto") DeviceDto deviceDto);

    List<DeviceDto> selectListBySceneId( @Param("deviceDto") DeviceDto deviceDto);

}
