package com.cico.nest.lcdp.boot.core.qxsd.application.service;

import java.util.*;
import jakarta.validation.*;
import com.cico.nest.lcdp.boot.core.qxsd.adapter.web.vo.tunnelPassage.*;
import com.cico.nest.lcdp.boot.core.qxsd.infrastructure.gatewayimpl.database.dataobject.TunnelPassageDO;
import com.cico.nest.lcdp.framework.common.pojo.PageResult;
import com.cico.nest.lcdp.framework.common.pojo.PageParam;

/**
 * 隧道横通道 Service 接口
 *
 * @author 管理员
 */
public interface TunnelPassageService {

    /**
     * 创建隧道横通道
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    String createTunnelPassage(@Valid TunnelPassageSaveReqVO createReqVO);

    /**
     * 更新隧道横通道
     *
     * @param updateReqVO 更新信息
     */
    void updateTunnelPassage(@Valid TunnelPassageSaveReqVO updateReqVO);

    /**
     * 删除隧道横通道
     *
     * @param id 编号
     */
    void deleteTunnelPassage(String id);

    /**
     * 获得隧道横通道
     *
     * @param id 编号
     * @return 隧道横通道
     */
    TunnelPassageDO getTunnelPassage(String id);

    /**
     * 获得隧道横通道分页
     *
     * @param pageReqVO 分页查询
     * @return 隧道横通道分页
     */
    PageResult<TunnelPassageDO> getTunnelPassagePage(TunnelPassagePageReqVO pageReqVO);

}
