package com.ruoyi.project.business.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.project.business.domain.TbAgent;

import java.util.List;

/**
 * 【请填写功能名称】Mapper接口
 * 
 * @author ruoyi
 * @date 2024-04-16
 */
public interface TbAgentMapper extends BaseMapper<TbAgent>
{
    // /**
    //  * 查询【请填写功能名称】
    //  * 
    //  * @param agentId 【请填写功能名称】主键
    //  * @return 【请填写功能名称】
    //  */
    // public TbAgent selectTbAgentByAgentId(Long agentId);

    /**
     * 查询【请填写功能名称】列表
     * 
     * @param tbAgent 【请填写功能名称】
     * @return 【请填写功能名称】集合
     */
    public List<TbAgent> selectTbAgentList(TbAgent tbAgent);

    /**
     * 新增【请填写功能名称】
     * 
     * @param tbAgent 【请填写功能名称】
     * @return 结果
     */
    public int insertTbAgent(TbAgent tbAgent);

    /**
     * 修改【请填写功能名称】
     * 
     * @param tbAgent 【请填写功能名称】
     * @return 结果
     */
    public int updateTbAgent(TbAgent tbAgent);

    /**
     * 删除【请填写功能名称】
     * 
     * @param agentId 【请填写功能名称】主键
     * @return 结果
     */
    public int deleteTbAgentByAgentId(Long agentId);

    /**
     * 批量删除【请填写功能名称】
     * 
     * @param agentIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTbAgentByAgentIds(Long[] agentIds);

    Integer existAgentNo(String agentNo);

    Integer existNextAgent(Long[] agentIds);

    int selectCountByCountryIds(Long[] countryIds);

    int selectCountByAreaIds(Long[] areaIds);

    
    Integer existAgent(TbAgent tbAgent);

    List<TbAgent> selectForAccount(String permissionChar);

    List<TbAgent> selectForProject(String permissionChar);

    List<TbAgent> selectForYear(String yearParam);

    List<TbAgent> selectChildAgentList(String permission);

    List<TbAgent> selectAgentListByAreaIds(List<Long> areaIds);

    List<TbAgent> selectAgentDealLine(int configValue);

}
