Skip to content

Commit

Permalink
#2 - Feat: Add Introduction Detail Information Search basic MVCs
Browse files Browse the repository at this point in the history
  • Loading branch information
eun61n00 committed Jun 22, 2023
1 parent 0100332 commit f25ec02
Show file tree
Hide file tree
Showing 22 changed files with 1,077 additions and 96 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.routemaster.api.total.domain.attraction.service.AttractionInformationSearchService;
import org.routemaster.api.total.domain.attraction.service.AttractionDetailSearchService;
import org.routemaster.api.total.infra.tourapi.vo.AttractionSearchVO;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
Expand All @@ -23,7 +23,7 @@
@RequiredArgsConstructor
public class CommonDetailSearchRestController {

private final AttractionInformationSearchService service;
private final AttractionDetailSearchService service;

@Operation(
summary = "공통 상세 정보 조회",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
package org.routemaster.api.total.domain.attraction.controller;

import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.routemaster.api.total.domain.attraction.service.AttractionDetailSearchService;
import org.routemaster.api.total.infra.tourapi.vo.detail.*;
import org.springframework.http.ResponseEntity;
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 reactor.core.publisher.Mono;

@Slf4j
@RestController
@RequestMapping("/attraction-detail/info")
@RequiredArgsConstructor
public class DetailSearchRestController {

private final AttractionDetailSearchService service;

@GetMapping("/tour")
public ResponseEntity<Mono<TourAttractionDetailVO>> tourAttractionDetail(
@RequestParam Integer contentId
) {
return ResponseEntity.ok().body(service.searchTourAttractionDetail(contentId));
}

@GetMapping("/culture")
public ResponseEntity<Mono<CultureAttractionDetailVO>> cultureAttractionDetail(
@RequestParam Integer contentId
) {
return ResponseEntity.ok().body(service.searchCultureAttractionDetail(contentId));
}

@GetMapping("/stay")
public ResponseEntity<Mono<StayAttractionDetailVO>> stayAttractionDetail(
@RequestParam Integer contentId
) {
return ResponseEntity.ok().body(service.searchStayAttractionDetail(contentId));
}

@GetMapping("/festival")
public ResponseEntity<Mono<FestivalAttractionDetailVO>> festivalAttractionDetail(
@RequestParam Integer contentId
) {
return ResponseEntity.ok().body(service.searchFestivalAttractionDetail(contentId));
}

@GetMapping("/leports")
public ResponseEntity<Mono<LeportsAttractionDetailVO>> leportsAttractionDetail(
@RequestParam Integer contentId
) {
return ResponseEntity.ok().body(service.searchLeportsAttractionDetail(contentId));
}

@GetMapping("/restaurant")
public ResponseEntity<Mono<RestaurantAttractionDetailVO>> restaurantAttractionDetail(
@RequestParam Integer contentId
) {
return ResponseEntity.ok().body(service.searchRestaurantAttractionDetail(contentId));
}

@GetMapping("/shopping")
public ResponseEntity<Mono<ShoppingAttractionDetailVO>> shoppingAttractionDetail(
@RequestParam Integer contentId
) {
return ResponseEntity.ok().body(service.searchShoppingAttractionDetail(contentId));
}

@GetMapping("/course")
public ResponseEntity<Mono<CourseAttractionDetailVO>> courseAttractionDetail(
@RequestParam Integer contentId
) {
return ResponseEntity.ok().body(service.searchCourseAttractionDetail(contentId));
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package org.routemaster.api.total.domain.attraction.service;

import org.routemaster.api.total.infra.tourapi.vo.AttractionSearchVO;
import org.routemaster.api.total.infra.tourapi.vo.detail.*;
import org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration;
import reactor.core.publisher.Mono;

public interface AttractionDetailSearchService {

Mono<AttractionSearchVO> searchAttractionCommonDetail(Integer contentId);
Mono<TourAttractionDetailVO> searchTourAttractionDetail(Integer contentId);
Mono<CultureAttractionDetailVO> searchCultureAttractionDetail(Integer contentId);
Mono<LeportsAttractionDetailVO> searchLeportsAttractionDetail(Integer contentId);
Mono<FestivalAttractionDetailVO> searchFestivalAttractionDetail(Integer contentId);
Mono<RestaurantAttractionDetailVO> searchRestaurantAttractionDetail(Integer contentId);
Mono<ShoppingAttractionDetailVO> searchShoppingAttractionDetail(Integer contentId);
Mono<StayAttractionDetailVO> searchStayAttractionDetail(Integer contentId);
Mono<CourseAttractionDetailVO> searchCourseAttractionDetail(Integer contentId);


}

This file was deleted.

Loading

0 comments on commit f25ec02

Please sign in to comment.