From 6cc9211dc8ea1479c022784e2a02db09cd4c1b3d Mon Sep 17 00:00:00 2001
From: June <68291395+june-777@users.noreply.github.com>
Date: Mon, 19 Aug 2024 20:14:59 +0900
Subject: [PATCH] =?UTF-8?q?[feat]=20=EA=B5=AC=EB=A7=A4=EC=9E=90=20?=
=?UTF-8?q?=EB=A7=A4=EC=9E=A5=EC=83=81=EC=84=B8=EC=A1=B0=ED=9A=8C=20(#106)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* [feat] 구매자 매장 상세 조회 서비스
* [feat] 구매자 매장 상세 조회 Response 객체
- 구매자는 기본적인 매장 상세 정보를 확인할 수 있어야 함
* [feat] 가게주소, 가게카테고리에 대한 getter 추가
호출자 쪽에서의 getter depth 를 줄이기 위함
* [feat] 가게 id로 메뉴 목록을 조회하는 기능
* [feat] 가게 전시 응답에 가게 메뉴를 포함
* [feat] getter 추가
* [feat] 가게 전시 API 엔드포인트 구현
* [refactor] 가게 전시 메서드 이름 변경
* [test] 가게 전시 서비스 계층 단위 테스트
- responseDTO 을 적절히 매핑하여 반환하는지 테스트하기 위함
* [test] 가게 전시 API 컨트롤러 계층 단위 테스트
- API response 명세를 검증 및 추적하기 위함
* [text] 가게 조회 API 단위 테스트 - 메뉴 리스트 검증하도록 수정 및 테스트
* [merge] 머지 컨플릭트 해결
---
.../camp/woowak/lab/menu/domain/Menu.java | 9 +
.../woowak/lab/menu/domain/MenuCategory.java | 5 +-
.../lab/menu/repository/MenuRepository.java | 2 +
.../lab/order/service/dto/OrderDTO.java | 2 +-
.../camp/woowak/lab/store/domain/Store.java | 30 ++++
.../woowak/lab/store/domain/StoreAddress.java | 3 +
.../store/service/StoreDisplayService.java | 46 +++++
.../response/StoreDisplayResponse.java | 70 ++++++++
.../lab/web/api/store/StoreApiController.java | 8 +
.../service/StoreDisplayServiceTest.java | 158 ++++++++++++++++++
.../web/api/store/StoreApiControllerTest.java | 83 +++++++++
11 files changed, 412 insertions(+), 4 deletions(-)
create mode 100644 src/main/java/camp/woowak/lab/store/service/StoreDisplayService.java
create mode 100644 src/main/java/camp/woowak/lab/store/service/response/StoreDisplayResponse.java
create mode 100644 src/test/java/camp/woowak/lab/store/service/StoreDisplayServiceTest.java
diff --git a/src/main/java/camp/woowak/lab/menu/domain/Menu.java b/src/main/java/camp/woowak/lab/menu/domain/Menu.java
index fa0d10b4..66b8d890 100644
--- a/src/main/java/camp/woowak/lab/menu/domain/Menu.java
+++ b/src/main/java/camp/woowak/lab/menu/domain/Menu.java
@@ -78,4 +78,13 @@ public long updatePrice(long uPrice) {
return this.price;
}
+
+ public Long getMenuCategoryId() {
+ return menuCategory.getId();
+ }
+
+ public String getMenuCategoryName() {
+ return menuCategory.getName();
+ }
+
}
diff --git a/src/main/java/camp/woowak/lab/menu/domain/MenuCategory.java b/src/main/java/camp/woowak/lab/menu/domain/MenuCategory.java
index 3f9b3e77..21c808f5 100644
--- a/src/main/java/camp/woowak/lab/menu/domain/MenuCategory.java
+++ b/src/main/java/camp/woowak/lab/menu/domain/MenuCategory.java
@@ -12,6 +12,7 @@
import jakarta.persistence.Table;
import jakarta.persistence.UniqueConstraint;
import lombok.AccessLevel;
+import lombok.Getter;
import lombok.NoArgsConstructor;
@Entity
@@ -22,6 +23,7 @@
@UniqueConstraint(name = "unique_store_name", columnNames = {"store_id", "name"})
}
)
+@Getter
public class MenuCategory {
@Id
@@ -41,8 +43,5 @@ public MenuCategory(Store store, String name) {
this.name = name;
}
- public Long getId() {
- return id;
- }
}
diff --git a/src/main/java/camp/woowak/lab/menu/repository/MenuRepository.java b/src/main/java/camp/woowak/lab/menu/repository/MenuRepository.java
index a1de78e7..7ee862bd 100644
--- a/src/main/java/camp/woowak/lab/menu/repository/MenuRepository.java
+++ b/src/main/java/camp/woowak/lab/menu/repository/MenuRepository.java
@@ -18,4 +18,6 @@ public interface MenuRepository extends JpaRepository