package com.tourguide.api.guide; import com.tourguide.common.api.ApiResponse; import com.tourguide.common.api.PageResponse; import com.tourguide.modules.order.dto.GuideOrderResponse; import com.tourguide.modules.order.service.GuideTourOrderService; import com.tourguide.security.AppUserPrincipal; import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/api/guide/orders") public class GuideTourOrderController { private final GuideTourOrderService orderService; public GuideTourOrderController(GuideTourOrderService orderService) { this.orderService = orderService; } @GetMapping public ApiResponse> page( @AuthenticationPrincipal AppUserPrincipal principal, @RequestParam(defaultValue = "all") String tab, @RequestParam(defaultValue = "1") long page, @RequestParam(defaultValue = "50") long size) { return ApiResponse.success(orderService.page(principal.getUserId(), tab, page, size)); } @GetMapping("/{id}") public ApiResponse detail(@AuthenticationPrincipal AppUserPrincipal principal, @PathVariable Long id) { return ApiResponse.success(orderService.detail(principal.getUserId(), id)); } @PostMapping("/{id}/start") public ApiResponse start(@AuthenticationPrincipal AppUserPrincipal principal, @PathVariable Long id) { return ApiResponse.success(orderService.start(principal.getUserId(), id)); } }