package com.fs.company.mapper;

import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.fs.company.domain.CompanyDomain;
import com.fs.company.param.CompanyDomainParam;
import com.fs.company.vo.CompanyDomainVo;
import org.apache.ibatis.annotations.Param;

/**
 * 域名管路Mapper接口
 *
 * @author fs
 * @date 2025-06-16
 */
public interface CompanyDomainMapper extends BaseMapper<CompanyDomain> {
    /**
     * 查询域名管路
     *
     * @param id 域名管路主键
     * @return 域名管路
     */
    CompanyDomain selectCompanyDomainById(Long id);

    /**
     * 查询域名管路列表
     *
     * @param companyDomain 域名管路
     * @return 域名管路集合
     */
    List<CompanyDomainVo> selectCompanyDomainList(CompanyDomainParam companyDomain);

    /**
     * 新增域名管路
     *
     * @param companyDomain 域名管路
     * @return 结果
     */
    int insertCompanyDomain(CompanyDomain companyDomain);

    /**
     * 修改域名管路
     *
     * @param companyDomain 域名管路
     * @return 结果
     */
    int updateCompanyDomain(CompanyDomain companyDomain);

    /**
     * 删除域名管路
     *
     * @param id 域名管路主键
     * @return 结果
     */
    int deleteCompanyDomainById(Long id);

    /**
     * 批量删除域名管路
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    int deleteCompanyDomainByIds(Long[] ids);

    /**
     * 获取路由链接列表数量查询接口
     *
     * @param companyDomain 参数
     * @return 结果
     **/
    List<CompanyDomainVo> selectCompanyDomainJoinInfo(CompanyDomainParam companyDomain);

    /**
     * 批量插入
     * @param list 插入数据
     * **/
    void batchDomainInfo(@Param("list") List<CompanyDomain> list);
}
