diff --git a/store/src/main/java/com/ktds/hi/store/biz/service/StoreService.java b/store/src/main/java/com/ktds/hi/store/biz/service/StoreService.java index baf5a9f..2a69db2 100644 --- a/store/src/main/java/com/ktds/hi/store/biz/service/StoreService.java +++ b/store/src/main/java/com/ktds/hi/store/biz/service/StoreService.java @@ -98,6 +98,27 @@ public class StoreService implements StoreUseCase { public String getAllTags(Long storeId){ return storeJpaRepository.findById(storeId).get().getTagsJson(); } + + @Override + public List getCategoryStores(String category){ + List stores = storeJpaRepository.findByCategory(category); + + return stores.stream() + .map(store -> StoreListResponse.builder() + .storeId(store.getId()) + .storeName(store.getStoreName()) + .address(store.getAddress()) + .category(store.getCategory()) + .rating(store.getRating()) + .reviewCount(store.getReviewCount()) + .status("운영중") + .tagJson(store.getTagsJson()) + .imageUrl(store.getImageUrl()) + .operatingHours(store.getOperatingHours()) + .build()) + .collect(Collectors.toList()); + } + @Override public List getAllStores() { diff --git a/store/src/main/java/com/ktds/hi/store/biz/usecase/in/StoreUseCase.java b/store/src/main/java/com/ktds/hi/store/biz/usecase/in/StoreUseCase.java index 8ea5ddb..de839dc 100644 --- a/store/src/main/java/com/ktds/hi/store/biz/usecase/in/StoreUseCase.java +++ b/store/src/main/java/com/ktds/hi/store/biz/usecase/in/StoreUseCase.java @@ -33,6 +33,9 @@ public interface StoreUseCase { List getAllStores(); + List getCategoryStores(String category); + + String getAllTags(Long storeId); /** diff --git a/store/src/main/java/com/ktds/hi/store/infra/controller/StoreController.java b/store/src/main/java/com/ktds/hi/store/infra/controller/StoreController.java index 0453256..f581254 100644 --- a/store/src/main/java/com/ktds/hi/store/infra/controller/StoreController.java +++ b/store/src/main/java/com/ktds/hi/store/infra/controller/StoreController.java @@ -79,6 +79,14 @@ public class StoreController { return ResponseEntity.ok(ApiResponse.success(responses)); } + @GetMapping("/stores/category/{category}") + @Operation(summary = "카테고리에 해당하는 매장") + public ResponseEntity>> getStoreCategories(@PathVariable String category) { + + List responses = storeUseCase.getCategoryStores(category); + return ResponseEntity.ok(ApiResponse.success(responses)); + } + @GetMapping("/stores/{storeId}/tags") @Operation(summary = "매장 전체 리스트") public ResponseEntity getStoreTags(@PathVariable Long storeId) {