diff --git a/nowait-app-user-api/src/main/java/com/nowait/applicationuser/config/security/SecurityConfig.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/config/security/SecurityConfig.java index e9d48ee9..d6aef1c5 100644 --- a/nowait-app-user-api/src/main/java/com/nowait/applicationuser/config/security/SecurityConfig.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/config/security/SecurityConfig.java @@ -66,7 +66,8 @@ public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { "/api-docs/**", "/swagger-resources/**", "/webjars/**", - "/demo-ui.html" + "/demo-ui.html", + "/v1/menus//all-menus/stores/**" ) .permitAll() .anyRequest().authenticated() // 그외 요청은 허가된 사람만 인가 diff --git a/nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/dto/StoreWaitingInfo.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/dto/StoreWaitingInfo.java index 56249932..2cdde824 100644 --- a/nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/dto/StoreWaitingInfo.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/dto/StoreWaitingInfo.java @@ -8,6 +8,12 @@ @AllArgsConstructor @Schema(description = "주점 대기 현황 정보 DTO") public class StoreWaitingInfo { + @Schema(description = "배너 첫번째 이미지", example = "https://cdn.gtable.com/profile/user1.jpg") + private String bannerImageUrl; + + @Schema(description = "학과 이름", example = "경영학과") + private String departmentName; + @Schema(description = "주점 ID", example = "1") private String storeId; diff --git a/nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/service/StoreServiceImpl.java b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/service/StoreServiceImpl.java index 2144e860..d2e9a51e 100644 --- a/nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/service/StoreServiceImpl.java +++ b/nowait-app-user-api/src/main/java/com/nowait/applicationuser/store/service/StoreServiceImpl.java @@ -26,6 +26,7 @@ import com.nowait.applicationuser.store.dto.StoreWaitingInfo; import com.nowait.domaincorerdb.department.entity.Department; import com.nowait.domaincorerdb.department.repository.DepartmentRepository; +import com.nowait.domaincorerdb.store.entity.ImageType; import com.nowait.domaincorerdb.store.entity.Store; import com.nowait.domaincorerdb.store.entity.StoreImage; import com.nowait.domaincorerdb.store.exception.StoreNotFoundException; @@ -238,7 +239,20 @@ public List getStoresByWaitingCount(boolean desc) { .map(Store::getName) .orElse(UNKNOWN_STORE_NAME); - result.add(new StoreWaitingInfo(storeId, storeName, count != null ? count : 0)); + Store store = storeRepository.findById(Long.valueOf(storeId)) + .orElseThrow(StoreNotFoundException::new); + Department department = departmentRepository.getReferenceById(store.getDepartmentId()); + List storeImageList = storeImageRepository.findByStoreAndImageType(store, ImageType.BANNER); + + String imageUrl = storeImageList.isEmpty() ? null : storeImageList.get(0).getImageUrl(); + + result.add(new StoreWaitingInfo( + imageUrl, + department.getName(), + storeId, + storeName, + count != null ? count : 0 + )); } } diff --git a/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/repository/StoreImageRepository.java b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/repository/StoreImageRepository.java index 45639941..d327fdb0 100644 --- a/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/repository/StoreImageRepository.java +++ b/nowait-domain/domain-core-rdb/src/main/java/com/nowait/domaincorerdb/store/repository/StoreImageRepository.java @@ -1,5 +1,7 @@ package com.nowait.domaincorerdb.store.repository; +import static com.nowait.domaincorerdb.store.entity.ImageType.*; + import java.util.List; import java.util.Optional; @@ -18,4 +20,8 @@ public interface StoreImageRepository extends JpaRepository { List findByStore_StoreIdIn(List storeIds); Optional findByStoreStoreIdAndImageType(Long storeId, ImageType imageType); + + List findByStoreAndImageType(Store store, ImageType imageType); + + }