package com.tongran.rocketmq.service;

import com.tongran.rocketmq.domain.RmFrpcConfigManage;

import java.util.List;

/**
 * FRPC配置管理Service接口
 * 
 * @author tongran
 * @date 2025-12-19
 */
public interface IRmFrpcConfigManageService 
{
    /**
     * 查询FRPC配置管理
     * 
     * @param id FRPC配置管理主键
     * @return FRPC配置管理
     */
    public RmFrpcConfigManage selectRmFrpcConfigManageById(Long id);

    /**
     * 查询FRPC配置管理列表
     * 
     * @param rmFrpcConfigManage FRPC配置管理
     * @return FRPC配置管理集合
     */
    public List<RmFrpcConfigManage> selectRmFrpcConfigManageList(RmFrpcConfigManage rmFrpcConfigManage);

    /**
     * 新增FRPC配置管理
     * 
     * @param rmFrpcConfigManage FRPC配置管理
     * @return 结果
     */
    public int insertRmFrpcConfigManage(RmFrpcConfigManage rmFrpcConfigManage);

    /**
     * 修改FRPC配置管理
     * 
     * @param rmFrpcConfigManage FRPC配置管理
     * @return 结果
     */
    public int updateRmFrpcConfigManage(RmFrpcConfigManage rmFrpcConfigManage);

    /**
     * 批量删除FRPC配置管理
     * 
     * @param ids 需要删除的FRPC配置管理主键集合
     * @return 结果
     */
    public int deleteRmFrpcConfigManageByIds(Long[] ids);

    /**
     * 删除FRPC配置管理信息
     * 
     * @param id FRPC配置管理主键
     * @return 结果
     */
    public int deleteRmFrpcConfigManageById(Long id);

    /**
     * 生成frp连接
     * @param rmFrpcConfigManage
     * @return
     */
    int addFrpConnect(RmFrpcConfigManage rmFrpcConfigManage);

    /**
     * 根据clientid查询frp信息
     * @param rmFrpcConfigManage
     * @return
     */
    RmFrpcConfigManage getFrpMsgByClientId(RmFrpcConfigManage rmFrpcConfigManage);
}
