package com.tourguide.api.guide;
|
|
import com.tourguide.common.api.ApiResponse;
|
import com.tourguide.modules.review.dto.GuideRatingResponse;
|
import com.tourguide.modules.review.service.OrderReviewService;
|
import com.tourguide.security.AppUserPrincipal;
|
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import java.time.LocalDate;
|
|
@RestController
|
@RequestMapping("/api/guide/ratings")
|
public class GuideRatingController {
|
private final OrderReviewService reviewService;
|
|
public GuideRatingController(OrderReviewService reviewService) {
|
this.reviewService = reviewService;
|
}
|
|
@GetMapping
|
public ApiResponse<GuideRatingResponse> list(
|
@AuthenticationPrincipal AppUserPrincipal principal,
|
@RequestParam(required = false)
|
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate date,
|
@RequestParam(defaultValue = "1") long pageNum,
|
@RequestParam(defaultValue = "20") long pageSize) {
|
return ApiResponse.success(reviewService.guideRatings(principal.getUserId(), date, pageNum, pageSize));
|
}
|
}
|