Skip to content

Commit

Permalink
Merge pull request #198 from 9oormthon-univ/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
HyunWoo9930 authored Dec 6, 2024
2 parents 6cf1e39 + 311819b commit e173b0d
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -57,13 +57,12 @@ public class StoreController {
public ResponseCustom<Page<SearchStoresResponse>> searchByCategory(
Authentication authentication,
@RequestParam(required = false, defaultValue = "3") Integer searchRadius,
@RequestParam(required = false, defaultValue = "ALL") Category category,
Double lat,
Double lon, Pageable pageable) {
@RequestParam(required = false, defaultValue = "전체") String category,
Double lat, Double lon, Pageable pageable) {
Category categoryEnum = Category.fromDisplayName(category);
return ResponseCustom.OK(
storeService.searchByCategory(AuthenticationParser.parseUserId(authentication), searchRadius, category, lat,
lon,
pageable));
storeService.searchByCategory(AuthenticationParser.parseUserId(authentication), searchRadius, categoryEnum,
lat, lon, pageable));
}

@Operation(summary = "매장 찾기(검색)", description = "검색어와 매장 유형에 맞는 매장을 검색합니다.")
Expand Down Expand Up @@ -159,10 +158,10 @@ public ResponseCustom<OrdersDetailResponse> getOrders(Authentication authenticat
@Operation(summary = "가게 엑셀 다운로드", description = "가게 장부 세부 내역을 엑셀로 제공합니다.")
@GetMapping("/excel")
public ResponseEntity<?> getExcel(
Authentication authentication,
// Authentication authentication,
@RequestParam(defaultValue = "1") Integer period
) {
byte[] excel = storeService.createExcel(AuthenticationParser.parseUserId(authentication), period);
byte[] excel = storeService.createExcel("test-owner", period);

String today = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));
String fileName = "장부_세부내역_" + period + "개월_" + today + ".xlsx";
Expand Down
17 changes: 17 additions & 0 deletions src/main/java/com/jangburich/domain/store/domain/Category.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.jangburich.domain.store.domain;

import java.util.Arrays;

public enum Category {
ALL("전체"),
KOREAN("한식"),
Expand All @@ -24,4 +26,19 @@ public enum Category {
public String getDisplayName() {
return displayName;
}

public static Category fromDisplayName(String displayName) {
return Arrays.stream(Category.values())
.filter(category -> category.getDisplayName().equals(displayName))
.findFirst()
.orElseThrow(() -> new IllegalArgumentException("Invalid category: " + displayName + ". Please use one of: " + getValidCategories()));
}

private static String getValidCategories() {
return Arrays.stream(Category.values())
.map(Category::getDisplayName)
.reduce((a, b) -> a + ", " + b)
.orElse("");
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
import com.jangburich.domain.store.domain.Category;
import com.querydsl.core.annotations.QueryProjection;

import java.time.LocalTime;
import java.time.format.DateTimeFormatter;

import lombok.Builder;

@Builder
Expand Down Expand Up @@ -33,9 +36,18 @@ public SearchStoresResponse(Long storeId, String name, Double latitude, Double l
category.getDisplayName(),
distance,
businessStatus,
closeTime,
formatCloseTime(closeTime),
phoneNumber,
imageUrl
);
}
}

private static String formatCloseTime(String closeTime) {
try {
LocalTime time = LocalTime.parse(closeTime.split("\\.")[0]);
return time.format(DateTimeFormatter.ofPattern("HH:mm"));
} catch (Exception e) {
return closeTime;
}
}
}

0 comments on commit e173b0d

Please sign in to comment.