package com.sckw.auth.service;

import com.sckw.auth.model.vo.req.*;
import com.sckw.auth.model.vo.res.LoginResVo;
import com.sckw.core.exception.SystemException;

/**
 *
 */
public interface IAuthService {

    /**
     * 登录
     * @param reqVo
     * @return
     */
    LoginResVo login(LoginReqVo reqVo) throws SystemException;

    /**
     * @param reqVo 注册入参
     * @desc: 用户注册
     * @author: czh
     * @date: 2023/6/16
     */
    void register(RegisterReqVo reqVo);

    /**
     * @param reqDto 忘记密码入参
     * @desc: 忘记密码
     * @author: czh
     * @date: 2023/6/19
     */
    void forgetPassword(ForgetPasswordReqVo reqDto);

    /**
     * @param reqVo 修改密码入参
     * @desc: 修改密码
     * @author: czh
     * @date: 2023/7/3
     */
    void updatePassword(UpdatePasswordReqVo reqVo);

    /**
     * @param id 用户id
     * @desc: 重置密码
     * @author: czh
     * @date: 2023/7/3
     */
    void resetPassword(Long id);

    /**
     * @desc: 获取验证码
     * @param: reqVo 入参
     * @author: czh
     * @date 2023/7/23
     * @return String
     */
    String getRegisterSms(GetRegisterSmsReqVo reqVo);
}
