From 8ab6e467f8ee747d7ef1defc05e16009bcebfff1 Mon Sep 17 00:00:00 2001 From: seondays Date: Mon, 10 Jun 2024 17:36:05 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EC=88=99=EC=86=8C=20=EB=93=B1=EB=A1=9D?= =?UTF-8?q?=20=EB=A1=9C=EC=A7=81=20=EA=B5=AC=ED=98=84=20#3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AccommodationController.java | 51 ++++++++++++++++ .../accommadation/AccommodationService.java | 60 +++++++++++++++++++ 2 files changed, 111 insertions(+) create mode 100644 BE/airdnb/src/main/java/com/team01/airdnb/accommadation/AccommodationController.java create mode 100644 BE/airdnb/src/main/java/com/team01/airdnb/accommadation/AccommodationService.java diff --git a/BE/airdnb/src/main/java/com/team01/airdnb/accommadation/AccommodationController.java b/BE/airdnb/src/main/java/com/team01/airdnb/accommadation/AccommodationController.java new file mode 100644 index 00000000..31b35fd6 --- /dev/null +++ b/BE/airdnb/src/main/java/com/team01/airdnb/accommadation/AccommodationController.java @@ -0,0 +1,51 @@ +package com.team01.airdnb.accommadation; + + +import com.team01.airdnb.accommadation.dto.AccommodationRegisterRequest; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/api") +public class AccommodationController { + @Autowired + private AccommodationService accommodationService; +// @GetMapping("/accommodations") +// public ResponseEntity + + //숙소 생성 + @PostMapping("/accommodations") + public void registerAccommodation(@RequestBody AccommodationRegisterRequest accommodationRegisterRequest){ + accommodationService.register(accommodationRegisterRequest); + } + + //숙소 검색 + @PostMapping("/accommodations/search") + public void searchAccommodations() { + + } + + //숙소 상세보기 + @GetMapping("/accommodations/{id}") + public void showAccommodation(@PathVariable Long id) { + } + + //숙소 수정 + @PutMapping("/accommodations/{id}") + public void updateAccommodation(@PathVariable Long id) { + + } + + //숙소 삭제 + @DeleteMapping("accommodations/{id}") + public void deleteAccommodation(@PathVariable Long id) { + + } +} diff --git a/BE/airdnb/src/main/java/com/team01/airdnb/accommadation/AccommodationService.java b/BE/airdnb/src/main/java/com/team01/airdnb/accommadation/AccommodationService.java new file mode 100644 index 00000000..e54bff56 --- /dev/null +++ b/BE/airdnb/src/main/java/com/team01/airdnb/accommadation/AccommodationService.java @@ -0,0 +1,60 @@ +package com.team01.airdnb.accommadation; + +import com.team01.airdnb.accommadation.dto.AccommodationRegisterRequest; +import com.team01.airdnb.amenity.Amenity; +import com.team01.airdnb.image.Image; +import com.team01.airdnb.user.User; +import com.team01.airdnb.user.UserService; +import java.util.List; +import org.springframework.stereotype.Service; + +@Service +public class AccommodationService { + AccommodationRepository accommodationRepository; + UserService userService; + + public AccommodationService(AccommodationRepository accommodationRepository, UserService userService){ + this.accommodationRepository = accommodationRepository; + this.userService = userService; + } + + + /** + * 숙소를 등록합니다 + */ + public void register(AccommodationRegisterRequest accommodationRegisterRequest) { + User user = userService.FindUserById(accommodationRegisterRequest.userId()); + + Accommodation accommodation = accommodationRegisterRequest.toAccommodationEntity(); + Amenity amenity = accommodationRegisterRequest.toAmenityEntity(); + List image = accommodationRegisterRequest.toImageEntity(); + + accommodation.setUser(user); + accommodation.setAmenityMapping(amenity); + accommodation.setImageMapping(image); + + accommodationRepository.save(accommodation); + } + + /** + * 숙소의 상세 내용을 확인합니다. + */ + + /** + * 숙소를 수정합니다. + */ + public void updateAccommodation() { + } + + /** + * 숙소를 삭제합니다. + */ + public void deleteAccommodation(Long id) { + accommodationRepository.deleteById(id); + } + + /** + * 숙소를 검색합니다. + */ + +}