package com.fastbee.data.service.devicedetail;

import com.fastbee.common.core.domain.CommonResult;
import com.fastbee.common.model.vo.iot.DeviceDetailVo;
import com.fastbee.common.model.vo.iot.QueryLogVo;
import com.fastbee.data.domain.vo.AnfangInfoVo;
import com.fastbee.iot.domain.Device;
import com.fastbee.iot.model.haiwei.CmdHaiWeiVo;
import com.fastbee.iot.model.haiwei.dto.CmdHaiWeiDto;
import com.fastbee.waterele.domain.MaWatereleRecord;
import com.fastbee.waterele.domain.dto.MaGuangaiRecordDto;
import com.fastbee.waterele.domain.dto.MaWatereleRecordDto;
import com.fastbee.xunjian.domain.XjInspectionRecords;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

public interface IDeviceDetailService {

    /**
     * 获取刷卡记录
     * @param maWatereleRecordDto
     * @return
     */
    List<MaWatereleRecord> shuakaRecord(MaWatereleRecordDto maWatereleRecordDto);

    List<MaGuangaiRecordDto> guangaiRecord(MaGuangaiRecordDto maWatereleRecordDto);

    List<Device> getBindDevices(String ids);

    ArrayList<Object> gongdianChart(QueryLogVo queryLogVo);
    List<Object> yongshuiChart(QueryLogVo queryLogVo);

    List<XjInspectionRecords> xunjianRecord(QueryLogVo queryLogVo);

    CommonResult<CmdHaiWeiVo> cmdDevices(CmdHaiWeiDto cmdHaiWeiDto);

    AnfangInfoVo anfangInfo(Long deviceId);

    /**
     * 供电实时数据
     * @param queryLogVo
     */
    List<HashMap<Object, Object>> gongdianRealData(QueryLogVo queryLogVo);
    List<HashMap<Object, Object>> yongshuiRealData(QueryLogVo queryLogVo);
    DeviceDetailVo getDetailInfo(Device device);
}
