package com.tongran.rocketmq.mapper;

import com.tongran.rocketmq.domain.RmPppoeConfigSub;

import java.util.List;

/**
 * PPPoE配置子表Mapper接口
 * 
 * @author tongran
 * @date 2025-12-29
 */
public interface RmPppoeConfigSubMapper 
{
    /**
     * 查询PPPoE配置子表
     * 
     * @param id PPPoE配置子表主键
     * @return PPPoE配置子表
     */
    public RmPppoeConfigSub selectRmPppoeConfigSubById(Long id);

    /**
     * 查询PPPoE配置子表列表
     * 
     * @param rmPppoeConfigSub PPPoE配置子表
     * @return PPPoE配置子表集合
     */
    public List<RmPppoeConfigSub> selectRmPppoeConfigSubList(RmPppoeConfigSub rmPppoeConfigSub);

    /**
     * 新增PPPoE配置子表
     * 
     * @param rmPppoeConfigSub PPPoE配置子表
     * @return 结果
     */
    public int insertRmPppoeConfigSub(RmPppoeConfigSub rmPppoeConfigSub);

    /**
     * 修改PPPoE配置子表
     * 
     * @param rmPppoeConfigSub PPPoE配置子表
     * @return 结果
     */
    public int updateRmPppoeConfigSub(RmPppoeConfigSub rmPppoeConfigSub);

    /**
     * 删除PPPoE配置子表
     * 
     * @param id PPPoE配置子表主键
     * @return 结果
     */
    public int deleteRmPppoeConfigSubById(Long id);

    /**
     * 批量删除PPPoE配置子表
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteRmPppoeConfigSubByIds(Long[] ids);

    /**
     * 批量新增子表信息
     * @param subList
     * @return
     */
    int batchInsertRmPppoeConfigSub(List<RmPppoeConfigSub> subList);

    /**
     * 根据clientId删除子表信息
     * @param clientId
     * @return
     */
    int deleteRmPppoeConfigSubByClientId(String clientId);

    int updateRmPppoeConfigSubByVlan(RmPppoeConfigSub rmPppoeConfigSub);
}
