package com.ygtx.system.mapper;

import java.util.List;
import com.ygtx.system.domain.SysUserDept;

/**
 * 用户与部门关联表 数据层
 * 
 * @author ruoyi
 */
public interface SysUserDeptMapper
{
    /**
     * 通过用户ID删除用户和部门关联
     * 
     * @param userId 用户ID
     * @return 结果
     */
    public int deleteUserDeptByUserId(Long userId);

    /**
     * 批量删除用户部门关联信息
     * 
     * @param userIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteUserDept(Long[] userIds);

    /**
     * 查询部门使用数量
     * 
     * @param deptId 部门ID
     * @return 结果
     */
    public int selectCountUserDeptByDeptId(Long deptId);

    /**
     * 批量新增用户部门信息
     * 
     * @param userDeptList 用户部门列表
     * @return 结果
     */
    public int batchUserDept(List<SysUserDept> userDeptList);
    
    /**
     * 通过用户ID查询部门ID列表
     * 
     * @param userId 用户ID
     * @return 部门ID列表
     */
    public List<Long> selectDeptListByUserId(Long userId);
    
    /**
     * 通过用户ID查询用户部门岗位信息列表
     * 
     * @param userId 用户ID
     * @return 用户部门岗位信息列表
     */
    public List<SysUserDept> selectUserDeptListByUserId(Long userId);
    
    /**
     * 通过用户ID查询主岗部门岗位信息
     * 
     * @param userId 用户ID
     * @return 主岗部门岗位信息
     */
    public SysUserDept selectMainUserDeptByUserId(Long userId);
}