Skip to content

Commit d319b7d

Browse files
authored
Merge pull request #91 from SWYP-mingling/feature/SW-95-categoryGroupName-mapping
2 parents cc32fe1 + 9f6b2cb commit d319b7d

1 file changed

Lines changed: 18 additions & 5 deletions

File tree

src/main/java/swyp/mingling/domain/meeting/service/RecommendPlaceUseCase.java

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
package swyp.mingling.domain.meeting.service;
22

3+
import java.util.Arrays;
4+
import java.util.List;
5+
import java.util.Optional;
36
import lombok.Getter;
47
import lombok.RequiredArgsConstructor;
58
import lombok.extern.slf4j.Slf4j;
9+
import org.apache.commons.lang3.StringUtils;
610
import org.springframework.cache.annotation.Cacheable;
711
import org.springframework.stereotype.Service;
812
import swyp.mingling.domain.meeting.dto.response.RecommendResponse;
@@ -11,10 +15,6 @@
1115
import swyp.mingling.global.enums.KakaoCategoryGroupCode;
1216
import swyp.mingling.global.exception.BusinessException;
1317

14-
import java.util.Arrays;
15-
import java.util.List;
16-
import java.util.Optional;
17-
1818
/**
1919
* 장소 추천 UseCase
2020
*/
@@ -65,7 +65,7 @@ public RecommendResponse execute(String midPlace, String category, int page, int
6565
.map(doc -> RecommendResponse.PlaceInfo.builder()
6666
.placeName(doc.getPlaceName())
6767
.categoryName(doc.getCategoryName())
68-
.categoryGroupName(doc.getCategoryGroupName())
68+
.categoryGroupName(getCategoryGroupName(doc.getCategoryGroupName(), categoryEnum))
6969
.phone(doc.getPhone())
7070
.addressName(doc.getAddressName())
7171
.roadAddressName(doc.getRoadAddressName())
@@ -138,4 +138,17 @@ static Optional<Category> from(String category) {
138138
.findFirst();
139139
}
140140
}
141+
142+
/**
143+
* 카카오 장소 검색 응답의 categoryGroupName 값을 반환
144+
* 외부 API 응답에서 categoryGroupName 이 null 또는 빈 문자열인 경우
145+
* Category enum 의 categoryName 값을 기본값으로 사용
146+
*
147+
* @param categoryGroupName 카카오 장소 검색 API 에서 전달된 categoryGroupName 값
148+
* @param categoryEnum Category enum
149+
* @return null 또는 빈 값일 경우 기본 카테고리 이름으로 대체된 categoryGroupName
150+
*/
151+
private static String getCategoryGroupName(String categoryGroupName, Category categoryEnum) {
152+
return StringUtils.defaultIfBlank(categoryGroupName, categoryEnum.getCategoryName());
153+
}
141154
}

0 commit comments

Comments
 (0)