package com.fzm.mall.server.admin.user_center.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.fzm.mall.server.admin.user_center.entity.dto.UserLockDTO;
import com.fzm.mall.server.admin.user_center.entity.vo.UserVO;
import com.fzm.mall.server.admin.user_center.model.User;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * @author wangp
 * @date 2021/3/22 14:33
 * @description 用户信息表 服务类
 * @since JDK 1.8
 */
public interface IUserService extends IService<User> {

    /**
     * 分页查询-用户列表
     *
     * @param uid      用户唯一标识
     * @param account  系列id
     * @param pageNum  当前页数
     * @param pageSize 每页个数
     * @return 分页信息
     */
    IPage<UserVO> page(String uid, String account, Integer pageNum, Integer pageSize);

    /**
     * 用户锁定/解锁
     *
     * @param lockDTO 用户锁定/解锁信息
     */
    void lock(UserLockDTO lockDTO);

    /**
     * 根据注册手机号查询用户信息
     *
     * @param phone 注册手机号
     * @return 用户信息
     */
    User queryByPhone(String phone);

    /**
     * 根据uid查询用户信息
     *
     * @param uid 用户id
     * @return 用户信息
     */
    User queryByUid(String uid);

    /**
     * 获取所有用户联系电话
     *
     * @return
     */
    String getAllUserLinkPhone();

    /**
     * 根据注册手机号查询用户信息
     *
     * @param address 链上地址
     * @return 用户信息
     */
    User queryByAddress(String address);
}
