package com.sckw.auth.service;

import com.sckw.auth.model.vo.req.*;
import com.sckw.auth.model.vo.res.LoginResVo;
import com.sckw.auth.model.vo.res.LoginResVo1;
import com.sckw.core.exception.SystemException;
import com.sckw.core.web.response.HttpResult;

/**
 *
 */
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 id 用户id
     * @desc: 重置密码
     * @author: czh
     * @date: 2023/7/3
     */
    void resetPassword(Long id);

    /**
     * 司机端登录
     * @param loginBase
     * @return
     */
    HttpResult driverAuth(LoginBase loginBase);

    /**
     * @param loginBase {}
     * @desc 运营/企业账号登陆
     * @author zk
     * @date 2023/7/26
     **/
    HttpResult commonAuth(LoginBase loginBase);


    /**
     * @return LoginResVo1
     * @desc: 根据token获取登录信息
     * @author: czh
     * @date: 2023/9/27
     */
    LoginResVo1 getLoginResByToken(String clientType, String token);
}
