Toggle navigation
Toggle navigation
This project
Loading...
Sign in
jiujian
/
client-customer-order-api
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
zhuyifan
2025-09-17 09:51:37 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
7cbdfecfed979e59c0be2551f55e705862b809ac
7cbdfecf
1 parent
4c308216
fix(logic): 2025-09-28特殊订餐脚本处理
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
25 additions
and
3 deletions
src/main/java/com/infoloop/tianting/logic/task/AutoCreateMealOrderTask.java
src/main/java/com/infoloop/tianting/logic/task/AutoCreateMealOrderTask.java
View file @
7cbdfec
...
...
@@ -3,11 +3,19 @@ package com.infoloop.tianting.logic.task;
import
com.infoloop.tianting.clientinventoryservice.SingleClientRpcResponse
;
import
com.infoloop.tianting.context.LoginContextHolder
;
import
com.infoloop.tianting.enums.LoginSourceEnum
;
import
com.infoloop.tianting.mealorderservice.*
;
import
com.infoloop.tianting.mealorderservice.MealOrderCreation
;
import
com.infoloop.tianting.mealorderservice.MealOrderOrderMethodEnum
;
import
com.infoloop.tianting.mealorderservice.MenuSchedule
;
import
com.infoloop.tianting.mealorderservice.SingleDinerMealSuspensionRecordRpcResponse
;
import
com.infoloop.tianting.mealorderservice.SingleDinerRpcResponse
;
import
com.infoloop.tianting.mealorderservice.SingleGradeClassRpcResponse
;
import
com.infoloop.tianting.mealorderservice.SingleMealMenuRecordRpcResponse
;
import
com.infoloop.tianting.mealorderservice.SingleMealOrderRpcResponse
;
import
com.infoloop.tianting.mealorderservice.SingleMpAccountDinerRefRpcResponse
;
import
com.infoloop.tianting.service.SuspensionService
;
import
com.infoloop.tianting.service.client.ClientInventoryServiceRpcClient
;
import
com.infoloop.tianting.service.client.DeliveryRuleServiceRpcClient
;
import
com.infoloop.tianting.service.client.MealOrderServiceRpcClient
;
import
com.infoloop.tianting.service.SuspensionService
;
import
com.infoloop.tianting.store.WeeklyTaskStore
;
import
com.infoloop.tianting.utils.DateUtil
;
import
lombok.RequiredArgsConstructor
;
...
...
@@ -22,6 +30,7 @@ import java.time.LocalDateTime;
import
java.time.LocalTime
;
import
java.time.ZonedDateTime
;
import
java.time.temporal.TemporalAdjusters
;
import
java.time.temporal.WeekFields
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.Comparator
;
...
...
@@ -277,7 +286,9 @@ public class AutoCreateMealOrderTask {
.
mapToObj
(
i
->
{
final
var
date
=
nextWeekStart
.
plusDays
(
i
);
final
var
dateStr
=
date
.
format
(
DateUtil
.
YYYY_MM_DD
);
if
(!
isThisWeek
(
"2025-09-28"
)
&&
"2025-09-28"
.
equals
(
dateStr
))
{
//TODO 临时处理
return
null
;
}
// 检查是否为节假日
final
var
status
=
holidayMap
.
get
(
dateStr
);
if
(
status
!=
null
&&
status
!=
0
&&
status
!=
2
)
{
...
...
@@ -301,6 +312,17 @@ public class AutoCreateMealOrderTask {
.
toList
();
}
public
static
boolean
isThisWeek
(
String
date
)
{
LocalDate
today
=
LocalDate
.
now
();
LocalDate
targetDate
=
LocalDate
.
parse
(
date
);
WeekFields
weekFields
=
WeekFields
.
ISO
;
int
todayWeek
=
today
.
get
(
weekFields
.
weekOfWeekBasedYear
());
int
targetWeek
=
targetDate
.
get
(
weekFields
.
weekOfWeekBasedYear
());
int
todayYear
=
today
.
get
(
weekFields
.
weekBasedYear
());
int
targetYear
=
targetDate
.
get
(
weekFields
.
weekBasedYear
());
return
todayYear
==
targetYear
&&
todayWeek
==
targetWeek
;
}
private
LocalDate
getThisWeekDay
(
LocalDate
now
,
DayOfWeek
target
)
{
LocalDate
monday
=
now
.
with
(
DayOfWeek
.
MONDAY
);
return
monday
.
plusDays
(
target
.
getValue
()
-
1L
);
...
...
Please
register
or
login
to post a comment