Skip to content
This repository has been archived by the owner on Jan 15, 2024. It is now read-only.

Develop #91

Merged
merged 41 commits into from
Nov 27, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
c94e377
ResponseDto 생성 및 적용
tjdtn0219 Nov 21, 2023
1e39b31
Feat: 숙소 검색 http test 생성
yuhyun1 Nov 27, 2023
eb9ea53
Fix: 지역 코드가 null로 들어오는 경우 검색이 되지 않던 오류 수정
yuhyun1 Nov 27, 2023
519fd3a
Fix: temp 컨트롤러에 실제 컨트롤러에서 수정된 url 반영
yuhyun1 Nov 27, 2023
2f6ff40
Feat: Validation 추가 및 예외 핸들러 적용
tjdtn0219 Nov 27, 2023
10ccde1
Fix: todo 주석 제거
tjdtn0219 Nov 27, 2023
44588b6
Feat: Reservation Room 예외 핸들러 적용
tjdtn0219 Nov 27, 2023
66cc0a7
Fix: url temp 제거
yuhyun1 Nov 27, 2023
0959c31
Refactor: temp 데이터 삭제 및 url 수정
ypd06021 Nov 27, 2023
248004a
Merge pull request #70 from Mini-Team-6/feature/#69-create-accommodat…
yuhyun1 Nov 27, 2023
0cf10b5
Fix: cart, reservation 컨트롤러에서 @PreAuthorize 어노테이션 수정
ypd06021 Nov 27, 2023
7a68c2e
Fix: 컨플릭트 해결을 위한 TempAccommodationController 추가 및 url 수정
ypd06021 Nov 27, 2023
717c50a
Merge pull request #76 from Mini-Team-6/feature/#75-refactor-temp
ypd06021 Nov 27, 2023
cfdf059
Fix: TempAccommodationController 삭제
ypd06021 Nov 27, 2023
04d5901
Fix: AccommodationController url 오타 수정
ypd06021 Nov 27, 2023
e7b7332
Refactor: 결제 관련 로직 삭제 및 결제수단 추가
tjdtn0219 Nov 27, 2023
5c00a84
Feat: 숙소ID에 따른 객실 전체 조회 기능 구현
yuhyun1 Nov 27, 2023
5323839
Fix: 충돌 해결 & Cart Service 수정
tjdtn0219 Nov 27, 2023
aa1b73d
Fix: 코드 리뷰 반영 수정
tjdtn0219 Nov 27, 2023
e5e2169
Resolve Conflict
tjdtn0219 Nov 27, 2023
648cfb6
Feat: 객실 상세 정보 조회 기능 구현
yuhyun1 Nov 27, 2023
3669d83
Resolve Conflict : MemberController 수정
tjdtn0219 Nov 27, 2023
4b257ea
Resolve Conflict
tjdtn0219 Nov 27, 2023
a082716
Fix: Test Code 예약 결제 로직 삭제
tjdtn0219 Nov 27, 2023
35cf3a5
Merge pull request #74 from Mini-Team-6/feature/#72-reservation-room-…
tjdtn0219 Nov 27, 2023
7a53bed
Fix: Resolve conflict
tjdtn0219 Nov 27, 2023
5a5fb79
Fix: ReservationRoomController hasRole 추가
tjdtn0219 Nov 27, 2023
8cb7000
Feat: cart 커스텀 예외처리 추가 및 dto 어노테이션 수정
ypd06021 Nov 27, 2023
f67f05a
Feat: 숙소 상세 조회 http 테스트 추가
yuhyun1 Nov 27, 2023
041c174
Feat: 숙소 상세 조회 기능 구현
yuhyun1 Nov 27, 2023
e8978e6
Feat: 0이하의 페이지 요청 시 빈 값 반환
yuhyun1 Nov 27, 2023
2e74b58
Merge pull request #84 from Mini-Team-6/feature/#81-separating-methods
yuhyun1 Nov 27, 2023
aae7c05
Merge pull request #82 from Mini-Team-6/feature/#80-payment-logic-update
ypd06021 Nov 27, 2023
d361ed7
Fix: api 요청 dto
yuhyun1 Nov 27, 2023
a0f6858
Fix: 사용하지 않는 파일 삭제
yuhyun1 Nov 27, 2023
6a74821
Fix: api exception
yuhyun1 Nov 27, 2023
2aae5ca
Fix: api 로직 수정
yuhyun1 Nov 27, 2023
1116e8b
Fix: api 로직 수정
yuhyun1 Nov 27, 2023
b4c0102
Merge pull request #85 from Mini-Team-6/feature/#81-separating-methods
yuhyun1 Nov 27, 2023
bf75f2a
Merge pull request #83 from Mini-Team-6/feature/#77-cart-exception
tjdtn0219 Nov 27, 2023
0fad3ab
Fix: 코드 리팩토링
ypd06021 Nov 27, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
import ybe.mini.travelserver.domain.accommodation.dto.AccommodationAndRoomResponse;
import ybe.mini.travelserver.domain.accommodation.dto.AccommodationDetailGetResponse;
import ybe.mini.travelserver.domain.accommodation.dto.AccommodationGetResponse;
import ybe.mini.travelserver.domain.accommodation.entity.AreaCode;
import ybe.mini.travelserver.domain.accommodation.service.AccommodationService;
Expand All @@ -13,7 +13,7 @@

@RestController
@RequiredArgsConstructor
@RequestMapping("/temp/accommodations")
@RequestMapping("/accommodations")
public class AccommodationController {

private final AccommodationService accommodationService;
Expand All @@ -26,18 +26,18 @@ public ResponseDto<List<AccommodationGetResponse>> searchAccommodations(
) {
int numOfRows = 10;
List<AccommodationGetResponse> accommodations =
accommodationService.bringAccommodationsFromAPI(pageNo, numOfRows, keyword, areaCode);
accommodationService.bringAccommodations(pageNo, numOfRows, keyword, areaCode);
return new ResponseDto<>(HttpStatus.OK.value(), accommodations);
}

@GetMapping("/{accommodationId}")
public ResponseDto<AccommodationAndRoomResponse> getAccommodationAndRooms(
@PathVariable Long accommodationId,
@RequestParam(required = false, defaultValue = "_") String keyword
@GetMapping
public ResponseDto<AccommodationDetailGetResponse> searchAccommodations(
@RequestParam String keyword,
@RequestParam(value = "area-code") AreaCode areaCode
) {
AccommodationAndRoomResponse accommodationAndRoomResponse
= accommodationService.bringAccommodationAndRoomsFromAPI(accommodationId, keyword);
return new ResponseDto<>(HttpStatus.OK.value(), accommodationAndRoomResponse);
AccommodationDetailGetResponse accommodationDetailGetResponse =
accommodationService.bringAccommodationFromAPI(keyword, areaCode);
return new ResponseDto<>(HttpStatus.OK.value(), accommodationDetailGetResponse);
}

}

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package ybe.mini.travelserver.domain.accommodation.dto;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Builder;
import ybe.mini.travelserver.domain.accommodation.entity.Accommodation;
import ybe.mini.travelserver.domain.room.dto.RoomGetResponse;

import java.util.List;

@JsonIgnoreProperties(ignoreUnknown = true)
public record AccommodationDetailGetResponse(
Long Id,
String name,
String address,
String image
) {
@Builder
public static AccommodationDetailGetResponse fromEntity(
Accommodation accommodation
) {
return new AccommodationDetailGetResponse(
accommodation.getId(),
accommodation.getName(),
accommodation.getLocation().getAddress(),
accommodation.getImage()
);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,14 @@
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import ybe.mini.travelserver.domain.accommodation.dto.AccommodationAndRoomResponse;
import ybe.mini.travelserver.domain.accommodation.dto.AccommodationDetailGetResponse;
import ybe.mini.travelserver.domain.accommodation.dto.AccommodationGetResponse;
import ybe.mini.travelserver.domain.accommodation.entity.Accommodation;
import ybe.mini.travelserver.domain.accommodation.entity.AreaCode;
import ybe.mini.travelserver.domain.accommodation.repository.AccommodationRepository;
import ybe.mini.travelserver.domain.room.dto.RoomGetResponse;
import ybe.mini.travelserver.domain.room.entity.Room;
import ybe.mini.travelserver.domain.room.service.RoomService;
import ybe.mini.travelserver.global.api.TourAPIService;

import java.util.Collections;
import java.util.List;
import java.util.Objects;

Expand All @@ -22,37 +20,35 @@
public class AccommodationService {

private final AccommodationRepository accommodationRepository;
private final RoomService roomService;
private final TourAPIService tourAPIService;

public List<AccommodationGetResponse> bringAccommodationsFromAPI(
public List<AccommodationGetResponse> bringAccommodations(
int pageNo, int numOfRows,
String keyword, AreaCode areaCode
) {
if (pageNo <= 0) {
return Collections.emptyList();
}

String areaCodeString = (areaCode != null) ? String.valueOf(areaCode.getCode()) : null;

List<Accommodation> accommodations =
tourAPIService.bringAccommodationsForSearch(
tourAPIService.bringAccommodations(
pageNo,
numOfRows,
keyword,
String.valueOf(areaCode.getCode()));
areaCodeString);

return getResponseList(accommodations);
}

public AccommodationAndRoomResponse bringAccommodationAndRoomsFromAPI(
Long accommodationId,
String keyword
) {
Accommodation accommodation = tourAPIService.bringAccommodation(accommodationId, keyword);
AccommodationGetResponse accommodationGetResponse = AccommodationGetResponse.fromEntity(accommodation);
List<Room> rooms = tourAPIService.bringRooms(accommodationId);
List<RoomGetResponse> roomGetResponseList =
rooms.stream()
.map(RoomGetResponse::fromEntity)
.toList();
return AccommodationAndRoomResponse.fromEntity(accommodationGetResponse, roomGetResponseList);
}
public AccommodationDetailGetResponse bringAccommodationFromAPI(String keyword, AreaCode areaCode) {
String areaCodeString = (areaCode != null) ? String.valueOf(areaCode.getCode()) : null;

Accommodation accommodation =
tourAPIService.bringAccommodation(keyword, areaCodeString);
return AccommodationDetailGetResponse.fromEntity(accommodation);
}

@Transactional(readOnly = true)
public List<AccommodationGetResponse> bringAccommodations(String keyword, String areaCode) {
Expand All @@ -71,14 +67,6 @@ public List<AccommodationGetResponse> bringAccommodations(String keyword, String
return getResponseList(accommodations);
}

@Transactional(readOnly = true)
public AccommodationAndRoomResponse bringAccommodationAndRooms(Long accommodationId) {
Accommodation accommodation = bringAccommodation(accommodationId);
AccommodationGetResponse accommodationGetResponse = AccommodationGetResponse.fromEntity(accommodation);
List<RoomGetResponse> roomGetResponseList = roomService.bringRooms(accommodationId);
return AccommodationAndRoomResponse.fromEntity(accommodationGetResponse, roomGetResponseList);
}


private Accommodation bringAccommodation(Long accommodationId) {
return accommodationRepository
Expand Down
Loading
Loading