package com.ruoyi.post.mapper;

import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.post.domain.PostUser;

import java.util.List;

/**
 * @Author HuiANan
 * @Date 2023/1/25 20:20
 * @Exegesis:
 */
public interface PostUserMapper {
    /**
     * 查询邮贝用户信息;
     *
     * @param userId 邮贝用户信息;主键
     * @return 邮贝用户信息;
     */
    public PostUser selectPostUserByUserId(Long userId);

    /**
     * 查询邮贝用户信息;列表
     *
     * @param postUser 邮贝用户信息;
     * @return 邮贝用户信息;集合
     */
    public List<PostUser> selectPostUserList(PostUser postUser);

    /**
     * 新增邮贝用户信息;
     *
     * @param postUser 邮贝用户信息;
     * @return 结果
     */
    public int insertPostUser(PostUser postUser);

    /**
     * 修改邮贝用户信息;
     *
     * @param postUser 邮贝用户信息;
     * @return 结果
     */
    public int updatePostUser(PostUser postUser);

    /**
     * 删除邮贝用户信息;
     *
     * @param userId 邮贝用户信息;主键
     * @return 结果
     */
    public int deletePostUserByUserId(Long userId);

    /**
     * 批量删除邮贝用户信息;
     *
     * @param userIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePostUserByUserIds(Long[] userIds);

    /**
     * 校验用户名称是否唯一
     *
     * @param userName 用户名称
     * @return 结果
     */
    public SysUser checkUserNameUnique(String userName);

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

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

    /**
     * 通过用户电话查询用户
     *
     * @param userPhone 用户电话
     * @return 用户对象信息
     */
    public SysUser selectUserByUserPhone(String userPhone);
}
