From 4cf7f1dacf0329a38d97cdcdbf071457561cc6cc Mon Sep 17 00:00:00 2001 From: tim Date: Mon, 11 Aug 2025 11:25:23 +0800 Subject: [PATCH] fix: utc --- backend/src/main/java/com/openisle/service/PostService.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/com/openisle/service/PostService.java b/backend/src/main/java/com/openisle/service/PostService.java index 56c678aa9..14f94d968 100644 --- a/backend/src/main/java/com/openisle/service/PostService.java +++ b/backend/src/main/java/com/openisle/service/PostService.java @@ -29,6 +29,7 @@ import org.springframework.stereotype.Service; import org.springframework.scheduling.TaskScheduler; import com.openisle.service.EmailSender; +import java.time.ZoneId; import java.time.ZoneOffset; import java.util.List; import org.springframework.data.domain.PageRequest; @@ -114,7 +115,7 @@ public class PostService { for (LotteryPost lp : lotteryPostRepository.findByEndTimeAfterAndWinnersIsEmpty(now)) { ScheduledFuture future = taskScheduler.schedule( () -> applicationContext.getBean(PostService.class).finalizeLottery(lp.getId()), - java.util.Date.from(lp.getEndTime().atZone(java.time.ZoneOffset.UTC).toInstant())); + java.util.Date.from(lp.getEndTime().atZone(ZoneId.systemDefault()).toInstant())); scheduledFinalizations.put(lp.getId(), future); } for (LotteryPost lp : lotteryPostRepository.findByEndTimeBeforeAndWinnersIsEmpty(now)) { @@ -214,7 +215,7 @@ public class PostService { if (post instanceof LotteryPost lp && lp.getEndTime() != null) { ScheduledFuture future = taskScheduler.schedule( () -> applicationContext.getBean(PostService.class).finalizeLottery(lp.getId()), - java.util.Date.from(lp.getEndTime().atZone(java.time.ZoneOffset.UTC).toInstant())); + java.util.Date.from(lp.getEndTime().atZone(ZoneId.systemDefault()).toInstant())); scheduledFinalizations.put(lp.getId(), future); } return post;