package com.ruoyi.system.service;

import java.util.List;

import com.ruoyi.system.domain.TShouhuanInfo;
import com.ruoyi.system.domain.dto.MapGpsDto;

/**
 * 手环信息 实时数据Service接口
 *
 * @author ruoyi
 * @date 2023-09-07
 */
public interface ITShouhuanInfoService {
    /**
     * 查询手环信息 实时数据
     *
     * @param id 手环信息 实时数据主键
     * @return 手环信息 实时数据
     */
    public TShouhuanInfo selectTShouhuanInfoById(Long id);

    /**
     * 查询手环信息 实时数据列表
     *
     * @param tShouhuanInfo 手环信息 实时数据
     * @return 手环信息 实时数据集合
     */
    public List<TShouhuanInfo> selectTShouhuanInfoList(TShouhuanInfo tShouhuanInfo);

    /**
     * 查询手环信息 实时数据列表
     *
     * @param deviceIdCode 手环信息 实时数据
     * @return 手环信息 实时数据集合
     */
    public List<TShouhuanInfo> selectTShouhuanInfoListBydeviceIdCode(String deviceIdCode);

    /**
     * 新增手环信息 实时数据
     *
     * @param tShouhuanInfo 手环信息 实时数据
     * @return 结果
     */
    public int insertTShouhuanInfo(TShouhuanInfo tShouhuanInfo);

    /**
     * 修改手环信息 实时数据
     *
     * @param tShouhuanInfo 手环信息 实时数据
     * @return 结果
     */
    public int updateTShouhuanInfo(TShouhuanInfo tShouhuanInfo);

    /**
     * 批量删除手环信息 实时数据
     *
     * @param ids 需要删除的手环信息 实时数据主键集合
     * @return 结果
     */
    public int deleteTShouhuanInfoByIds(Long[] ids);

    /**
     * 删除手环信息 实时数据信息
     *
     * @param id 手环信息 实时数据主键
     * @return 结果
     */
    public int deleteTShouhuanInfoById(Long id);

    /**
     * 数据大屏地图
     *
     * @return 结果
     */
    public List<MapGpsDto> selectMapGpsView();

    /**
     * 查询在线百分比
     *
     * @return
     */
    Double selectTShouhuanInfoPercentage();

    /**
     * 查询所有设备
     *
     * @return
     */
    Integer selectTShouhuanInfoAllCount();

    /**
     * 查询所有在线设备
     *
     * @return
     */
    Integer selectTShouhuanInfoAllOnlineCount();

    /**
     * 查询所有离线设备
     *
     * @return
     */
    Integer selectTShouhuanInfoAllUnOnlineCount();
}
