package com.zcxk.charge.core.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zcxk.charge.api.dto.SceneDeviceAttributeDto;
import com.zcxk.charge.api.vo.SceneDeviceAttributeVo;
import com.zcxk.charge.core.entity.MonitorInfoEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.io.Serializable;
import java.util.List;

/**
 *
 * sms_monitor_infoDAO接口
 * @author: WYY
 * @date 2020-12-02 09:29
 */
@Mapper
public interface MonitorInfoMapper extends BaseMapper<MonitorInfoEntity> {

	/**
	* 自定义分页查询
	* @author Andy
	* @date 18:09 2021/8/17
	* @param page:
	* @param monitorInfoEntity:
	* @return com.baomidou.mybatisplus.extension.plugins.pagination.Page<com.zcxk.charge.core.entity.MonitorInfoEntity>
	**/
     Page<MonitorInfoEntity> findPage(IPage<MonitorInfoEntity> page,
                                      @Param("monitorInfo") MonitorInfoEntity monitorInfoEntity);

     /**
     * 查询单个
     * @author Andy
     * @date 18:09 2021/8/17
     * @param id:
     * @return com.zcxk.charge.core.entity.MonitorInfoEntity
     **/
     MonitorInfoEntity findMonitorInfoById(Serializable id);

     /**
     * 查询集合
     * @author Andy
     * @date 18:09 2021/8/17
     * @param monitorInfoEntity:
     * @return java.util.List<com.zcxk.charge.core.entity.MonitorInfoEntity>
     **/
     List<MonitorInfoEntity> findList(MonitorInfoEntity monitorInfoEntity);

     /**
     * 查询属性集合
     * @author Andy
     * @date 18:10 2021/8/17
     * @param reportDto:
     * @return java.util.List<com.zcxk.charge.api.vo.SceneDeviceAttributeVo>
     **/
     List<SceneDeviceAttributeVo> findAttributeList(@Param("report") SceneDeviceAttributeDto reportDto);

     /**
     * findAttributeListForLastDay
     * @author Andy
     * @date 18:10 2021/8/17
     * @param reportDto:
     * @return java.util.List<com.zcxk.charge.api.vo.SceneDeviceAttributeVo>
     **/
     List<SceneDeviceAttributeVo> findAttributeListForLastDay(@Param("report") SceneDeviceAttributeDto reportDto);

}
