package com.baiyue.lastleg.appointmentplanning; import com.baiyue.common.core.api.*; import com.baiyue.common.security.AuthenticatedUser; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/api/platform/v1/last-leg/appointment-planning/external-candidates") public class AppointmentExternalCandidateController { private final AppointmentExternalCandidateService service; public AppointmentExternalCandidateController(AppointmentExternalCandidateService service){this.service=service;} @GetMapping @PreAuthorize("hasAuthority('platform:appointment:list') and hasAuthority('platform:overseas-warehouse:last-mile-order:list')") public ApiResponse> page(@AuthenticationPrincipal AuthenticatedUser user, @RequestParam(defaultValue="1") int page,@RequestParam(defaultValue="20") int size, @RequestParam(required=false) String warehouseId,@RequestParam(required=false) String destination,@RequestParam(required=false) String keyword) { AppointmentPlanningController.requirePlatform(user); return ApiResponse.success(service.page(page,size,warehouseId,destination,keyword)); } }