Skip to content

Commit cc9a4e9

Browse files
committed
hotfix: 누락된 트로피 타입 추가 및 판정 로직 보완
- 야식의 왕 등 특수 트로피에 시간/카테고리 조건 반영 - Enum constant 상수 추가
1 parent 443759b commit cc9a4e9

2 files changed

Lines changed: 14 additions & 4 deletions

File tree

src/main/java/org/umc/valuedi/domain/trophy/dto/TrophyCalculationDto.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,6 @@ public class TrophyCalculationDto {
99
private long totalAmount;
1010
private long maxAmount;
1111
private int transactionCount;
12-
// 필요한 메트릭 추가
12+
private int hour; // 결제 시간
13+
private String categoryCode; // 카테고리
1314
}

src/main/java/org/umc/valuedi/domain/trophy/enums/TrophyType.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,18 @@
99
@Getter
1010
@RequiredArgsConstructor
1111
public enum TrophyType {
12-
COFFEE_ADDICT("카페인 중독", stats -> stats.getTotalAmount() >= 4500),
13-
LATE_NIGHT_SNACK("야식 매니아", stats -> stats.getTotalAmount() >= 50000),
14-
NO_SPEND_DAY("무지출 챌린지", stats -> stats.getTotalAmount() <= 500);
12+
// 카페/간식 카테고리(CAFE_SNACK) + 4500원 이상
13+
COFFEE_ADDICT("커피중독자", stats ->
14+
"CAFE_SNACK".equals(stats.getCategoryCode()) && stats.getTotalAmount() >= 4500),
15+
16+
// 식비 카테고리(FOOD) + 21시 이후 + 50,000원 이상
17+
LATE_NIGHT_SNACK("야식의 왕", stats -> stats.getHour() >= 21 && stats.getTotalAmount() >= 50000),
18+
19+
NO_SPEND_DAY("무지출데이", stats -> stats.getTotalAmount() <= 500),
20+
MIN_SPEND("최소소비", stats -> stats.getTotalAmount() <= 4500),
21+
MAX_SPEND("최다소비", stats -> stats.getTotalAmount() >= 50000)
22+
23+
;
1524

1625
private final String displayName;
1726
private final Predicate<TrophyCalculationDto> condition;

0 commit comments

Comments
 (0)