package com.keao.edu.user.dao;

import com.keao.edu.auth.api.entity.SysUser;
import com.keao.edu.auth.api.enums.UserLockFlag;
import com.keao.edu.common.dal.BaseDAO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface SysUserDao extends BaseDAO<Integer, SysUser> {

	/**
	 * 根据用户名查询对象
	 * @param username
	 * @return
	 */
	SysUser queryByUsername(String username);

	/**
	 * 根据手机号查询对象
	 * @param phone
	 * @return
	 */
	SysUser queryByPhone(String phone);

	/**
	 * 根据手机号查询对象
	 * @param phone
	 * @return
	 */
	SysUser queryByPhoneAndClient(@Param("phone") String phone, @Param("client") String client);

	/**
	 * 根据状态查询
	 * @param status
	 * @return
	 */
	List<SysUser> queryByStatus(UserLockFlag status);

	/**
	 * 删除用户角色
	 * @param userId
	 */
	void delEmployeeRole(Integer userId);

	/**
	 * 批量新增用户角色
	 * @param id
	 * @param roles
	 */
	void batchAddEmployeeRole(@Param("userId") Integer id, @Param("roles") List<Integer> roles);

}