From 2d8a5bdbb1dba929394bc9643519c08f349c805e Mon Sep 17 00:00:00 2001 From: pooreumjung Date: Sat, 18 Jul 2026 21:46:06 +0900 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=EC=A0=9C=ED=9C=B4=20=EA=B0=80?= =?UTF-8?q?=EA=B2=8C=20=EC=A7=80=EB=8F=84=20URL=20=ED=95=84=EB=93=9C=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../partnership/dto/PartnershipResponse.java | 4 ++ .../entity/PartnershipRestaurant.java | 4 ++ ...add_map_urls_to_partnership_restaurant.sql | 3 ++ .../dto/PartnershipResponseTest.java | 53 +++++++++++++++++++ 4 files changed, 64 insertions(+) create mode 100644 src/main/resources/db/migration/V19__add_map_urls_to_partnership_restaurant.sql create mode 100644 src/test/java/ssu/eatssu/domain/partnership/dto/PartnershipResponseTest.java diff --git a/src/main/java/ssu/eatssu/domain/partnership/dto/PartnershipResponse.java b/src/main/java/ssu/eatssu/domain/partnership/dto/PartnershipResponse.java index 98ca1fc8..edcffa83 100644 --- a/src/main/java/ssu/eatssu/domain/partnership/dto/PartnershipResponse.java +++ b/src/main/java/ssu/eatssu/domain/partnership/dto/PartnershipResponse.java @@ -18,6 +18,8 @@ public class PartnershipResponse { private Double longitude; private Double latitude; private RestaurantType restaurantType; + private String naverMapUrl; + private String kakaoMapUrl; private List partnershipInfos; public static PartnershipResponse fromEntity(PartnershipRestaurant restaurant, Long userId, Language language) { @@ -36,6 +38,8 @@ public static PartnershipResponse fromEntity(PartnershipRestaurant restaurant, L .longitude(restaurant.getLongitude()) .latitude(restaurant.getLatitude()) .restaurantType(restaurant.getRestaurantType()) + .naverMapUrl(restaurant.getNaverMapUrl()) + .kakaoMapUrl(restaurant.getKakaoMapUrl()) .partnershipInfos(infos) .build(); } diff --git a/src/main/java/ssu/eatssu/domain/partnership/entity/PartnershipRestaurant.java b/src/main/java/ssu/eatssu/domain/partnership/entity/PartnershipRestaurant.java index 20e08134..2f3627e8 100644 --- a/src/main/java/ssu/eatssu/domain/partnership/entity/PartnershipRestaurant.java +++ b/src/main/java/ssu/eatssu/domain/partnership/entity/PartnershipRestaurant.java @@ -44,6 +44,10 @@ public class PartnershipRestaurant implements Localizable { private String storeNameJa; @Column(name = "store_name_vi") private String storeNameVi; + @Column(name = "naver_map_url", length = 1024) + private String naverMapUrl; + @Column(name = "kakao_map_url", length = 1024) + private String kakaoMapUrl; @OneToMany(mappedBy = "partnershipRestaurant") @BatchSize(size = 20) diff --git a/src/main/resources/db/migration/V19__add_map_urls_to_partnership_restaurant.sql b/src/main/resources/db/migration/V19__add_map_urls_to_partnership_restaurant.sql new file mode 100644 index 00000000..ba1efbc5 --- /dev/null +++ b/src/main/resources/db/migration/V19__add_map_urls_to_partnership_restaurant.sql @@ -0,0 +1,3 @@ +ALTER TABLE partnership_restaurant + ADD COLUMN naver_map_url VARCHAR(1024) NULL, + ADD COLUMN kakao_map_url VARCHAR(1024) NULL; diff --git a/src/test/java/ssu/eatssu/domain/partnership/dto/PartnershipResponseTest.java b/src/test/java/ssu/eatssu/domain/partnership/dto/PartnershipResponseTest.java new file mode 100644 index 00000000..5543dfc2 --- /dev/null +++ b/src/test/java/ssu/eatssu/domain/partnership/dto/PartnershipResponseTest.java @@ -0,0 +1,53 @@ +package ssu.eatssu.domain.partnership.dto; + +import org.junit.jupiter.api.Test; +import org.springframework.test.util.ReflectionTestUtils; +import ssu.eatssu.domain.partnership.entity.PartnershipRestaurant; +import ssu.eatssu.domain.partnership.entity.RestaurantType; +import ssu.eatssu.domain.user.entity.Language; + +import static org.assertj.core.api.Assertions.assertThat; + +class PartnershipResponseTest { + + @Test + void shouldMapMapUrlsFromRestaurant() { + // given + PartnershipRestaurant restaurant = createRestaurant("https://map.naver.com/p/example", + "https://map.kakao.com/link/map/example"); + + // when + PartnershipResponse response = PartnershipResponse.fromEntity(restaurant, 1L, Language.KO); + + // then + assertThat(response.getNaverMapUrl()).isEqualTo("https://map.naver.com/p/example"); + assertThat(response.getKakaoMapUrl()).isEqualTo("https://map.kakao.com/link/map/example"); + } + + @Test + void shouldReturnNullWhenMapUrlsAreNotRegistered() { + // given + PartnershipRestaurant restaurant = createRestaurant(null, null); + + // when + PartnershipResponse response = PartnershipResponse.fromEntity(restaurant, 1L, Language.KO); + + // then + assertThat(response.getNaverMapUrl()).isNull(); + assertThat(response.getKakaoMapUrl()).isNull(); + } + + private PartnershipRestaurant createRestaurant(String naverMapUrl, String kakaoMapUrl) { + PartnershipRestaurant restaurant = new TestPartnershipRestaurant(); + ReflectionTestUtils.setField(restaurant, "restaurantType", RestaurantType.RESTAURANT); + ReflectionTestUtils.setField(restaurant, "longitude", 126.9576); + ReflectionTestUtils.setField(restaurant, "latitude", 37.4963); + ReflectionTestUtils.setField(restaurant, "storeNameKo", "테스트 가게"); + ReflectionTestUtils.setField(restaurant, "naverMapUrl", naverMapUrl); + ReflectionTestUtils.setField(restaurant, "kakaoMapUrl", kakaoMapUrl); + return restaurant; + } + + private static class TestPartnershipRestaurant extends PartnershipRestaurant { + } +} From 176ccd176bd7b9570ee99141cb52f95faf35c671 Mon Sep 17 00:00:00 2001 From: pooreumjung Date: Sat, 18 Jul 2026 22:00:00 +0900 Subject: [PATCH 2/2] =?UTF-8?q?refactor:=20kakaoMapUrl,=20naverMapUrl=20?= =?UTF-8?q?=EA=B8=B8=EC=9D=B4=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/partnership/entity/PartnershipRestaurant.java | 4 ++-- .../migration/V19__add_map_urls_to_partnership_restaurant.sql | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/ssu/eatssu/domain/partnership/entity/PartnershipRestaurant.java b/src/main/java/ssu/eatssu/domain/partnership/entity/PartnershipRestaurant.java index 2f3627e8..d2d6ad59 100644 --- a/src/main/java/ssu/eatssu/domain/partnership/entity/PartnershipRestaurant.java +++ b/src/main/java/ssu/eatssu/domain/partnership/entity/PartnershipRestaurant.java @@ -44,9 +44,9 @@ public class PartnershipRestaurant implements Localizable { private String storeNameJa; @Column(name = "store_name_vi") private String storeNameVi; - @Column(name = "naver_map_url", length = 1024) + @Column(name = "naver_map_url", length = 2048) private String naverMapUrl; - @Column(name = "kakao_map_url", length = 1024) + @Column(name = "kakao_map_url", length = 2048) private String kakaoMapUrl; @OneToMany(mappedBy = "partnershipRestaurant") diff --git a/src/main/resources/db/migration/V19__add_map_urls_to_partnership_restaurant.sql b/src/main/resources/db/migration/V19__add_map_urls_to_partnership_restaurant.sql index ba1efbc5..349c91dd 100644 --- a/src/main/resources/db/migration/V19__add_map_urls_to_partnership_restaurant.sql +++ b/src/main/resources/db/migration/V19__add_map_urls_to_partnership_restaurant.sql @@ -1,3 +1,3 @@ ALTER TABLE partnership_restaurant - ADD COLUMN naver_map_url VARCHAR(1024) NULL, - ADD COLUMN kakao_map_url VARCHAR(1024) NULL; + ADD COLUMN naver_map_url VARCHAR(2048) NULL, + ADD COLUMN kakao_map_url VARCHAR(2048) NULL;