From d5407e812db06da5a25bcc6d4627b797726812ec Mon Sep 17 00:00:00 2001 From: essaysir Date: Wed, 3 Dec 2025 00:45:35 +0900 Subject: [PATCH 1/5] =?UTF-8?q?feat=20:=20Mock=20API=20=EC=BB=A8=ED=8A=B8?= =?UTF-8?q?=EB=A1=A4=EB=9F=AC=20=EB=B0=8F=20Response=20mock=20=EB=A9=94?= =?UTF-8?q?=EC=84=9C=EB=93=9C=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/response/ReportGetResponse.java | 13 ++++ .../response/LimjangDetailGetResponse.java | 16 +++++ .../LimjangsMainGetVersion2Response.java | 69 +++++++++++-------- .../service/response/UserNoteGetResponse.java | 25 +++++++ .../response/UserNotesGetResponse.java | 23 +++++++ .../th/juinjang/api/mock/MockController.java | 69 +++++++++++++++++++ .../juinjang/auth/config/SecurityConfig.java | 3 +- 7 files changed, 190 insertions(+), 28 deletions(-) create mode 100644 src/main/java/umc/th/juinjang/api/mock/MockController.java diff --git a/src/main/java/umc/th/juinjang/api/checklist/service/response/ReportGetResponse.java b/src/main/java/umc/th/juinjang/api/checklist/service/response/ReportGetResponse.java index 57e5caa0..2a648944 100644 --- a/src/main/java/umc/th/juinjang/api/checklist/service/response/ReportGetResponse.java +++ b/src/main/java/umc/th/juinjang/api/checklist/service/response/ReportGetResponse.java @@ -24,4 +24,17 @@ public static ReportGetResponse of(Report report) { report.getTotalRate() ); } + + public static ReportGetResponse mock() { + return new ReportGetResponse( + 1L, + "상당히 쾌적한 실내", + "훌륭한 공용 공간", + "좋은 편인 입지 조건", + 4.6f, + 4.3f, + 4.7f, + 4.5f + ); + } } \ No newline at end of file diff --git a/src/main/java/umc/th/juinjang/api/limjang/service/response/LimjangDetailGetResponse.java b/src/main/java/umc/th/juinjang/api/limjang/service/response/LimjangDetailGetResponse.java index 63b8251b..6477d2a9 100644 --- a/src/main/java/umc/th/juinjang/api/limjang/service/response/LimjangDetailGetResponse.java +++ b/src/main/java/umc/th/juinjang/api/limjang/service/response/LimjangDetailGetResponse.java @@ -38,4 +38,20 @@ public static LimjangDetailGetResponse of(Limjang limjang){ .updatedAt(limjang.getUpdatedAt()) .build(); } + + public static LimjangDetailGetResponse mock() { + return LimjangDetailGetResponse.builder() + .limjangId(1L) + .checkListVersion(LimjangCheckListVersion.LIMJANG) + .images(List.of("https://example.com/image1.jpg", "https://example.com/image2.jpg")) + .purposeCode(1) + .nickname("우성 아파트") + .priceType(0) + .priceList(List.of("500000000")) + .address("서울특별시 강남구 테헤란로 123") + .addressDetail("101동 1001호") + .createdAt(LocalDateTime.of(2024, 11, 15, 10, 30)) + .updatedAt(LocalDateTime.of(2024, 11, 20, 14, 20)) + .build(); + } } diff --git a/src/main/java/umc/th/juinjang/api/limjang/service/response/LimjangsMainGetVersion2Response.java b/src/main/java/umc/th/juinjang/api/limjang/service/response/LimjangsMainGetVersion2Response.java index afd83ee9..35f5fbce 100644 --- a/src/main/java/umc/th/juinjang/api/limjang/service/response/LimjangsMainGetVersion2Response.java +++ b/src/main/java/umc/th/juinjang/api/limjang/service/response/LimjangsMainGetVersion2Response.java @@ -1,36 +1,51 @@ package umc.th.juinjang.api.limjang.service.response; -import static umc.th.juinjang.api.limjang.service.LimjangPriceBridge.getPriceToString; +import static umc.th.juinjang.api.limjang.service.LimjangPriceBridge.*; import java.util.List; + import lombok.Builder; import umc.th.juinjang.domain.limjang.model.Limjang; public record LimjangsMainGetVersion2Response(List recentUpdatedList) { - @Builder - record LimjangMainVersion2Response( - long limjangId, - int priceType, - String image, - String nickname, - String price, - String totalAverage, - String address) { - - static LimjangMainVersion2Response of(Limjang limjang) { - return LimjangMainVersion2Response.builder() - .limjangId(limjang.getLimjangId()) - .priceType(limjang.getPriceType().getValue()) - .image(limjang.getDefaultImage()) - .nickname(limjang.getNickname()) - .price(getPriceToString(limjang)) - .totalAverage(limjang.getReport() == null ? null : limjang.getReport().getTotalRate().toString()) - .address(limjang.getAddress()) - .build(); - } - } - - public static LimjangsMainGetVersion2Response of(List limjangList) { - return new LimjangsMainGetVersion2Response(limjangList.stream().map(LimjangMainVersion2Response::of).toList()); - } + @Builder + record LimjangMainVersion2Response( + long limjangId, + int priceType, + String image, + String nickname, + String price, + String totalAverage, + String address) { + + static LimjangMainVersion2Response of(Limjang limjang) { + return LimjangMainVersion2Response.builder() + .limjangId(limjang.getLimjangId()) + .priceType(limjang.getPriceType().getValue()) + .image(limjang.getDefaultImage()) + .nickname(limjang.getNickname()) + .price(getPriceToString(limjang)) + .totalAverage(limjang.getReport() == null ? null : limjang.getReport().getTotalRate().toString()) + .address(limjang.getAddress()) + .build(); + } + } + + public static LimjangsMainGetVersion2Response of(List limjangList) { + return new LimjangsMainGetVersion2Response(limjangList.stream().map(LimjangMainVersion2Response::of).toList()); + } + + public static LimjangsMainGetVersion2Response mock() { + LimjangMainVersion2Response mockNote = LimjangMainVersion2Response.builder() + .limjangId(1L) + .priceType(0) + .image("https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock_png_1.png") + .nickname("우성 아파트") + .price("3010000000") + .totalAverage("4.5") + .address("") + .build(); + + return new LimjangsMainGetVersion2Response(List.of(mockNote)); + } } diff --git a/src/main/java/umc/th/juinjang/api/limjang/service/response/UserNoteGetResponse.java b/src/main/java/umc/th/juinjang/api/limjang/service/response/UserNoteGetResponse.java index e14fd7ab..3dc50c95 100644 --- a/src/main/java/umc/th/juinjang/api/limjang/service/response/UserNoteGetResponse.java +++ b/src/main/java/umc/th/juinjang/api/limjang/service/response/UserNoteGetResponse.java @@ -52,4 +52,29 @@ public static UserNoteGetResponse of(boolean isShared, Limjang note, Address add address != null ? address.getBname2() : null ); } + + // TODO : 이미지 저장 및 URL 변경 필요 + public static UserNoteGetResponse mock() { + return new UserNoteGetResponse( + true, + LimjangPurpose.RESIDENTIAL_PURPOSE, + LimjangPropertyType.APARTMENT, + LimjangPriceType.SALE, + "우성 아파트", + List.of("https://example.com/image1.jpg", "https://example.com/image2.jpg", + "https://example.com/image3.jpg"), + "서울 송파구 잠실동", + "101-1", + "3010000000", + null, + "23.12.01", + "10", + 28, + "1168010100", + "서울특별시", + "송파구", + "잠실동", + "" + ); + } } diff --git a/src/main/java/umc/th/juinjang/api/limjang/service/response/UserNotesGetResponse.java b/src/main/java/umc/th/juinjang/api/limjang/service/response/UserNotesGetResponse.java index 27288eeb..322a7b65 100644 --- a/src/main/java/umc/th/juinjang/api/limjang/service/response/UserNotesGetResponse.java +++ b/src/main/java/umc/th/juinjang/api/limjang/service/response/UserNotesGetResponse.java @@ -53,4 +53,27 @@ public static UserNotesGetResponse of(List limjangs, Map return new UserNotesGetResponse( limjangs.stream().map(it -> UserNoteResponse.of(it, isScraped.get(it.getLimjangId()))).toList()); } + + public static UserNotesGetResponse mock() { + UserNoteResponse mockNote1 = new UserNoteResponse( + 1L, + LimjangPurpose.RESIDENTIAL_PURPOSE, + LimjangPropertyType.APARTMENT, + LimjangPriceType.SALE, + "우성 아파트", + List.of("https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock_png_1.png", + "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock_png_2.png", + "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock_png_3.png"), + true, + "4.6", + "3010000000", + null, + 28, + "10", + "서울 송파구 잠실동 101-1", + "서울시" + ); + + return new UserNotesGetResponse(List.of(mockNote1)); + } } \ No newline at end of file diff --git a/src/main/java/umc/th/juinjang/api/mock/MockController.java b/src/main/java/umc/th/juinjang/api/mock/MockController.java new file mode 100644 index 00000000..95e01690 --- /dev/null +++ b/src/main/java/umc/th/juinjang/api/mock/MockController.java @@ -0,0 +1,69 @@ +package umc.th.juinjang.api.mock; + +import java.time.LocalDateTime; +import java.util.List; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import io.swagger.v3.oas.annotations.Operation; +import lombok.RequiredArgsConstructor; +import umc.th.juinjang.api.checklist.service.response.ReportGetResponse; +import umc.th.juinjang.api.checklist.service.response.ReportWithLimjangResponseDTO; +import umc.th.juinjang.api.dto.ApiResponse; +import umc.th.juinjang.api.limjang.service.response.LimjangDetailGetResponse; +import umc.th.juinjang.api.limjang.service.response.LimjangsMainGetVersion2Response; +import umc.th.juinjang.api.limjang.service.response.UserNoteGetResponse; +import umc.th.juinjang.api.limjang.service.response.UserNotesGetResponse; +import umc.th.juinjang.api.record.service.response.RecordResponseDTO; + +@RestController +@RequestMapping("/api/mock") +@RequiredArgsConstructor +public class MockController { + + @Operation(summary = "임장 메인화면에서 최근 임장 조회 Mock API") + @GetMapping("/notes/recent") + public ApiResponse getRecentMockNotes() { + return ApiResponse.onSuccess(LimjangsMainGetVersion2Response.mock()); + } + + @Operation(summary = "임장 상세 조회 Mock API") + @GetMapping("/notes") + public ApiResponse getMockNoteDetail() { + return ApiResponse.onSuccess(UserNoteGetResponse.mock()); + } + + @Operation(summary = "마이노트 조회 Mock API") + @GetMapping("/notes") + public ApiResponse getMockUserNotes() { + return ApiResponse.onSuccess(UserNotesGetResponse.mock()); + } + + @Operation(summary = "리포트 조회 Mock API") + @GetMapping("/notes/mock/report") + public ApiResponse getMockReport() { + ReportGetResponse reportMock = ReportGetResponse.mock(); + LimjangDetailGetResponse limjangMock = LimjangDetailGetResponse.mock(); + ReportWithLimjangResponseDTO response = new ReportWithLimjangResponseDTO(reportMock, limjangMock); + return ApiResponse.onSuccess(response); + } + + @Operation(summary = "녹음 및 메모 조회 Mock API") + @GetMapping("/notes/mock/records") + public ApiResponse getMockRecordMemo() { + + // Mock 메모 데이터 생성 + RecordResponseDTO.RecordMemoDto response = RecordResponseDTO.RecordMemoDto.builder() + .limjangId(noteId) + .memo("- 베란다 확장 공사 완료. 냉기 차단 잘 됨 - 단지내 어린이집") + .createdAt(LocalDateTime.of(2024, 11, 15, 10, 30)) + .updatedAt(LocalDateTime.of(2024, 11, 20, 17, 0)) + .recordDto(List.of()) + .build(); + + return ApiResponse.onSuccess(response); + } + +} diff --git a/src/main/java/umc/th/juinjang/auth/config/SecurityConfig.java b/src/main/java/umc/th/juinjang/auth/config/SecurityConfig.java index 03424875..c156e129 100644 --- a/src/main/java/umc/th/juinjang/auth/config/SecurityConfig.java +++ b/src/main/java/umc/th/juinjang/auth/config/SecurityConfig.java @@ -37,7 +37,8 @@ public class SecurityConfig { "/api/auth/v2/kakao/**", "/api/members/nickname/exists", "/api/app/version/ios", - "/api/apple/notifications/v2" + "/api/apple/notifications/v2", + "/api/mock/**" }; // 개발 환경에서만 추가로 허용되는 URL 패턴 private static final String[] DEV_WHITELIST_URLS = { From 4bd8099a084f5811c3e8f3ef2febcbb310dea440 Mon Sep 17 00:00:00 2001 From: essaysir Date: Wed, 3 Dec 2025 00:58:17 +0900 Subject: [PATCH 2/5] =?UTF-8?q?fix=20:=20=EB=B9=8C=EB=93=9C=20=EC=98=A4?= =?UTF-8?q?=EB=A5=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/umc/th/juinjang/api/mock/MockController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/umc/th/juinjang/api/mock/MockController.java b/src/main/java/umc/th/juinjang/api/mock/MockController.java index 95e01690..574b7540 100644 --- a/src/main/java/umc/th/juinjang/api/mock/MockController.java +++ b/src/main/java/umc/th/juinjang/api/mock/MockController.java @@ -56,7 +56,7 @@ public ApiResponse getMockRecordMemo() { // Mock 메모 데이터 생성 RecordResponseDTO.RecordMemoDto response = RecordResponseDTO.RecordMemoDto.builder() - .limjangId(noteId) + .limjangId(1L) .memo("- 베란다 확장 공사 완료. 냉기 차단 잘 됨 - 단지내 어린이집") .createdAt(LocalDateTime.of(2024, 11, 15, 10, 30)) .updatedAt(LocalDateTime.of(2024, 11, 20, 17, 0)) From 699dc77dea36ec246132213074623a6c182f4c17 Mon Sep 17 00:00:00 2001 From: essaysir Date: Mon, 8 Dec 2025 14:16:57 +0900 Subject: [PATCH 3/5] =?UTF-8?q?feat=20:=20=EC=B2=B4=ED=81=AC=EB=A6=AC?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=20Mock=20API=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../response/UserNotesGetResponse.java | 2 +- .../th/juinjang/api/mock/MockController.java | 83 +++++++++++++++++++ 2 files changed, 84 insertions(+), 1 deletion(-) diff --git a/src/main/java/umc/th/juinjang/api/limjang/service/response/UserNotesGetResponse.java b/src/main/java/umc/th/juinjang/api/limjang/service/response/UserNotesGetResponse.java index 322a7b65..57f11a3d 100644 --- a/src/main/java/umc/th/juinjang/api/limjang/service/response/UserNotesGetResponse.java +++ b/src/main/java/umc/th/juinjang/api/limjang/service/response/UserNotesGetResponse.java @@ -65,7 +65,7 @@ public static UserNotesGetResponse mock() { "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock_png_2.png", "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock_png_3.png"), true, - "4.6", + "3.63", "3010000000", null, 28, diff --git a/src/main/java/umc/th/juinjang/api/mock/MockController.java b/src/main/java/umc/th/juinjang/api/mock/MockController.java index 574b7540..335ecb92 100644 --- a/src/main/java/umc/th/juinjang/api/mock/MockController.java +++ b/src/main/java/umc/th/juinjang/api/mock/MockController.java @@ -1,6 +1,7 @@ package umc.th.juinjang.api.mock; import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.List; import org.springframework.web.bind.annotation.GetMapping; @@ -9,6 +10,7 @@ import io.swagger.v3.oas.annotations.Operation; import lombok.RequiredArgsConstructor; +import umc.th.juinjang.api.checklist.service.response.ChecklistAnswerResponseDTO; import umc.th.juinjang.api.checklist.service.response.ReportGetResponse; import umc.th.juinjang.api.checklist.service.response.ReportWithLimjangResponseDTO; import umc.th.juinjang.api.dto.ApiResponse; @@ -17,6 +19,8 @@ import umc.th.juinjang.api.limjang.service.response.UserNoteGetResponse; import umc.th.juinjang.api.limjang.service.response.UserNotesGetResponse; import umc.th.juinjang.api.record.service.response.RecordResponseDTO; +import umc.th.juinjang.domain.checklist.model.ChecklistQuestionCategory; +import umc.th.juinjang.domain.checklist.model.ChecklistQuestionType; @RestController @RequestMapping("/api/mock") @@ -66,4 +70,83 @@ public ApiResponse getMockRecordMemo() { return ApiResponse.onSuccess(response); } + @Operation(summary = "체크리스트 조회 Mock API") + @GetMapping("/notes/mock/checklists") + public ApiResponse> getMockChecklistAnswer() { + Long limjangId = 1L; + + // 카테고리, 답변, 답변타입 순서로 정의 + Object[][] mockData = { + // 입지여건 + {ChecklistQuestionCategory.LOCATION_CONDITION, "5", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.LOCATION_CONDITION, "2호선 신당역", ChecklistQuestionType.DROPDOWN}, + {ChecklistQuestionCategory.LOCATION_CONDITION, "3", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.LOCATION_CONDITION, "4", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.LOCATION_CONDITION, "5", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.LOCATION_CONDITION, "5", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.LOCATION_CONDITION, "5", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.LOCATION_CONDITION, "5", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.LOCATION_CONDITION, "1", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.LOCATION_CONDITION, "아파트 단지", ChecklistQuestionType.DROPDOWN}, + {ChecklistQuestionCategory.LOCATION_CONDITION, "4", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.LOCATION_CONDITION, "남향", ChecklistQuestionType.DROPDOWN}, + {ChecklistQuestionCategory.LOCATION_CONDITION, "4", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.LOCATION_CONDITION, "5", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.LOCATION_CONDITION, "5", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.LOCATION_CONDITION, "1", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.LOCATION_CONDITION, "5", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.LOCATION_CONDITION, "2000년도", ChecklistQuestionType.TEXT_FIELD}, + {ChecklistQuestionCategory.LOCATION_CONDITION, "3", ChecklistQuestionType.SCORE}, + // 공용공간 + {ChecklistQuestionCategory.PUBLIC_SPACE, "2대", ChecklistQuestionType.TEXT_FIELD}, + {ChecklistQuestionCategory.PUBLIC_SPACE, "4", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.PUBLIC_SPACE, "4", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.PUBLIC_SPACE, "1", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.PUBLIC_SPACE, "3", ChecklistQuestionType.SCORE}, + // 실내 + {ChecklistQuestionCategory.INDOOR, "설치형에어컨", ChecklistQuestionType.DROPDOWN}, + {ChecklistQuestionCategory.INDOOR, "2", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.INDOOR, "5", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.INDOOR, "거실중앙형 구조", ChecklistQuestionType.DROPDOWN}, + {ChecklistQuestionCategory.INDOOR, "5", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.INDOOR, "3", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.INDOOR, "4", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.INDOOR, "1", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.INDOOR, "3", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.INDOOR, "4", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.INDOOR, "3", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.INDOOR, "4", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.INDOOR, "3", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.INDOOR, "4", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.INDOOR, "5", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.INDOOR, "5", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.INDOOR, "4", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.INDOOR, "2", ChecklistQuestionType.TEXT_FIELD}, + {ChecklistQuestionCategory.INDOOR, "4", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.INDOOR, "4", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.INDOOR, "5", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.INDOOR, "4", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.INDOOR, "3", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.INDOOR, "3", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.INDOOR, "5", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.INDOOR, "3", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.INDOOR, "5", ChecklistQuestionType.SCORE}, + {ChecklistQuestionCategory.INDOOR, "5", ChecklistQuestionType.SCORE} + }; + + List answers = new ArrayList<>(); + for (int i = 0; i < mockData.length; i++) { + answers.add(ChecklistAnswerResponseDTO.AnswerDto.builder() + .answerId((long)(i + 1)) + .questionId((long)(i + 1)) + .category((ChecklistQuestionCategory)mockData[i][0]) + .limjangId(limjangId) + .answer((String)mockData[i][1]) + .answerType((ChecklistQuestionType)mockData[i][2]) + .build()); + } + + return ApiResponse.onSuccess(answers); + } + } From 6a2275d9a9c74101de194ed910804355eb091b5c Mon Sep 17 00:00:00 2001 From: essaysir Date: Mon, 8 Dec 2025 14:39:14 +0900 Subject: [PATCH 4/5] =?UTF-8?q?=20=20feat=20:=20=EC=B2=B4=ED=81=AC?= =?UTF-8?q?=EB=A6=AC=EC=8A=A4=ED=8A=B8=20=EC=A1=B0=ED=9A=8C=20Mock=20API?= =?UTF-8?q?=20=EC=83=81=EC=84=B8=20=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EA=B5=AC?= =?UTF-8?q?=ED=98=84=20=EB=B0=8F=20=EA=B2=BD=EB=A1=9C=20=EC=A0=95=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../response/LimjangDetailGetResponse.java | 89 ++++++++++--------- .../LimjangsMainGetVersion2Response.java | 2 +- .../service/response/UserNoteGetResponse.java | 5 +- .../response/UserNotesGetResponse.java | 6 +- .../th/juinjang/api/mock/MockController.java | 6 +- 5 files changed, 56 insertions(+), 52 deletions(-) diff --git a/src/main/java/umc/th/juinjang/api/limjang/service/response/LimjangDetailGetResponse.java b/src/main/java/umc/th/juinjang/api/limjang/service/response/LimjangDetailGetResponse.java index 6477d2a9..ba669af3 100644 --- a/src/main/java/umc/th/juinjang/api/limjang/service/response/LimjangDetailGetResponse.java +++ b/src/main/java/umc/th/juinjang/api/limjang/service/response/LimjangDetailGetResponse.java @@ -1,57 +1,60 @@ package umc.th.juinjang.api.limjang.service.response; -import static umc.th.juinjang.api.limjang.service.LimjangPriceBridge.makePriceListVersion2; +import static umc.th.juinjang.api.limjang.service.LimjangPriceBridge.*; import java.time.LocalDateTime; import java.util.List; + import lombok.Builder; -import umc.th.juinjang.domain.image.model.Image; import umc.th.juinjang.domain.checklist.model.LimjangCheckListVersion; +import umc.th.juinjang.domain.image.model.Image; import umc.th.juinjang.domain.limjang.model.Limjang; @Builder public record LimjangDetailGetResponse( - long limjangId, - LimjangCheckListVersion checkListVersion, - List images, - int purposeCode, - String nickname, - int priceType, - List priceList, - String address, - String addressDetail, - LocalDateTime createdAt, - LocalDateTime updatedAt + long limjangId, + LimjangCheckListVersion checkListVersion, + List images, + int purposeCode, + String nickname, + int priceType, + List priceList, + String address, + String addressDetail, + LocalDateTime createdAt, + LocalDateTime updatedAt ) { - public static LimjangDetailGetResponse of(Limjang limjang){ - return LimjangDetailGetResponse.builder() - .limjangId(limjang.getLimjangId()) - .checkListVersion(LimjangCheckListVersion.getByLimjangType(limjang)) - .images(limjang.getImageList().stream().map(Image::getImageUrl).toList()) - .purposeCode(limjang.getPurpose().getValue()) - .nickname(limjang.getNickname()) - .priceType(limjang.getPriceType().getValue()) - .priceList(makePriceListVersion2(limjang.getPriceType(), limjang.getPurpose(), limjang.getLimjangPrice())) - .address(limjang.getAddress()) - .addressDetail(limjang.getAddressDetail()) - .createdAt(limjang.getCreatedAt()) - .updatedAt(limjang.getUpdatedAt()) - .build(); - } + public static LimjangDetailGetResponse of(Limjang limjang) { + return LimjangDetailGetResponse.builder() + .limjangId(limjang.getLimjangId()) + .checkListVersion(LimjangCheckListVersion.getByLimjangType(limjang)) + .images(limjang.getImageList().stream().map(Image::getImageUrl).toList()) + .purposeCode(limjang.getPurpose().getValue()) + .nickname(limjang.getNickname()) + .priceType(limjang.getPriceType().getValue()) + .priceList(makePriceListVersion2(limjang.getPriceType(), limjang.getPurpose(), limjang.getLimjangPrice())) + .address(limjang.getAddress()) + .addressDetail(limjang.getAddressDetail()) + .createdAt(limjang.getCreatedAt()) + .updatedAt(limjang.getUpdatedAt()) + .build(); + } - public static LimjangDetailGetResponse mock() { - return LimjangDetailGetResponse.builder() - .limjangId(1L) - .checkListVersion(LimjangCheckListVersion.LIMJANG) - .images(List.of("https://example.com/image1.jpg", "https://example.com/image2.jpg")) - .purposeCode(1) - .nickname("우성 아파트") - .priceType(0) - .priceList(List.of("500000000")) - .address("서울특별시 강남구 테헤란로 123") - .addressDetail("101동 1001호") - .createdAt(LocalDateTime.of(2024, 11, 15, 10, 30)) - .updatedAt(LocalDateTime.of(2024, 11, 20, 14, 20)) - .build(); - } + public static LimjangDetailGetResponse mock() { + return LimjangDetailGetResponse.builder() + .limjangId(1L) + .checkListVersion(LimjangCheckListVersion.LIMJANG) + .images(List.of("https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock-png_1.jpeg", + "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock-png_2.jpeg", + "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock-png_3.jpeg")) + .purposeCode(1) + .nickname("우성 아파트") + .priceType(0) + .priceList(List.of("500000000")) + .address("서울특별시 강남구 테헤란로 123") + .addressDetail("101동 1001호") + .createdAt(LocalDateTime.of(2024, 11, 15, 10, 30)) + .updatedAt(LocalDateTime.of(2024, 11, 20, 14, 20)) + .build(); + } } diff --git a/src/main/java/umc/th/juinjang/api/limjang/service/response/LimjangsMainGetVersion2Response.java b/src/main/java/umc/th/juinjang/api/limjang/service/response/LimjangsMainGetVersion2Response.java index 35f5fbce..b7da1e5f 100644 --- a/src/main/java/umc/th/juinjang/api/limjang/service/response/LimjangsMainGetVersion2Response.java +++ b/src/main/java/umc/th/juinjang/api/limjang/service/response/LimjangsMainGetVersion2Response.java @@ -39,7 +39,7 @@ public static LimjangsMainGetVersion2Response mock() { LimjangMainVersion2Response mockNote = LimjangMainVersion2Response.builder() .limjangId(1L) .priceType(0) - .image("https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock_png_1.png") + .image("https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock-png_1.jpeg") .nickname("우성 아파트") .price("3010000000") .totalAverage("4.5") diff --git a/src/main/java/umc/th/juinjang/api/limjang/service/response/UserNoteGetResponse.java b/src/main/java/umc/th/juinjang/api/limjang/service/response/UserNoteGetResponse.java index 3dc50c95..45156c2b 100644 --- a/src/main/java/umc/th/juinjang/api/limjang/service/response/UserNoteGetResponse.java +++ b/src/main/java/umc/th/juinjang/api/limjang/service/response/UserNoteGetResponse.java @@ -61,8 +61,9 @@ public static UserNoteGetResponse mock() { LimjangPropertyType.APARTMENT, LimjangPriceType.SALE, "우성 아파트", - List.of("https://example.com/image1.jpg", "https://example.com/image2.jpg", - "https://example.com/image3.jpg"), + List.of("https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock-png_1.jpeg", + "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock-png_2.jpeg", + "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock-png_3.jpeg"), "서울 송파구 잠실동", "101-1", "3010000000", diff --git a/src/main/java/umc/th/juinjang/api/limjang/service/response/UserNotesGetResponse.java b/src/main/java/umc/th/juinjang/api/limjang/service/response/UserNotesGetResponse.java index 57f11a3d..339d6f00 100644 --- a/src/main/java/umc/th/juinjang/api/limjang/service/response/UserNotesGetResponse.java +++ b/src/main/java/umc/th/juinjang/api/limjang/service/response/UserNotesGetResponse.java @@ -61,9 +61,9 @@ public static UserNotesGetResponse mock() { LimjangPropertyType.APARTMENT, LimjangPriceType.SALE, "우성 아파트", - List.of("https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock_png_1.png", - "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock_png_2.png", - "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock_png_3.png"), + List.of("https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock-png_1.jpeg", + "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock_png_2.jpeg", + "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock_png_3.jpeg"), true, "3.63", "3010000000", diff --git a/src/main/java/umc/th/juinjang/api/mock/MockController.java b/src/main/java/umc/th/juinjang/api/mock/MockController.java index 335ecb92..53c248eb 100644 --- a/src/main/java/umc/th/juinjang/api/mock/MockController.java +++ b/src/main/java/umc/th/juinjang/api/mock/MockController.java @@ -46,7 +46,7 @@ public ApiResponse getMockUserNotes() { } @Operation(summary = "리포트 조회 Mock API") - @GetMapping("/notes/mock/report") + @GetMapping("/notes/report") public ApiResponse getMockReport() { ReportGetResponse reportMock = ReportGetResponse.mock(); LimjangDetailGetResponse limjangMock = LimjangDetailGetResponse.mock(); @@ -55,7 +55,7 @@ public ApiResponse getMockReport() { } @Operation(summary = "녹음 및 메모 조회 Mock API") - @GetMapping("/notes/mock/records") + @GetMapping("/notes/records") public ApiResponse getMockRecordMemo() { // Mock 메모 데이터 생성 @@ -71,7 +71,7 @@ public ApiResponse getMockRecordMemo() { } @Operation(summary = "체크리스트 조회 Mock API") - @GetMapping("/notes/mock/checklists") + @GetMapping("/notes/checklists") public ApiResponse> getMockChecklistAnswer() { Long limjangId = 1L; From dd448d40c694904a192c145a71d093aad25d2ad1 Mon Sep 17 00:00:00 2001 From: essaysir Date: Mon, 8 Dec 2025 18:44:41 +0900 Subject: [PATCH 5/5] =?UTF-8?q?feat=20:=20Mock=20API=20=EC=A4=84=EB=B0=94?= =?UTF-8?q?=EA=BF=88=20=EC=B6=94=EA=B0=80=20,=20=EC=9D=B4=EB=AF=B8?= =?UTF-8?q?=EC=A7=80=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/limjang/service/response/LimjangDetailGetResponse.java | 3 ++- .../api/limjang/service/response/UserNotesGetResponse.java | 3 ++- src/main/java/umc/th/juinjang/api/mock/MockController.java | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/umc/th/juinjang/api/limjang/service/response/LimjangDetailGetResponse.java b/src/main/java/umc/th/juinjang/api/limjang/service/response/LimjangDetailGetResponse.java index ba669af3..8732718b 100644 --- a/src/main/java/umc/th/juinjang/api/limjang/service/response/LimjangDetailGetResponse.java +++ b/src/main/java/umc/th/juinjang/api/limjang/service/response/LimjangDetailGetResponse.java @@ -46,7 +46,8 @@ public static LimjangDetailGetResponse mock() { .checkListVersion(LimjangCheckListVersion.LIMJANG) .images(List.of("https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock-png_1.jpeg", "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock-png_2.jpeg", - "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock-png_3.jpeg")) + "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock-png_3.jpeg", + "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock-png_4.jpeg")) .purposeCode(1) .nickname("우성 아파트") .priceType(0) diff --git a/src/main/java/umc/th/juinjang/api/limjang/service/response/UserNotesGetResponse.java b/src/main/java/umc/th/juinjang/api/limjang/service/response/UserNotesGetResponse.java index 339d6f00..be022c68 100644 --- a/src/main/java/umc/th/juinjang/api/limjang/service/response/UserNotesGetResponse.java +++ b/src/main/java/umc/th/juinjang/api/limjang/service/response/UserNotesGetResponse.java @@ -63,7 +63,8 @@ public static UserNotesGetResponse mock() { "우성 아파트", List.of("https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock-png_1.jpeg", "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock_png_2.jpeg", - "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock_png_3.jpeg"), + "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock_png_3.jpeg", + "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock_png_4.jpeg"), true, "3.63", "3010000000", diff --git a/src/main/java/umc/th/juinjang/api/mock/MockController.java b/src/main/java/umc/th/juinjang/api/mock/MockController.java index 53c248eb..937f14ee 100644 --- a/src/main/java/umc/th/juinjang/api/mock/MockController.java +++ b/src/main/java/umc/th/juinjang/api/mock/MockController.java @@ -61,7 +61,7 @@ public ApiResponse getMockRecordMemo() { // Mock 메모 데이터 생성 RecordResponseDTO.RecordMemoDto response = RecordResponseDTO.RecordMemoDto.builder() .limjangId(1L) - .memo("- 베란다 확장 공사 완료. 냉기 차단 잘 됨 - 단지내 어린이집") + .memo("- 베란다 확장 공사 완료. 냉기 차단 잘 됨 \n - 단지내 어린이집") .createdAt(LocalDateTime.of(2024, 11, 15, 10, 30)) .updatedAt(LocalDateTime.of(2024, 11, 20, 17, 0)) .recordDto(List.of())