package com.ruoyi.rocketmq.service;

import com.ruoyi.rocketmq.domain.InitialSwitchOtherCollectData;

import java.util.List;
import java.util.Map;

/**
 * 交换机系统其他信息采集数据Service接口
 * 
 * @author gyt
 * @date 2025-09-23
 */
public interface IInitialSwitchOtherCollectDataService 
{
    /**
     * 查询交换机系统其他信息采集数据
     * 
     * @param id 交换机系统其他信息采集数据主键
     * @return 交换机系统其他信息采集数据
     */
    public InitialSwitchOtherCollectData selectInitialSwitchOtherCollectDataById(Long id);

    /**
     * 查询交换机系统其他信息采集数据列表
     * 
     * @param initialSwitchOtherCollectData 交换机系统其他信息采集数据
     * @return 交换机系统其他信息采集数据集合
     */
    public List<InitialSwitchOtherCollectData> selectInitialSwitchOtherCollectDataList(InitialSwitchOtherCollectData initialSwitchOtherCollectData);

    /**
     * 新增交换机系统其他信息采集数据
     * 
     * @param initialSwitchOtherCollectData 交换机系统其他信息采集数据
     * @return 结果
     */
    public int insertInitialSwitchOtherCollectData(InitialSwitchOtherCollectData initialSwitchOtherCollectData);

    /**
     * 修改交换机系统其他信息采集数据
     * 
     * @param initialSwitchOtherCollectData 交换机系统其他信息采集数据
     * @return 结果
     */
    public int updateInitialSwitchOtherCollectData(InitialSwitchOtherCollectData initialSwitchOtherCollectData);

    /**
     * 批量删除交换机系统其他信息采集数据
     * 
     * @param ids 需要删除的交换机系统其他信息采集数据主键集合
     * @return 结果
     */
    public int deleteInitialSwitchOtherCollectDataByIds(Long[] ids);

    /**
     * 删除交换机系统其他信息采集数据信息
     * 
     * @param id 交换机系统其他信息采集数据主键
     * @return 结果
     */
    public int deleteInitialSwitchOtherCollectDataById(Long id);

    /**
     * 交换机图形监控监控项基础信息
     * @param initialSwitchOtherCollectData
     * @return
     */
    Map getSwitchMonitorMsg(InitialSwitchOtherCollectData initialSwitchOtherCollectData);

    /**
     * 图形监控交换机设备CPU使用率
     * @param initialSwitchOtherCollectData
     * @return
     */
    Map<String, Object> getSwitchCpuUseMsg(InitialSwitchOtherCollectData initialSwitchOtherCollectData);

    /**
     * 图形监控交换机设备系统功率
     * @param initialSwitchOtherCollectData
     * @return
     */
    Map<String, Object> getSwitchPowerMsg(InitialSwitchOtherCollectData initialSwitchOtherCollectData);

    /**
     * 图形监控交换机设备内存利用率
     * @param initialSwitchOtherCollectData
     * @return
     */
    Map<String, Object> getSwitchMemUseMsg(InitialSwitchOtherCollectData initialSwitchOtherCollectData);
}
