From b5407f46d6e41994145d97e604d38f77ec1cfe2f Mon Sep 17 00:00:00 2001 From: kimjb Date: Wed, 3 Jun 2026 15:21:29 +0900 Subject: [PATCH 1/3] =?UTF-8?q?Fix:=20=EB=A7=A4=EC=9E=A5=20=EC=BA=90?= =?UTF-8?q?=EC=8B=9C=20=ED=91=9C=ED=98=84=EC=8B=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/catchtable/store/service/StoreService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/catchtable/store/service/StoreService.java b/src/main/java/com/catchtable/store/service/StoreService.java index f1a63ec..a45a352 100644 --- a/src/main/java/com/catchtable/store/service/StoreService.java +++ b/src/main/java/com/catchtable/store/service/StoreService.java @@ -58,7 +58,7 @@ public StoreCreateResponse createStore(Long userId, StoreCreateRequest request) * 매장 목록 통합 조회 (이름·카테고리·지역 옵셔널 필터 + DB 페이지네이션 + 인기 정렬) * Specification 사용으로 PostgreSQL+enum 조합에서 :param IS NULL 회피. */ - @Cacheable(value = "storeList", key = "T(String).valueOf(#category) + ':' + T(String).valueOf(#district) + ':' + #page + ':' + #size", condition = "#name == null") + @Cacheable(value = "storeList", key = "(#category?.name() ?: 'ALL') + ':' + (#district?.name() ?: 'ALL') + ':' + #page + ':' + #size", condition = "#name == null") @Transactional(readOnly = true) public List getStores(String name, Category category, District district, int page, int size) { int limitedSize = Math.min(size, 100); From 38f7d84cc275a569ab73739d4b06c7f1b158da3b Mon Sep 17 00:00:00 2001 From: kimjb Date: Wed, 3 Jun 2026 15:29:30 +0900 Subject: [PATCH 2/3] =?UTF-8?q?Fix:=20=EC=BD=94=EB=93=9C=EB=A6=AC=EB=B7=B0?= =?UTF-8?q?=20=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/catchtable/store/service/StoreService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/catchtable/store/service/StoreService.java b/src/main/java/com/catchtable/store/service/StoreService.java index a45a352..2dba805 100644 --- a/src/main/java/com/catchtable/store/service/StoreService.java +++ b/src/main/java/com/catchtable/store/service/StoreService.java @@ -58,7 +58,7 @@ public StoreCreateResponse createStore(Long userId, StoreCreateRequest request) * 매장 목록 통합 조회 (이름·카테고리·지역 옵셔널 필터 + DB 페이지네이션 + 인기 정렬) * Specification 사용으로 PostgreSQL+enum 조합에서 :param IS NULL 회피. */ - @Cacheable(value = "storeList", key = "(#category?.name() ?: 'ALL') + ':' + (#district?.name() ?: 'ALL') + ':' + #page + ':' + #size", condition = "#name == null") + @Cacheable(value = "storeList", key = "(#category?.name() ?: 'ALL') + ':' + (#district?.name() ?: 'ALL') + ':' + #page + ':' + #size", condition = "#name == null || #name.isBlank()") @Transactional(readOnly = true) public List getStores(String name, Category category, District district, int page, int size) { int limitedSize = Math.min(size, 100); From 0b01ed3e9c19f9374e0996d357131f2248367364 Mon Sep 17 00:00:00 2001 From: kimjb Date: Wed, 3 Jun 2026 15:39:26 +0900 Subject: [PATCH 3/3] =?UTF-8?q?Fix:=20ci=20=EB=B9=8C=EB=93=9C=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ci.yml | 27 --------------------------- 1 file changed, 27 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 131a670..4030fab 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,33 +9,6 @@ jobs: name: Test & Build runs-on: ubuntu-latest - services: - # PostGIS 확장 자동 활성화된 PostgreSQL 16 - # 주의: pgvector 확장은 미포함 — 벡터 의존 테스트는 별도 처리 필요 - postgres: - image: postgis/postgis:16-3.4 - env: - POSTGRES_USER: test - POSTGRES_PASSWORD: test - POSTGRES_DB: test - ports: - - 5432:5432 - options: >- - --health-cmd pg_isready - --health-interval 10s - --health-timeout 5s - --health-retries 10 - - redis: - image: redis:7-alpine - ports: - - 6379:6379 - options: >- - --health-cmd "redis-cli ping" - --health-interval 10s - --health-timeout 5s - --health-retries 5 - steps: - uses: actions/checkout@v4