package com.ruoyi.rocketmq.service;

import com.ruoyi.rocketmq.domain.InitialSystemOtherCollectData;

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

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

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

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

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

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

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

    /**
     * 获取服务器图形监控监控项基础信息
     * @param initialSystemOtherCollectData
     * @return
     */
    Map getMonitorMsg(InitialSystemOtherCollectData initialSystemOtherCollectData);

    /**
     * 查询系统登陆用户数(个)监控信息列表并封装为多折线ECharts图表数据
     * @param initialSystemOtherCollectData
     * @return
     */
    Map<String, Object> systemUserNumEcharts(InitialSystemOtherCollectData initialSystemOtherCollectData);

    /**
     * 查询交换卷文件的可用空间监控信息列表并封装为多折线ECharts图表数据
     * @param initialSystemOtherCollectData
     * @return
     */
    Map<String, Object> systemSwapSizeFreeEcharts(InitialSystemOtherCollectData initialSystemOtherCollectData);

    /**
     * 查询内存利用率监控信息列表并封装为多折线ECharts图表数据
     * @param initialSystemOtherCollectData
     * @return
     */
    Map<String, Object> memoryUtilizationEcharts(InitialSystemOtherCollectData initialSystemOtherCollectData);

    /**
     * 查询可用交换空间百分比监控信息列表并封装为多折线ECharts图表数据
     * @param initialSystemOtherCollectData
     * @return
     */
    Map<String, Object> systemSwapSizePercentEcharts(InitialSystemOtherCollectData initialSystemOtherCollectData);

    /**
     * 查询可用内存监控信息列表并封装为多折线ECharts图表数据
     * @param initialSystemOtherCollectData
     * @return
     */
    Map<String, Object> memorySizeAvailableEcharts(InitialSystemOtherCollectData initialSystemOtherCollectData);

    /**
     * 查询可用内存百分比监控信息列表并封装为多折线ECharts图表数据
     * @param initialSystemOtherCollectData
     * @return
     */
    Map<String, Object> memorySizePercentEcharts(InitialSystemOtherCollectData initialSystemOtherCollectData);

    /**
     * 查询进程数监控信息列表并封装为多折线ECharts图表数据
     * @param initialSystemOtherCollectData
     * @return
     */
    Map<String, Object> procNumEcharts(InitialSystemOtherCollectData initialSystemOtherCollectData);
}
