From 87d25d1f9b0c1a7126803701346620f87d56f176 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B7=E6=AC=A7=EF=BC=88=E6=9E=97=E5=B9=B3=E5=87=A1?= =?UTF-8?q?=EF=BC=89?= Date: Thu, 9 Jan 2025 14:25:38 +0800 Subject: [PATCH] 1 --- .../java/cn/van/business/util/JDUtils.java | 88 ++++++++++++++----- 1 file changed, 68 insertions(+), 20 deletions(-) diff --git a/src/main/java/cn/van/business/util/JDUtils.java b/src/main/java/cn/van/business/util/JDUtils.java index 4c39238..6e37b6c 100644 --- a/src/main/java/cn/van/business/util/JDUtils.java +++ b/src/main/java/cn/van/business/util/JDUtils.java @@ -183,7 +183,15 @@ public class JDUtils { LocalDateTime now = LocalDateTime.now(); LocalDateTime lastMinute = now.minusMinutes(10).withSecond(0).withNano(0); - UnionOpenOrderRowQueryResponse response = fetchOrdersForDateTime(lastMinute, true, 1, true); // 真实代表实时订单 + for (Map.Entry entry : super_admins.entrySet()) { + //String wxid = entry.getKey(); + WXUtil.SuperAdmin admin = entry.getValue(); + String appKey = admin.getAppKey(); + String secretKey = admin.getSecretKey(); + if (Util.isAnyEmpty(appKey,secretKey)){ + continue; + } + UnionOpenOrderRowQueryResponse response = fetchOrdersForDateTime(lastMinute, true, 1, true,appKey,secretKey); // 真实代表实时订单 if (response != null) { int code = response.getQueryResult().getCode(); @@ -202,6 +210,7 @@ public class JDUtils { } } } + } } @@ -232,11 +241,19 @@ public class JDUtils { */ @Scheduled(cron = "0 0 */4 * * ?") public void fetchHistoricalOrders3090() { - - fetchHistoricalOrders3090Do(); + for (Map.Entry entry : super_admins.entrySet()) { + //String wxid = entry.getKey(); + WXUtil.SuperAdmin admin = entry.getValue(); + String appKey = admin.getAppKey(); + String secretKey = admin.getSecretKey(); + if (Util.isAnyEmpty(appKey,secretKey)){ + continue; + } + fetchHistoricalOrders3090Do(appKey, secretKey); + } } - private int fetchHistoricalOrders3090Do() { + private int fetchHistoricalOrders3090Do(String appKey,String secretKey) { int count = 0; LocalDateTime now = LocalDateTime.now(); @@ -252,7 +269,7 @@ public class JDUtils { while (hasMore) { try { // 30-60 天 ,非实时,非分钟 - UnionOpenOrderRowQueryResponse response = fetchOrdersForDateTime(startDate, false, pageIndex, false); + UnionOpenOrderRowQueryResponse response = fetchOrdersForDateTime(startDate, false, pageIndex, false,appKey,secretKey); if (response != null && response.getQueryResult() != null) { if (response.getQueryResult().getCode() == 200) { OrderRowResp[] orderRowResps = response.getQueryResult().getData(); @@ -289,10 +306,19 @@ public class JDUtils { */ @Scheduled(cron = "0 0 * * * ?") public void fetchHistoricalOrders1430() { - fetchHistoricalOrders1430Do(); + for (Map.Entry entry : super_admins.entrySet()) { + //String wxid = entry.getKey(); + WXUtil.SuperAdmin admin = entry.getValue(); + String appKey = admin.getAppKey(); + String secretKey = admin.getSecretKey(); + if (Util.isAnyEmpty(appKey,secretKey)){ + continue; + } + fetchHistoricalOrders1430Do(appKey, secretKey); + } } - private int fetchHistoricalOrders1430Do() { + private int fetchHistoricalOrders1430Do(String appKey,String secretKey) { int count = 0; LocalDateTime now = LocalDateTime.now(); //logger.info("拉取历史订单---> , {} 点,{} 分", now.getHour(), now.getMinute()); @@ -307,7 +333,7 @@ public class JDUtils { while (hasMore) { try { // 14 - 30 天 ,非实时,非分钟 - UnionOpenOrderRowQueryResponse response = fetchOrdersForDateTime(startDate, false, pageIndex, false); + UnionOpenOrderRowQueryResponse response = fetchOrdersForDateTime(startDate, false, pageIndex, false,appKey,secretKey); if (response != null && response.getQueryResult() != null) { if (response.getQueryResult().getCode() == 200) { OrderRowResp[] orderRowResps = response.getQueryResult().getData(); @@ -344,11 +370,19 @@ public class JDUtils { */ @Scheduled(cron = "0 0 * * * ?") public void fetchHistoricalOrders0714() { - - fetchHistoricalOrders0714Do(); + for (Map.Entry entry : super_admins.entrySet()) { + //String wxid = entry.getKey(); + WXUtil.SuperAdmin admin = entry.getValue(); + String appKey = admin.getAppKey(); + String secretKey = admin.getSecretKey(); + if (Util.isAnyEmpty(appKey,secretKey)){ + continue; + } + fetchHistoricalOrders0714Do(appKey, secretKey); + } } - private int fetchHistoricalOrders0714Do() { + private int fetchHistoricalOrders0714Do(String appKey,String secretKey) { int count = 0; LocalDateTime now = LocalDateTime.now(); //logger.info("拉取历史订单---> , {} 点,{} 分", now.getHour(), now.getMinute()); @@ -362,7 +396,7 @@ public class JDUtils { while (hasMore) { try { // 7 - 14 天 ,非实时,非分钟 - UnionOpenOrderRowQueryResponse response = fetchOrdersForDateTime(startDate, false, pageIndex, false); + UnionOpenOrderRowQueryResponse response = fetchOrdersForDateTime(startDate, false, pageIndex, false,appKey,secretKey); if (response != null && response.getQueryResult() != null) { if (response.getQueryResult().getCode() == 200) { OrderRowResp[] orderRowResps = response.getQueryResult().getData(); @@ -396,10 +430,19 @@ public class JDUtils { @Scheduled(cron = "0 * * * * ?") public void fetchHistoricalOrders0007() { - fetchHistoricalOrders0007Do(); + for (Map.Entry entry : super_admins.entrySet()) { + //String wxid = entry.getKey(); + WXUtil.SuperAdmin admin = entry.getValue(); + String appKey = admin.getAppKey(); + String secretKey = admin.getSecretKey(); + if (Util.isAnyEmpty(appKey,secretKey)){ + continue; + } + fetchHistoricalOrders0007Do(appKey, secretKey); + } } - private int fetchHistoricalOrders0007Do() { + private int fetchHistoricalOrders0007Do(String appKey,String secretKey) { int count = 0; LocalDateTime now = LocalDateTime.now(); @@ -414,7 +457,7 @@ public class JDUtils { while (hasMore) { try { // 0 - 7 天 ,非实时,非分钟 - UnionOpenOrderRowQueryResponse response = fetchOrdersForDateTime(startDate, false, pageIndex, false); + UnionOpenOrderRowQueryResponse response = fetchOrdersForDateTime(startDate, false, pageIndex, false,appKey,secretKey); if (response != null && response.getQueryResult() != null) { if (response.getQueryResult().getCode() == 200) { OrderRowResp[] orderRowResps = response.getQueryResult().getData(); @@ -454,7 +497,7 @@ public class JDUtils { * page 分页页码 * isMinutes 是否是分钟级订单 分钟的每次加10分钟,小时每小时加1小时 */ - public synchronized UnionOpenOrderRowQueryResponse fetchOrdersForDateTime(LocalDateTime startTime, boolean isRealTime, Integer page, boolean isMinutes) { + public synchronized UnionOpenOrderRowQueryResponse fetchOrdersForDateTime(LocalDateTime startTime, boolean isRealTime, Integer page, boolean isMinutes,String appKey,String secretKey) { LocalDateTime endTime = isMinutes ? startTime.plusMinutes(30) : startTime.plusHours(1); String hourMinuteTag = isRealTime ? "minute" : "hour"; @@ -471,7 +514,7 @@ public class JDUtils { // 调用 API 以拉取订单 try { - UnionOpenOrderRowQueryResponse unionOpenOrderRowQueryResponse = getUnionOpenOrderRowQueryResponse(startTime, endTime, page); + UnionOpenOrderRowQueryResponse unionOpenOrderRowQueryResponse = getUnionOpenOrderRowQueryResponse(startTime, endTime, page,appKey,secretKey); // 历史的订单才进行标记为已拉取,小时分钟的都进行拉取并且标记 if (!isRealTime) { // 只有没有订单的才进行标记为已拉取 @@ -733,9 +776,14 @@ public class JDUtils { int count = 0; LocalDateTime startDate = LocalDateTime.now().minusDays(7).withMinute(0).withSecond(0).withNano(0); LocalDateTime lastHour = LocalDateTime.now().minusHours(1).withMinute(0).withSecond(0).withNano(0); + String appKey = superAdmin.getAppKey(); + String secretKey = superAdmin.getSecretKey(); + if (Util.isAnyEmpty(appKey,secretKey)){ + return; + } while (!startDate.isEqual(lastHour)) { startDate = startDate.plusHours(1); - UnionOpenOrderRowQueryResponse response = fetchOrdersForDateTime(startDate, false, 1, false); + UnionOpenOrderRowQueryResponse response = fetchOrdersForDateTime(startDate, false, 1, false,appKey,secretKey); if (response != null) { int code = response.getQueryResult().getCode(); @@ -918,14 +966,14 @@ public class JDUtils { * @return * @throws Exception */ - public UnionOpenOrderRowQueryResponse getUnionOpenOrderRowQueryResponse(LocalDateTime start, LocalDateTime end, Integer pageIndex) throws Exception { + public UnionOpenOrderRowQueryResponse getUnionOpenOrderRowQueryResponse(LocalDateTime start, LocalDateTime end, Integer pageIndex,String appKey,String secretKey) throws Exception { String startTime = start.format(DATE_TIME_FORMATTER); String endTime = end.format(DATE_TIME_FORMATTER); // 模拟 API 调用 //System.out.println("调用API - 从 " + startTime // + " 到 " + endTime); // 实际的 API 调用逻辑应在这里进行 - JdClient client = new DefaultJdClient(SERVER_URL, ACCESS_TOKEN, LPF_APP_KEY_WZ, LPF_SECRET_KEY_WZ); + JdClient client = new DefaultJdClient(SERVER_URL, ACCESS_TOKEN, appKey, secretKey); UnionOpenOrderRowQueryRequest request = new UnionOpenOrderRowQueryRequest(); OrderRowReq orderReq = new OrderRowReq(); orderReq.setPageIndex(pageIndex);