37 lines
1.5 KiB
Java
37 lines
1.5 KiB
Java
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<Page<UserReservationVO>> getUserReservation(@PathVariable("userId") Long userId,
|
|
@RequestParam(defaultValue = "10") Integer page,
|
|
@RequestParam(defaultValue = "10") Integer size) {
|
|
Page<Reservation> pageRequest = new Page<>(page, size);
|
|
Page<UserReservationVO> res = reservationService.getUserReservationVO(userId, pageRequest);
|
|
return ResponseResult.success(res);
|
|
}
|
|
|
|
}
|