This commit is contained in:
雷欧(林平凡)
2024-12-05 11:39:48 +08:00
parent acc0dbace6
commit 2073f8c9db

View File

@@ -174,7 +174,7 @@ public class JDUtils {
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
LocalDateTime lastMinute = now.minusMinutes(10).withSecond(0).withNano(0); LocalDateTime lastMinute = now.minusMinutes(10).withSecond(0).withNano(0);
UnionOpenOrderRowQueryResponse response = fetchOrdersForDateTime(lastMinute, true, 1); // 真实代表实时订单 UnionOpenOrderRowQueryResponse response = fetchOrdersForDateTime(lastMinute, true, 1, true); // 真实代表实时订单
if (response != null) { if (response != null) {
int code = response.getQueryResult().getCode(); int code = response.getQueryResult().getCode();
@@ -234,7 +234,7 @@ public class JDUtils {
while (hasMore) { while (hasMore) {
try { try {
UnionOpenOrderRowQueryResponse response = fetchOrdersForDateTime(startDate, false, pageIndex); UnionOpenOrderRowQueryResponse response = fetchOrdersForDateTime(startDate, false, pageIndex, false);
if (response != null && response.getQueryResult() != null) { if (response != null && response.getQueryResult() != null) {
if (response.getQueryResult().getCode() == 200) { if (response.getQueryResult().getCode() == 200) {
OrderRowResp[] orderRowResps = response.getQueryResult().getData(); OrderRowResp[] orderRowResps = response.getQueryResult().getData();
@@ -282,7 +282,7 @@ public class JDUtils {
while (hasMore) { while (hasMore) {
try { try {
UnionOpenOrderRowQueryResponse response = fetchOrdersForDateTime(startDate, false, pageIndex); UnionOpenOrderRowQueryResponse response = fetchOrdersForDateTime(startDate, false, pageIndex, false);
if (response != null && response.getQueryResult() != null) { if (response != null && response.getQueryResult() != null) {
if (response.getQueryResult().getCode() == 200) { if (response.getQueryResult().getCode() == 200) {
OrderRowResp[] orderRowResps = response.getQueryResult().getData(); OrderRowResp[] orderRowResps = response.getQueryResult().getData();
@@ -308,7 +308,7 @@ public class JDUtils {
} }
if (hasMore) pageIndex++; if (hasMore) pageIndex++;
} }
startDate = startDate.plusHours(1); startDate = startDate.plusMinutes(10);
} }
} }
@@ -329,7 +329,7 @@ public class JDUtils {
while (hasMore) { while (hasMore) {
try { try {
UnionOpenOrderRowQueryResponse response = fetchOrdersForDateTime(startDate, false, pageIndex); UnionOpenOrderRowQueryResponse response = fetchOrdersForDateTime(startDate, false, pageIndex, true);
if (response != null && response.getQueryResult() != null) { if (response != null && response.getQueryResult() != null) {
if (response.getQueryResult().getCode() == 200) { if (response.getQueryResult().getCode() == 200) {
OrderRowResp[] orderRowResps = response.getQueryResult().getData(); OrderRowResp[] orderRowResps = response.getQueryResult().getData();
@@ -363,9 +363,9 @@ public class JDUtils {
/** /**
* 根据指定的日期时间拉取订单 * 根据指定的日期时间拉取订单
*/ */
public UnionOpenOrderRowQueryResponse fetchOrdersForDateTime(LocalDateTime startTime, boolean isRealTime, Integer page) throws Exception { public UnionOpenOrderRowQueryResponse fetchOrdersForDateTime(LocalDateTime startTime, boolean isRealTime, Integer page, boolean isMinutes) throws Exception {
LocalDateTime endTime = isRealTime ? startTime.plusMinutes(10) : startTime.plusHours(1); LocalDateTime endTime = isMinutes ? startTime.plusMinutes(10) : startTime.plusHours(1);
String hourMinuteTag = isRealTime ? "minute" : "hour"; String hourMinuteTag = isRealTime ? "minute" : "hour";
String timeTag = JD_REFRESH_TAG + startTime.format(DATE_TIME_FORMATTER); String timeTag = JD_REFRESH_TAG + startTime.format(DATE_TIME_FORMATTER);
@@ -379,7 +379,7 @@ public class JDUtils {
// 调用 API 以拉取订单 // 调用 API 以拉取订单
UnionOpenOrderRowQueryResponse unionOpenOrderRowQueryResponse = getUnionOpenOrderRowQueryResponse(startTime, endTime, page); UnionOpenOrderRowQueryResponse unionOpenOrderRowQueryResponse = getUnionOpenOrderRowQueryResponse(startTime, endTime, page);
// 标记已拉取 // 历史的订单才进行标记已拉取,小时分钟的都进行拉取并且标记
if (!isRealTime) { if (!isRealTime) {
// 只有没有订单的才进行标记为已拉取 // 只有没有订单的才进行标记为已拉取
if (unionOpenOrderRowQueryResponse != null && unionOpenOrderRowQueryResponse.getQueryResult() != null && unionOpenOrderRowQueryResponse.getQueryResult().getData() == null) { if (unionOpenOrderRowQueryResponse != null && unionOpenOrderRowQueryResponse.getQueryResult() != null && unionOpenOrderRowQueryResponse.getQueryResult().getData() == null) {