Skip to content

Commit f645a79

Browse files
committed
fix: 채팅방 활성화 기간을 날짜 기준으로 수정
1 parent 5d2b301 commit f645a79

1 file changed

Lines changed: 14 additions & 7 deletions

File tree

src/main/java/com/back/web7_9_codecrete_be/domain/chats/service/ChatPolicyService.java

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.time.Duration;
44
import java.time.LocalDateTime;
5+
import java.time.LocalTime;
56

67
import org.springframework.data.redis.core.RedisTemplate;
78
import org.springframework.stereotype.Service;
@@ -43,21 +44,27 @@ public boolean isChatAvailable(Long concertId) {
4344

4445
// 정책 기간 계산
4546
LocalDateTime now = LocalDateTime.now();
47+
48+
LocalDateTime policyStart = ticketTime.toLocalDate()
49+
.minusDays(3)
50+
.atStartOfDay();
51+
52+
LocalDateTime policyEnd = ticketTime.toLocalDate()
53+
.plusDays(3)
54+
.atTime(LocalTime.MAX);
55+
4656
boolean available =
47-
now.isAfter(ticketTime.minusDays(3)) &&
48-
now.isBefore(ticketTime.plusDays(3));
57+
now.isAfter(policyStart) &&
58+
now.isBefore(policyEnd);
4959

5060
// TTL 계산 후 캐싱
51-
Duration ttl = calculateTtl(now, ticketTime);
61+
Duration ttl = calculateTtl(now, policyStart, policyEnd);
5262
redisTemplate.opsForValue().set(key, available, ttl);
5363

5464
return available;
5565
}
5666

57-
private Duration calculateTtl(LocalDateTime now, LocalDateTime ticketTime) {
58-
59-
LocalDateTime policyStart = ticketTime.minusDays(3);
60-
LocalDateTime policyEnd = ticketTime.plusDays(3);
67+
private Duration calculateTtl(LocalDateTime now, LocalDateTime policyStart, LocalDateTime policyEnd) {
6168

6269
// 아직 정책 시작 전
6370
if (now.isBefore(policyStart)) {

0 commit comments

Comments
 (0)