package com.admin.service; import com.admin.common.dto.TunnelDto; import com.admin.common.dto.TunnelUpdateDto; import com.admin.common.lang.R; import com.admin.entity.Tunnel; import com.baomidou.mybatisplus.extension.service.IService; /** *

* 隧道服务类 *

* * @author QAQ * @since 2025-06-03 */ public interface TunnelService extends IService { /** * 创建隧道 * @param tunnelDto 隧道数据 * @return 结果 */ R createTunnel(TunnelDto tunnelDto); /** * 获取隧道列表 * @return 结果 */ R getAllTunnels(); /** * 更新隧道(只允许修改名称、流量计费、端口范围) * @param tunnelUpdateDto 更新数据 * @return 结果 */ R updateTunnel(TunnelUpdateDto tunnelUpdateDto); /** * 删除隧道 * @param id 隧道ID * @return 结果 */ R deleteTunnel(Long id); /** * 获取用户可用的隧道列表 * @return 结果 */ R userTunnel(); /** * 隧道诊断功能 * @param tunnelId 隧道ID * @return 诊断结果 */ R diagnoseTunnel(Long tunnelId); Integer getNodePort(Long nodeId, Integer type); }