package com.xinquan.user.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xinquan.common.core.web.page.PageInfo;
import com.xinquan.system.api.domain.vo.InviteRankListVO;
import com.xinquan.system.api.model.AppCaptchaBody;
import com.xinquan.system.api.model.AppLoginUser;
import com.xinquan.system.api.model.AppVerifyCellPhoneBody;
import com.xinquan.system.api.model.AppWXLoginBody;
import com.xinquan.system.api.domain.AppUser;
import com.xinquan.user.api.domain.dto.AppUserDTO;
import com.xinquan.user.domain.dto.UserAnswerDTO;
import com.xinquan.system.api.domain.vo.AppUserVO;
import com.xinquan.user.domain.vo.TagVO;
import java.util.List;
import java.util.Optional;
/**
*
* 用户信息表 服务类
*
*
* @author mitao
* @since 2024-08-21
*/
public interface AppUserService extends IService {
/**
* 获取用户信息
*
* @param dto
* @return
*/
Optional getUserByCondition(AppUserDTO dto);
Optional getUserByCondition1(AppUserDTO dto);
/**
* app用户注册
* @param appUserDTO
* @return
*/
AppUser registerAppUser(AppUserDTO appUserDTO);
/**
* APP微信登录
*
* @param body
* @return
*/
AppLoginUser wxLogin(AppWXLoginBody body);
/**
* 苹果登录
*
* @param appleId
* @param source
* @return
*/
AppLoginUser appleLogin(String appleId,String device);
/**
* 验证码登录
*
* @param body
* @return
*/
AppLoginUser appCaptchaLogin(AppCaptchaBody body);
/**
* 微信苹果登录验证手机号码操作
*
* @param body
* @return
*/
AppLoginUser verifyCellPhone(AppVerifyCellPhoneBody body);
/**
* 保存计划引导页用户的答案
*
* @param dto 用户计划引导答案数据传输对象
*/
void saveUserAnswers(UserAnswerDTO dto);
/**
* 获取问题二的标签列表
*
* @return List
*/
List getTagList();
/**
* 更新APP用户信息
*
* @param dto APP用户数据传输对象
*/
void updateAppUser(AppUserDTO dto);
/**
* 获取当前登录用户信息
*
* @return 用户信息
* @see AppUserVO
*/
AppUserVO getCurrentUser();
List inviteRankList(Integer pageCurr,Integer pageSize);
List inviteRankListNolimit();
}