package github.benjamin.equipreservebackend.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import github.benjamin.equipreservebackend.entity.Reservation; import github.benjamin.equipreservebackend.response.ResponseResult; import github.benjamin.equipreservebackend.service.ReservationService; import github.benjamin.equipreservebackend.vo.UserReservationVO; import lombok.RequiredArgsConstructor; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/reservation") @RequiredArgsConstructor public class ReservationController { private final ReservationService reservationService; @PreAuthorize("hasRole('USER')") @PostMapping public ResponseResult addReservation(@RequestBody Reservation reservation) { reservationService.addReservation(reservation); return ResponseResult.success(); } @PreAuthorize("hasRole('USER')") @GetMapping("/{userId}") public ResponseResult> getUserReservation(@PathVariable("userId") Long userId, @RequestParam(defaultValue = "10") Integer page, @RequestParam(defaultValue = "10") Integer size) { Page pageRequest = new Page<>(page, size); Page res = reservationService.getUserReservationVO(userId, pageRequest); return ResponseResult.success(res); } }