package com.yida.data.auth.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yida.data.common.core.entity.system.SystemUser;
import com.yida.data.common.core.entity.system.UserDataPermission;

import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author MrBird
 */
public interface UserMapper extends BaseMapper<SystemUser> {

    /**
     * 获取用户
     *
     * @param username 用户名
     * @return 用户
     */
    SystemUser findByName(String username);

    /**
     * 获取用户数据权限
     *
     * @param userId 用户id
     * @return 数据权限
     */
    List<UserDataPermission> findUserDataPermissions(Long userId);

    /**
     * 查询用户
     *
     * @param deptId 部门
     * @param perms  角色perms
     * @return
     */
    List<SystemUser> listUserByPerms(@Param("deptId") Long deptId,
                                     @Param("perms") String perms);

    /**
     * 查询主角色code字符串
     *
     * @param mainDeptId 主部门id
     * @return java.util.List<java.lang.String>
     * @author ZYJ
     * @date 2022/1/14 13:24
     */
    List<String> findMainRole(@Param("mainDeptId") Long mainDeptId);
}
