package com.dxhy.admin.sys.dao;

import java.util.List;

import com.dxhy.admin.sys.entity.SysCompanyEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dxhy.admin.sys.entity.SysDeptEntity;
import com.dxhy.admin.sys.entity.SysUserOrgEntity;

/**
 * 用户与角色对应关系
 * 
 * @author jiaohongyang
 */
@Mapper
public interface SysUserOrgDao extends BaseMapper<SysUserOrgEntity> {

    /**
     * 根据用户ID，获取角色ID列表
     * 
     * @param userId
     *            用户id
     * @return 用户和机构关联信息
     */
    List<SysUserOrgEntity> queryOrgIdList(@Param("userId") Long userId);

    /**
     * 根据用户id查询部门信息
     * 
     * @param userId
     *            用户信息
     * @return 部门信息
     */
    List<SysDeptEntity> queryOrgCodes(@Param("userId") Long userId);

    /**
     * 修改部门信息
     * 
     * @param taxno
     *            税号
     * @param taxname
     *            名称
     * @param deptId
     *            部门id
     */
    void updateDeptId(@Param("taxno") String taxno, @Param("taxname") String taxname, @Param("deptId") Long deptId);

    /**
     * 获取登陆用户对应的所有组织
     *
     * @param userId
     *            用户id
     */
    List<SysCompanyEntity> getOrgsByUserId(Long userId);
}
