Skip to content

[Feat] 컬렉션 전체 지도 핀과 식당 저장 정보 조회 (#242) - #244

Open
hwistlezz wants to merge 249 commits into
developfrom
feat/#242/collection-map-integration
Open

hwistlezz wants to merge 249 commits into
developfrom
feat/#242/collection-map-integration

Conversation

@hwistlezz

@hwistlezz hwistlezz commented Sep 30, 2026 •

Copy link
Copy Markdown
Member

🔥 작업 내용 (What)

선택한 컬렉션에 저장된 식당의 전체 지도 핀과 식당별 내 저장 여부·저장한 사용자 수를 조회하는 API를 추가했습니다.

🧩 변경 사항 (Details)

항목 이 PR에서 추가하는 동작
전체 핀 선택한 컬렉션에서 유효 좌표가 있는 식당을 모두 반환합니다. 일반 지도의 10개 페이지나 확대·축소로 일부만 선택하지 않습니다.
열람 권한 공개·비공개 컬렉션 권한을 확인하고 조회 중 공개 범위나 내용이 바뀌면 다시 검사합니다.
저장 정보 내 저장 여부와 저장한 사용자 수를 일괄 조회합니다. 기존 user→restaurant 의존 방향을 유지합니다.
좌표 갱신 갱신 중에도 유효한 좌표는 반환합니다. 주소 변경·만료로 좌표가 없어져도 식당 저장 관계는 남깁니다.
출처 표시 Places가 반환한 제3자 출처가 있으면 핀의 좌표와 함께 이름·링크를 전달합니다. 좌표가 만료되면 같이 제외합니다.
이름·설명 생성·수정 모두 앞뒤 공백을 보존합니다. 공백뿐인 이름은 허용하지 않습니다.
실패 확인 DB 조회와 식당 정보 조회 실패 단계를 구분해 WARN을 남깁니다. 식별자·예외 원문은 기록하지 않습니다.

Swagger에 전체 핀과 저장 정보 API의 차이, 공개·비공개 권한, ID 일괄 조회 범위, 저장 후 다시 읽을 값을 정리했습니다. 실제 저장은 기존 컬렉션 식당 추가 API를 사용합니다.

테스트 실패를 확인할 수 있도록 CI 보고서를 보관하고 테스트용 Spring 환경 캐시를 8개로 제한했습니다.

📸 스크린샷

없음

⚠️ 주의 사항 (Caution)

  • 전체 핀은 현재 컬렉션 저장 개수 제한 안에서 반환합니다. 좌표가 없는 식당을 컬렉션에서 삭제하지 않습니다.
  • 식당 저장 변경 뒤 카드·핀 상세의 저장 상태와 수를 다시 읽어 화면에 반영해야 합니다.
  • 컬렉션 변경 번호 migration은 V41입니다. 이미 적용한 공지·약관 migration은 수정하지 않습니다.

🔗 관련 이슈

Closes #242

✅ 체크리스트

  • 관련 테스트와 문서 확인
  • 현재 변경의 CI 확인

…restaurant-location-maintenance

# Conflicts:
#	src/main/java/org/sopt/hashi/restaurant/domain/Restaurant.java
# Conflicts:
#	src/main/java/org/sopt/hashi/restaurant/code/RestaurantErrorCode.java
#	src/main/java/org/sopt/hashi/restaurant/service/RestaurantPortImpl.java
#	src/test/java/org/sopt/hashi/restaurant/service/RestaurantServiceIntegrationTest.java
# Conflicts:
#	docs/map/map-pagination.md
#	src/main/java/org/sopt/hashi/restaurant/domain/RestaurantMapQueryRepository.java
#	src/main/java/org/sopt/hashi/restaurant/internal/map/MapCapacityMetrics.java
#	src/main/java/org/sopt/hashi/restaurant/internal/map/MapSessionSerializer.java
#	src/main/java/org/sopt/hashi/restaurant/service/RestaurantMapPageService.java
#	src/test/java/org/sopt/hashi/restaurant/internal/map/MapQuerySessionTest.java
#	src/test/java/org/sopt/hashi/restaurant/service/RestaurantMapPageServiceTest.java
# Conflicts:
#	src/main/java/org/sopt/hashi/restaurant/code/RestaurantErrorCode.java
@hwistlezz
hwistlezz requested a review from gichanGim October 9, 2026 06:48

@gichanGim gichanGim left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수고하셨습니다!

Image

기획의 컬렉션 수정 문서(https://github.com/TEAM-HASHI/HASHI-PLAN/blob/main/02_PRODUCT_SPEC/SAVED/SAVED_COLLECTION_MANAGE/SAVED_COLLECTION_MANAGE.md)에 다음과 같이 공백을 자동으로 제거한다고 되어있어서 request change 요청으로 드리려고 했는데, 기획에게 질문해보니 수정도 마찬가지로 컬렉션 명 공백 제거로 간다고 한다고 하네요!

기능 명세서도 이와 같이 수정해놓는다고 합니다~

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feat] 컬렉션 전체 지도 핀과 식당 저장 정보 조회

2 participants