package com.ruoyi.ibs.grid.mapper;

import java.util.List;

import com.ruoyi.ibs.grid.domain.dto.CustManageInfo;
import com.ruoyi.ibs.grid.domain.dto.CustManageSelectDTO;
import com.ruoyi.ibs.grid.domain.entity.SysGridUserCust;
import org.apache.ibatis.annotations.Param;

/**
 * 网格客户管户Mapper接口
 * 
 * @author ruoyi
 * @date 2024-11-07
 */
public interface SysGridUserCustMapper 
{
    /**
     * 查询网格客户管户
     * 
     * @param id 网格客户管户主键
     * @return 网格客户管户
     */
    public SysGridUserCust selectSysGridUserCustById(Long id);

    /**
     * 查询网格客户管户列表
     * 
     * @param sysGridUserCust 网格客户管户
     * @return 网格客户管户集合
     */
    public List<SysGridUserCust> selectSysGridUserCustList(SysGridUserCust sysGridUserCust);

    /**
     * 新增网格客户管户
     * 
     * @param sysGridUserCust 网格客户管户
     * @return 结果
     */
    public int insertSysGridUserCust(SysGridUserCust sysGridUserCust);

    /**
     * 修改网格客户管户
     * 
     * @param sysGridUserCust 网格客户管户
     * @return 结果
     */
    public int updateSysGridUserCust(SysGridUserCust sysGridUserCust);

    /**
     * 删除网格客户管户
     * 
     * @param id 网格客户管户主键
     * @return 结果
     */
    public int deleteSysGridUserCustById(Long id);

    /**
     * 批量删除网格客户管户
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSysGridUserCustByIds(Long[] ids);

    /**
     * 根据客户查询归属支行名称
     *
     * @param custId 网格客户管户主键
     * @return 网格客户管户
     */
    public String selectOutletNameByCustId(@Param("custId")String custId ,@Param("deptBranchId")String deptBranchId);

    /**
     * 根据客户查询网格客户经理
     *
     * @param custId 网格客户管户主键
     * @return 网格客户管户
     */
    public String selectManageByCust(@Param("custId")String custId ,@Param("deptBranchId")String deptBranchId);

    /**
     * 管护列表查询客户信息
     *
     * @param custManageInfo 网格客户管户主键
     * @return 网格客户管户
     */
    public List<SysGridUserCust> selectCustInfoByManage(CustManageInfo custManageInfo);

    /**
     * 管户分配解除
     *
     * @param custId 管户信息
     * @return 结果
     */
    public int updateRetailManage(@Param("operationType") String operationType ,@Param("gridPattern") String gridPattern ,@Param("custId") String custId ,@Param("belongUserId") String belongUserId);

    /**
     * 管护列表查询客户管护信息
     *
     * @param gridId 网格客户管户主键
     * @return 网格客户管户
     */
    public List<CustManageSelectDTO> selectManageInfoByCust(@Param("gridId") String gridId ,@Param("gridPattern") String gridPattern ,@Param("custIds") String[] custIds,@Param("userName") String userName);

}
