package com.ruoyi.rocketmq.service;

import com.ruoyi.rocketmq.domain.InitialSystemInfo;
import com.ruoyi.rocketmq.domain.vo.SystemMsgVo;

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

/**
 * 系统监控信息Service接口
 * 
 * @author gyt
 * @date 2025-08-25
 */
public interface IInitialSystemInfoService 
{
    /**
     * 查询系统监控信息
     * 
     * @param id 系统监控信息主键
     * @return 系统监控信息
     */
    public InitialSystemInfo selectInitialSystemInfoById(Long id);

    /**
     * 查询系统监控信息列表
     * 
     * @param initialSystemInfo 系统监控信息
     * @return 系统监控信息集合
     */
    public List<InitialSystemInfo> selectInitialSystemInfoList(InitialSystemInfo initialSystemInfo);

    /**
     * 新增系统监控信息
     * 
     * @param initialSystemInfo 系统监控信息
     * @return 结果
     */
    public int insertInitialSystemInfo(InitialSystemInfo initialSystemInfo);

    /**
     * 修改系统监控信息
     * 
     * @param initialSystemInfo 系统监控信息
     * @return 结果
     */
    public int updateInitialSystemInfo(InitialSystemInfo initialSystemInfo);

    /**
     * 批量删除系统监控信息
     * 
     * @param ids 需要删除的系统监控信息主键集合
     * @return 结果
     */
    public int deleteInitialSystemInfoByIds(Long[] ids);

    /**
     * 删除系统监控信息信息
     * 
     * @param id 系统监控信息主键
     * @return 结果
     */
    public int deleteInitialSystemInfoById(Long id);

    /**
     * 批量新增系统监控信息
     *
     * @param initialSystemInfo 系统监控信息集合
     * @return 结果
     */
    public int batchInsertInitialSystemInfo(List<InitialSystemInfo> initialSystemInfo);

    /**
     * 系统进程（个）
     * @param initialSystemInfo
     * @return
     */
    Map<String, Object> systemProcessEcharts(InitialSystemInfo initialSystemInfo);

    /**
     * 登录用户数（个）
     * @param initialSystemInfo
     * @return
     */
    Map<String, Object> systemUserNumEcharts(InitialSystemInfo initialSystemInfo);

    /**
     * 系统基础信息
     * @param initialSystemInfo
     * @return
     */
    SystemMsgVo getSystemDetailsMsg(InitialSystemInfo initialSystemInfo);
}
