|
19 | 19 | import com.mapletrend.nexonopenapicore.dto.response.UnionRankingResponse;
|
20 | 20 | import io.micrometer.core.annotation.Timed;
|
21 | 21 | import java.time.LocalDate;
|
| 22 | +import java.time.LocalDateTime; |
| 23 | +import java.time.LocalTime; |
22 | 24 | import java.time.format.DateTimeFormatter;
|
23 | 25 | import java.util.List;
|
24 | 26 | import java.util.Locale;
|
@@ -61,6 +63,7 @@ public ApiResponse<Object> createStamp(
|
61 | 63 | LocalDate yesterday = today.minusDays(2);
|
62 | 64 | DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd", Locale.KOREA);
|
63 | 65 | String formattedToday = today.format(formatter);
|
| 66 | + String apiUpdateToday = getApiUpdateToday(); |
64 | 67 | String formattedYesterday = yesterday.format(formatter);
|
65 | 68 |
|
66 | 69 | StarforceResponse starforceResponse = starforceService.getStarforce(stampRequest.getNexonApiKey(), "10",
|
@@ -197,6 +200,20 @@ private String formatUnionLevel(long unionLevel) {
|
197 | 200 | return (unionLevel / 500 * 500) + "+";
|
198 | 201 | }
|
199 | 202 |
|
| 203 | + private String getApiUpdateToday() { |
| 204 | + LocalDate today = LocalDate.now(); |
| 205 | + LocalDateTime now = LocalDateTime.now(); |
| 206 | + LocalDateTime apiUpdateTime = LocalDateTime.of(today, LocalTime.of(1, 5)); |
| 207 | + LocalDate queryDate; |
| 208 | + if (now.isBefore(apiUpdateTime)) { |
| 209 | + queryDate = today.minusDays(2); |
| 210 | + } else { |
| 211 | + queryDate = today.minusDays(1); |
| 212 | + } |
| 213 | + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd", Locale.KOREA); |
| 214 | + return queryDate.format(formatter); |
| 215 | + } |
| 216 | + |
200 | 217 | @GetMapping("/stamp/{invenNickname}")
|
201 | 218 | @Timed(value = "findStampByInvenNickname")
|
202 | 219 | public ApiResponse<StampImageResponse> findStampByInvenNickname(
|
|
0 commit comments