package com.tourguide.api.guide; import com.tourguide.common.api.ApiResponse; import com.tourguide.modules.user.dto.GuideRealtimeStatusRequest; import com.tourguide.modules.user.dto.GuideRealtimeStatusResponse; import com.tourguide.modules.user.service.GuideRealtimeStatusService; import com.tourguide.security.AppUserPrincipal; import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.validation.Valid; /** 导游端实时定位及接单状态接口。 */ @RestController @RequestMapping("/api/guide/realtime-status") public class GuideRealtimeStatusController { private final GuideRealtimeStatusService statusService; public GuideRealtimeStatusController(GuideRealtimeStatusService statusService) { this.statusService = statusService; } @GetMapping public ApiResponse get(@AuthenticationPrincipal AppUserPrincipal principal) { return ApiResponse.success(statusService.get(principal.getUserId())); } @PutMapping public ApiResponse update( @AuthenticationPrincipal AppUserPrincipal principal, @Valid @RequestBody GuideRealtimeStatusRequest request) { return ApiResponse.success(statusService.update(principal.getUserId(), request)); } }