package com.ruoyi.rocketmq.mapper;

import com.ruoyi.rocketmq.domain.InitialBandwidthTraffic;

import java.util.List;

/**
 * 初始带宽流量Mapper接口
 * 
 * @author gyt
 * @date 2025-08-20
 */
public interface InitialBandwidthTrafficMapper 
{
    /**
     * 查询初始带宽流量
     * 
     * @param id 初始带宽流量主键
     * @return 初始带宽流量
     */
    public InitialBandwidthTraffic selectInitialBandwidthTrafficById(Long id);

    /**
     * 查询初始带宽流量列表
     * 
     * @param initialBandwidthTraffic 初始带宽流量
     * @return 初始带宽流量集合
     */
    public List<InitialBandwidthTraffic> selectInitialBandwidthTrafficList(InitialBandwidthTraffic initialBandwidthTraffic);

    /**
     * 新增初始带宽流量
     * 
     * @param initialBandwidthTraffic 初始带宽流量
     * @return 结果
     */
    public int insertInitialBandwidthTraffic(InitialBandwidthTraffic initialBandwidthTraffic);

    /**
     * 修改初始带宽流量
     * 
     * @param initialBandwidthTraffic 初始带宽流量
     * @return 结果
     */
    public int updateInitialBandwidthTraffic(InitialBandwidthTraffic initialBandwidthTraffic);

    /**
     * 删除初始带宽流量
     * 
     * @param id 初始带宽流量主键
     * @return 结果
     */
    public int deleteInitialBandwidthTrafficById(Long id);

    /**
     * 批量删除初始带宽流量
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteInitialBandwidthTrafficByIds(Long[] ids);

    /**
     * 按时间分表插入流量数据
     * @param data
     * @return
     */
    int insert(InitialBandwidthTraffic data);
    /**
     * 批量插入数据
     * @param data 流量数据实体类
     */
    int batchInsert(InitialBandwidthTraffic data);
    /**
     * 网络接口基础信息
     * @param initialBandwidthTraffic
     * @return
     */
    InitialBandwidthTraffic getNetInterfaceDetailsMsg(InitialBandwidthTraffic initialBandwidthTraffic);
    /**
     * 查询eth0流量信息并封装为多折线ECharts图表数据
     * @param condition
     * @return
     */
    List<InitialBandwidthTraffic> getNetTrafficList(InitialBandwidthTraffic condition);
}
