RiderAuthController.java 1.47 KB
package com.diligrp.rider.controller;

import com.diligrp.rider.common.result.Result;
import com.diligrp.rider.dto.ApplyDTO;
import com.diligrp.rider.dto.LoginDTO;
import com.diligrp.rider.service.RiderAuthService;
import com.diligrp.rider.vo.RiderVO;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/api/rider")
@RequiredArgsConstructor
public class RiderAuthController {

    private final RiderAuthService authService;

    /** 骑手申请注册 */
    @PostMapping("/apply")
    public Result<Void> apply(@Valid @RequestBody ApplyDTO dto) {
        authService.apply(dto);
        return Result.success();
    }

    /** 密码登录 */
    @PostMapping("/login/pass")
    public Result<RiderVO> loginByPass(@Valid @RequestBody LoginDTO dto) {
        return Result.success(authService.loginByPass(dto));
    }

    /** 获取个人信息 */
    @GetMapping("/user/info")
    public Result<RiderVO> getInfo(jakarta.servlet.http.HttpServletRequest request) {
        Long riderId = (Long) request.getAttribute("riderId");
        return Result.success(authService.getInfo(riderId));
    }

    /** 切换休息/接单状态 */
    @PostMapping("/user/toggleRest")
    public Result<Void> toggleRest(jakarta.servlet.http.HttpServletRequest request) {
        Long riderId = (Long) request.getAttribute("riderId");
        authService.toggleRest(riderId);
        return Result.success();
    }
}