Showing
1 changed file
with
25 additions
and
3 deletions
| ... | @@ -3,11 +3,19 @@ package com.infoloop.tianting.logic.task; | ... | @@ -3,11 +3,19 @@ package com.infoloop.tianting.logic.task; |
| 3 | import com.infoloop.tianting.clientinventoryservice.SingleClientRpcResponse; | 3 | import com.infoloop.tianting.clientinventoryservice.SingleClientRpcResponse; |
| 4 | import com.infoloop.tianting.context.LoginContextHolder; | 4 | import com.infoloop.tianting.context.LoginContextHolder; |
| 5 | import com.infoloop.tianting.enums.LoginSourceEnum; | 5 | import com.infoloop.tianting.enums.LoginSourceEnum; |
| 6 | -import com.infoloop.tianting.mealorderservice.*; | 6 | +import com.infoloop.tianting.mealorderservice.MealOrderCreation; |
| 7 | +import com.infoloop.tianting.mealorderservice.MealOrderOrderMethodEnum; | ||
| 8 | +import com.infoloop.tianting.mealorderservice.MenuSchedule; | ||
| 9 | +import com.infoloop.tianting.mealorderservice.SingleDinerMealSuspensionRecordRpcResponse; | ||
| 10 | +import com.infoloop.tianting.mealorderservice.SingleDinerRpcResponse; | ||
| 11 | +import com.infoloop.tianting.mealorderservice.SingleGradeClassRpcResponse; | ||
| 12 | +import com.infoloop.tianting.mealorderservice.SingleMealMenuRecordRpcResponse; | ||
| 13 | +import com.infoloop.tianting.mealorderservice.SingleMealOrderRpcResponse; | ||
| 14 | +import com.infoloop.tianting.mealorderservice.SingleMpAccountDinerRefRpcResponse; | ||
| 15 | +import com.infoloop.tianting.service.SuspensionService; | ||
| 7 | import com.infoloop.tianting.service.client.ClientInventoryServiceRpcClient; | 16 | import com.infoloop.tianting.service.client.ClientInventoryServiceRpcClient; |
| 8 | import com.infoloop.tianting.service.client.DeliveryRuleServiceRpcClient; | 17 | import com.infoloop.tianting.service.client.DeliveryRuleServiceRpcClient; |
| 9 | import com.infoloop.tianting.service.client.MealOrderServiceRpcClient; | 18 | import com.infoloop.tianting.service.client.MealOrderServiceRpcClient; |
| 10 | -import com.infoloop.tianting.service.SuspensionService; | ||
| 11 | import com.infoloop.tianting.store.WeeklyTaskStore; | 19 | import com.infoloop.tianting.store.WeeklyTaskStore; |
| 12 | import com.infoloop.tianting.utils.DateUtil; | 20 | import com.infoloop.tianting.utils.DateUtil; |
| 13 | import lombok.RequiredArgsConstructor; | 21 | import lombok.RequiredArgsConstructor; |
| ... | @@ -22,6 +30,7 @@ import java.time.LocalDateTime; | ... | @@ -22,6 +30,7 @@ import java.time.LocalDateTime; |
| 22 | import java.time.LocalTime; | 30 | import java.time.LocalTime; |
| 23 | import java.time.ZonedDateTime; | 31 | import java.time.ZonedDateTime; |
| 24 | import java.time.temporal.TemporalAdjusters; | 32 | import java.time.temporal.TemporalAdjusters; |
| 33 | +import java.time.temporal.WeekFields; | ||
| 25 | import java.util.ArrayList; | 34 | import java.util.ArrayList; |
| 26 | import java.util.Collections; | 35 | import java.util.Collections; |
| 27 | import java.util.Comparator; | 36 | import java.util.Comparator; |
| ... | @@ -277,7 +286,9 @@ public class AutoCreateMealOrderTask { | ... | @@ -277,7 +286,9 @@ public class AutoCreateMealOrderTask { |
| 277 | .mapToObj(i -> { | 286 | .mapToObj(i -> { |
| 278 | final var date = nextWeekStart.plusDays(i); | 287 | final var date = nextWeekStart.plusDays(i); |
| 279 | final var dateStr = date.format(DateUtil.YYYY_MM_DD); | 288 | final var dateStr = date.format(DateUtil.YYYY_MM_DD); |
| 280 | - | 289 | + if (!isThisWeek("2025-09-28") && "2025-09-28".equals(dateStr)) {//TODO 临时处理 |
| 290 | + return null; | ||
| 291 | + } | ||
| 281 | // 检查是否为节假日 | 292 | // 检查是否为节假日 |
| 282 | final var status = holidayMap.get(dateStr); | 293 | final var status = holidayMap.get(dateStr); |
| 283 | if (status != null && status != 0 && status != 2) { | 294 | if (status != null && status != 0 && status != 2) { |
| ... | @@ -301,6 +312,17 @@ public class AutoCreateMealOrderTask { | ... | @@ -301,6 +312,17 @@ public class AutoCreateMealOrderTask { |
| 301 | .toList(); | 312 | .toList(); |
| 302 | } | 313 | } |
| 303 | 314 | ||
| 315 | + public static boolean isThisWeek(String date) { | ||
| 316 | + LocalDate today = LocalDate.now(); | ||
| 317 | + LocalDate targetDate = LocalDate.parse(date); | ||
| 318 | + WeekFields weekFields = WeekFields.ISO; | ||
| 319 | + int todayWeek = today.get(weekFields.weekOfWeekBasedYear()); | ||
| 320 | + int targetWeek = targetDate.get(weekFields.weekOfWeekBasedYear()); | ||
| 321 | + int todayYear = today.get(weekFields.weekBasedYear()); | ||
| 322 | + int targetYear = targetDate.get(weekFields.weekBasedYear()); | ||
| 323 | + return todayYear == targetYear && todayWeek == targetWeek; | ||
| 324 | + } | ||
| 325 | + | ||
| 304 | private LocalDate getThisWeekDay(LocalDate now, DayOfWeek target) { | 326 | private LocalDate getThisWeekDay(LocalDate now, DayOfWeek target) { |
| 305 | LocalDate monday = now.with(DayOfWeek.MONDAY); | 327 | LocalDate monday = now.with(DayOfWeek.MONDAY); |
| 306 | return monday.plusDays(target.getValue() - 1L); | 328 | return monday.plusDays(target.getValue() - 1L); | ... | ... |
-
Please register or login to post a comment