package org.dromara.member.mapper;

import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.member.domain.AppUser;
import org.dromara.member.domain.vo.AppUserVo;

/**
 * App端用户信息Mapper接口
 *
 * @author pengles
 */
public interface AppUserMapper extends BaseMapperPlus<AppUser, AppUserVo> {

    /**
     * 根据用户账号查询用户
     *
     * @param userName 用户账号
     * @return 用户信息
     */
    AppUserVo selectUserByUserName(String userName);

    /**
     * 根据手机号查询用户信息
     *
     * @param phone 手机号
     * @return 用户信息
     */
    AppUserVo selectUserByPhone(String phone);

    /**
     * 根据邮箱查询用户信息
     *
     * @param email 邮箱
     * @return 用户信息
     */
    AppUserVo selectUserByEmail(String email);

    /**
     * 校验用户账号是否唯一
     *
     * @param userName 用户账号
     * @return 结果
     */
    int checkUserNameUnique(String userName);

    /**
     * 校验手机号码是否唯一
     *
     * @param phone 手机号码
     * @return 结果
     */
    int checkPhoneUnique(String phone);

    /**
     * 校验email是否唯一
     *
     * @param email 用户邮箱
     * @return 结果
     */
    int checkEmailUnique(String email);

}
