package com.gci.boot.modules.monitor.service;

import com.gci.boot.modules.gis.entity.TbGisRunningbus;
import com.gci.boot.modules.gis.vo.GisRedisVehicleVo;
import com.gci.boot.modules.monitor.vo.AlarmCountVO;
import com.gci.boot.modules.monitor.vo.OverallMonitorVO;
import com.gci.boot.modules.monitor.vo.RunningbusVO;
import com.gci.boot.modules.monitor.vo.VehicleTreeVO;
import com.gci.boot.modules.video.vo.VideoDeviceVO;

import java.util.List;

public interface IMonitorService {

    /**
     * 获取全局监控车辆数据
     * @param statusType
     * @return
     */
     List<OverallMonitorVO> getOverallVehicle(String statusType,String plateNumber,String projectId, String vehicleType);

    /**
     * 获取所有车辆对应项目，为空的归到其它
     * @param plateNumber
     * @return
     */
     List<VehicleTreeVO> getVehicleTree(String plateNumber);

    /**
     * 获取各状态车辆数量
     * @return
     */
     List<AlarmCountVO> getVehicleCount();


    /**
     * 全局监控--获取车辆详情
     * @param plateNumber
     * @return
     */
     OverallMonitorVO getVehicleInfo(String plateNumber);

    /**
     * 实时监控--根据车牌获取车辆视频通道信息
     * @param plateNumber
     * @return
     */
     VideoDeviceVO getVehicleVideoChannel(String plateNumber);

    /**
     * 实时监控--获取车辆详情
     * @param plateNumber
     * @return
     */
    RunningbusVO getRunningbusInfo(String plateNumber);

    /**
     * 实时监控--实时获取车辆关联围栏
     * @param plateNumber
     * @return
     */
    List<GisRedisVehicleVo> getVehicleFenceInfo(String plateNumber);
}
