package com.ruoyi.project.business.mapper;

import com.ruoyi.project.business.domain.TbArea;
import com.ruoyi.project.business.domain.TbCountryArea;

import java.util.List;

/**
 * 国家区域Mapper接口
 *
 * @author ruoyi
 * @date 2024-04-16
 */
public interface TbCountryAreaMapper
{
    /**
     * 查询国家区域
     *
     * @param countryId 国家区域主键
     * @return 国家区域
     */
    public TbCountryArea selectTbCountryAreaByCountryId(Long countryId);

    /**
     * 查询国家区域列表
     *
     * @param tbCountryArea 国家区域
     * @return 国家区域集合
     */
    public List<TbCountryArea> selectTbCountryAreaList(TbCountryArea tbCountryArea);

    /**
     * 新增国家区域
     *
     * @param tbCountryArea 国家区域
     * @return 结果
     */
    public int insertTbCountryArea(TbCountryArea tbCountryArea);

    /**
     * 修改国家区域
     *
     * @param tbCountryArea 国家区域
     * @return 结果
     */
    public int updateTbCountryArea(TbCountryArea tbCountryArea);

    /**
     * 删除国家区域
     *
     * @param countryId 国家区域主键
     * @return 结果
     */
    public int deleteTbCountryAreaByCountryId(Long countryId);

    /**
     * 批量删除国家区域
     *
     * @param countryIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTbCountryAreaByCountryIds(Long[] countryIds);

    /**
     * 批量删除国家区域
     *
     * @param areaIds 需要删除的区域主键集合
     * @return 结果
     */
    int deleteTbCountryAreaByAreaIds(Long[] areaIds);

    /**
     * 批量删除国家区域
     *
     * @param areaId 需要删除的区域主键
     * @return 结果
     */
    int deleteTbCountryAreaByAreaId(Long areaId);

    /**
     * 根据组合id更新国家区域
     *
     * @param tbArea 区域
     * @return 结果
     */
    int updateTbCountryAreaById(TbArea tbArea);

    /**
     * 绑定国家区域
     *
     * @param areaId 区域id
     * @param countryId 国家id
     * @return 结果
     */
    int bindCountryArea(Long areaId, Long countryId);
}
