package com.yupi.springbootinit.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.IService; import com.yupi.springbootinit.model.dto.user.UserQueryRequest; import com.yupi.springbootinit.model.entity.User; import com.yupi.springbootinit.model.vo.LoginUserVO; import com.yupi.springbootinit.model.vo.UserVO; import java.util.List; import javax.servlet.http.HttpServletRequest; import me.chanjar.weixin.common.bean.WxOAuth2UserInfo; /** * 用户服务 * * @author 程序员鱼皮 * @from 编程导航知识星球 */ public interface UserService extends IService { /** * 用户注册 * * @param userAccount 用户账户 * @param userPassword 用户密码 * @param checkPassword 校验密码 * @return 新用户 id */ long userRegister(String userAccount, String userPassword, String checkPassword); /** * 用户登录 * * @param userAccount 用户账户 * @param userPassword 用户密码 * @param request * @return 脱敏后的用户信息 */ LoginUserVO userLogin(String userAccount, String userPassword, HttpServletRequest request); /** * 用户登录(微信开放平台) * * @param wxOAuth2UserInfo 从微信获取的用户信息 * @param request * @return 脱敏后的用户信息 */ LoginUserVO userLoginByMpOpen(WxOAuth2UserInfo wxOAuth2UserInfo, HttpServletRequest request); /** * 获取当前登录用户 * * @param request * @return */ User getLoginUser(HttpServletRequest request); /** * 获取当前登录用户(允许未登录) * * @param request * @return */ User getLoginUserPermitNull(HttpServletRequest request); /** * 是否为管理员 * * @param request * @return */ boolean isAdmin(HttpServletRequest request); /** * 是否为管理员 * * @param user * @return */ boolean isAdmin(User user); /** * 用户注销 * * @param request * @return */ boolean userLogout(HttpServletRequest request); /** * 获取脱敏的已登录用户信息 * * @return */ LoginUserVO getLoginUserVO(User user); /** * 获取脱敏的用户信息 * * @param user * @return */ UserVO getUserVO(User user); /** * 获取脱敏的用户信息 * * @param userList * @return */ List getUserVO(List userList); /** * 获取查询条件 * * @param userQueryRequest * @return */ QueryWrapper getQueryWrapper(UserQueryRequest userQueryRequest); }