diff --git a/backend/bang-ggood/src/main/java/com/bang_ggood/checklist/service/ChecklistManageService.java b/backend/bang-ggood/src/main/java/com/bang_ggood/checklist/service/ChecklistManageService.java index 736b5535a..42005e47b 100644 --- a/backend/bang-ggood/src/main/java/com/bang_ggood/checklist/service/ChecklistManageService.java +++ b/backend/bang-ggood/src/main/java/com/bang_ggood/checklist/service/ChecklistManageService.java @@ -349,8 +349,8 @@ private void updateChecklistMaintenances(ChecklistRequest checklistRequest, Chec } private void updateChecklistStations(RoomRequest roomRequest, Checklist checklist) { - double latitude = roomRequest.latitude(); - double longitude = roomRequest.longitude(); + Double latitude = roomRequest.latitude(); + Double longitude = roomRequest.longitude(); checklistStationService.updateChecklistStation(checklist, latitude, longitude); } } diff --git a/backend/bang-ggood/src/main/java/com/bang_ggood/station/service/ChecklistStationService.java b/backend/bang-ggood/src/main/java/com/bang_ggood/station/service/ChecklistStationService.java index 449825fe7..ca4bc98f5 100644 --- a/backend/bang-ggood/src/main/java/com/bang_ggood/station/service/ChecklistStationService.java +++ b/backend/bang-ggood/src/main/java/com/bang_ggood/station/service/ChecklistStationService.java @@ -18,7 +18,7 @@ public class ChecklistStationService { private final SubwayStationService subwayStationService; @Transactional - public void createChecklistStations(Checklist checklist, double latitude, double longitude) { + public void createChecklistStations(Checklist checklist, Double latitude, Double longitude) { saveChecklistStations(checklist, latitude, longitude); } @@ -28,7 +28,7 @@ public List readChecklistStationsByChecklist(Checklist checkli } @Transactional - public void updateChecklistStation(Checklist checklist, double latitude, double longitude) { + public void updateChecklistStation(Checklist checklist, Double latitude, Double longitude) { checklistStationRepository.deleteAllByChecklistId(checklist.getId()); saveChecklistStations(checklist, latitude, longitude); } @@ -38,7 +38,10 @@ public void deleteChecklistStation(Long checklistId) { checklistStationRepository.deleteAllByChecklistId(checklistId); } - private void saveChecklistStations(Checklist checklist, double latitude, double longitude) { + private void saveChecklistStations(Checklist checklist, Double latitude, Double longitude) { + if (latitude == null || longitude == null) { + return; + } List responses = subwayStationService.readNearestStation(latitude, longitude) .getStations(); List checklistStations = new ArrayList<>(); diff --git a/backend/bang-ggood/src/test/java/com/bang_ggood/checklist/ChecklistFixture.java b/backend/bang-ggood/src/test/java/com/bang_ggood/checklist/ChecklistFixture.java index 6fce11f6d..9397ae98b 100644 --- a/backend/bang-ggood/src/test/java/com/bang_ggood/checklist/ChecklistFixture.java +++ b/backend/bang-ggood/src/test/java/com/bang_ggood/checklist/ChecklistFixture.java @@ -127,6 +127,16 @@ public static ChecklistRequestV1 CHECKLIST_CREATE_REQUEST_V1() { ); } + public static ChecklistRequestV1 CHECKLIST_CREATE_REQUEST_V1_EMPTY_LOCATION() { + return new ChecklistRequestV1( + RoomFixture.ROOM_CREATE_REQUEST_EMPTY_LOCATION(), + List.of(Option.REFRIGERATOR.getId(), Option.SINK.getId(), Option.INDUCTION.getId(), + Option.SHOE_RACK.getId()), + List.of(QUESTION_1_CREATE_REQUEST(), QUESTION_2_CREATE_REQUEST(), + QUESTION_3_CREATE_REQUEST(), QUESTION_5_CREATE_REQUEST()) + ); + } + public static ChecklistRequest CHECKLIST_CREATE_REQUEST2() { return new ChecklistRequest( RoomFixture.ROOM_CREATE_REQUEST(), diff --git a/backend/bang-ggood/src/test/java/com/bang_ggood/checklist/service/ChecklistManageServiceTest.java b/backend/bang-ggood/src/test/java/com/bang_ggood/checklist/service/ChecklistManageServiceTest.java index a10227814..324dc063b 100644 --- a/backend/bang-ggood/src/test/java/com/bang_ggood/checklist/service/ChecklistManageServiceTest.java +++ b/backend/bang-ggood/src/test/java/com/bang_ggood/checklist/service/ChecklistManageServiceTest.java @@ -73,6 +73,20 @@ void createChecklistV1() { assertThat(checklistId).isGreaterThan(0); } + @DisplayName("체크리스트 작성 v1 성공 : 위도, 경도가 null 인 경우") + @Test + void createChecklistV1_emptyLocation() { + //given + User user = userRepository.save(UserFixture.USER1()); + ChecklistRequestV1 checklistRequestV1 = ChecklistFixture.CHECKLIST_CREATE_REQUEST_V1_EMPTY_LOCATION(); + + // when + long checklistId = checklistManageService.createChecklistV1(user, checklistRequestV1); + + //then + assertThat(checklistId).isGreaterThan(0); + } + @DisplayName("작성된 체크리스트 조회 성공") @Test void readChecklist() { diff --git a/backend/bang-ggood/src/test/java/com/bang_ggood/room/RoomFixture.java b/backend/bang-ggood/src/test/java/com/bang_ggood/room/RoomFixture.java index a3078f0ac..aa6b22d93 100644 --- a/backend/bang-ggood/src/test/java/com/bang_ggood/room/RoomFixture.java +++ b/backend/bang-ggood/src/test/java/com/bang_ggood/room/RoomFixture.java @@ -46,6 +46,18 @@ public static RoomRequest ROOM_CREATE_REQUEST() { ); } + public static RoomRequest ROOM_CREATE_REQUEST_EMPTY_LOCATION() { + return new RoomRequest( + "방이름", "부산광역시 북구", "루터회관", "잠실", + 10, 1000, 50, 5, + List.of(1, 3), FloorLevel.GROUND.getName(), 10, + Structure.TWO_ROOM.getName(), 3.3, null, null, + 12, OccupancyMonth.APRIL.getMonth(), + OccupancyPeriod.EARLY.getPeriod(), + "방끗공인중개사", "메모", "한줄평" + ); + } + public static RoomRequest ROOM_UPDATE_REQUEST() { return new RoomRequest( "방이름", "부산광역시 루터회관", "잠실역", "루터회관",