package com.doumee.api.web;
|
|
import com.doumee.core.annotation.LoginRequired;
|
import com.doumee.core.annotation.trace.Trace;
|
import com.doumee.core.model.ApiResponse;
|
import com.doumee.dao.dto.DriverLoginRequest;
|
import com.doumee.dao.dto.DriverRegisterRequest;
|
import com.doumee.dao.dto.DriverVerifyRequest;
|
import com.doumee.dao.vo.AccountResponse;
|
import com.doumee.service.business.DriverInfoService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
/**
|
* 司机验证码登录接口
|
* @author rk
|
* @date 2026/04/08
|
*/
|
@Api(tags = "司机验证码登录")
|
@Trace(exclude = true)
|
@RestController
|
@RequestMapping("/web/driverInfo")
|
@Slf4j
|
public class DriverInfoApi extends ApiController {
|
|
@Autowired
|
private DriverInfoService driverInfoService;
|
|
@Trace
|
@ApiOperation(value = "发送验证码", notes = "司机验证码登录")
|
@GetMapping("/sendCode")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "query", dataType = "String", name = "telephone", value = "手机号", required = true)
|
})
|
public ApiResponse sendCode(@RequestParam String telephone) {
|
driverInfoService.sendRegisterCode(telephone);
|
return ApiResponse.success("验证码发送成功");
|
}
|
|
@Trace
|
@ApiOperation(value = "司机验证码登录", notes = "手机号+验证码,无账号自动注册并登录")
|
@PostMapping("/register")
|
public ApiResponse<AccountResponse> register(@RequestBody DriverRegisterRequest request) {
|
return ApiResponse.success("注册成功", driverInfoService.register(request));
|
}
|
|
@Trace
|
@ApiOperation(value = "司机登录", notes = "手机号+密码登录")
|
@PostMapping("/login")
|
public ApiResponse<AccountResponse> login(@RequestBody DriverLoginRequest request) {
|
return ApiResponse.success("登录成功", driverInfoService.login(request));
|
}
|
|
@LoginRequired
|
@Trace
|
@ApiOperation(value = "提交实名认证", notes = "初次提交或驳回后修改")
|
@PostMapping("/submitVerify")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
|
})
|
public ApiResponse submitVerify(@RequestBody DriverVerifyRequest request) {
|
driverInfoService.submitVerify(this.getMemberId(), request);
|
return ApiResponse.success("提交成功");
|
}
|
|
@LoginRequired
|
@Trace
|
@ApiOperation(value = "查询实名认证详情", notes = "司机端查询")
|
@GetMapping("/verifyDetail")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
|
})
|
public ApiResponse verifyDetail() {
|
return ApiResponse.success(driverInfoService.getVerifyDetail(this.getMemberId()));
|
}
|
|
}
|