From 0a3e5a876724ac247b33632300701077098111eb Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期四, 18 七月 2019 17:11:45 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- fanli/src/main/java/com/yeshi/fanli/job/UpdateOrderJob.java | 61 ++++++++++++++++++++++++++++++ 1 files changed, 60 insertions(+), 1 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/job/UpdateOrderJob.java b/fanli/src/main/java/com/yeshi/fanli/job/UpdateOrderJob.java index 7912274..b812141 100644 --- a/fanli/src/main/java/com/yeshi/fanli/job/UpdateOrderJob.java +++ b/fanli/src/main/java/com/yeshi/fanli/job/UpdateOrderJob.java @@ -1,5 +1,6 @@ package com.yeshi.fanli.job; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; @@ -471,7 +472,7 @@ } /** - * 璺熸柊鏈湴璁㈠崟锛堝噷鏅�25鍒嗘洿鏂帮級 + * 鏇存柊鏈湴璁㈠崟锛堝噷鏅�25鍒嗘洿鏂帮級 */ @Scheduled(cron = "25 0 0 * * ? ") public void doLocalTaoBaoOrder() { @@ -496,4 +497,62 @@ } } + /** + * 鏇存柊鏈�杩戠殑鏈湴鍗�(30鍒嗛挓鏇存柊涓�娆�) + */ + + @Scheduled(cron = "0 0/30 * * * ? ") + public void doLatestLocalTaoBaoOrder() { + if (!Constant.IS_TASK) + return; + Long endTime = System.currentTimeMillis() - 1000 * 60 * 10L; + Long startTime = endTime - 1000 * 60 * 60 * 12L; + updateLocalTaoBaoOrder(startTime, endTime, 1, 2000); + + } + + public void updateLocalTaoBaoOrder(Long startTime, Long endTime, int page, int count) { + List<TaoBaoOrder> list = taoBaoOrderService.listBySettlementTime(startTime, endTime, page, count); + Set<String> orderIds = new HashSet<>(); + for (TaoBaoOrder co : list) { + orderIds.add(co.getOrderId()); + } + + for (Iterator<String> its = orderIds.iterator(); its.hasNext();) { + String orderId = its.next(); + // 鏌ヨ鏄惁鏈夊浜庤鍗曚粯娆剧姸鎬佺殑鍗� + List<CommonOrder> commonOrderList = commonOrderService + .listBySourceTypeAndOrderId(Constant.SOURCE_TYPE_TAOBAO, orderId); + boolean update = false; + if (commonOrderList != null) + for (CommonOrder co : commonOrderList) { + if (co.getState() == CommonOrder.STATE_FK && co.getPayment().compareTo(new BigDecimal(0)) > 0) { + update = true; + break; + } + } + + if (update) { + List<TaoBaoOrder> orderList = taoBaoOrderService.getTaoBaoOrderByOrderId(orderId); + Map<String, List<TaoBaoOrder>> orders = new HashMap<>(); + orders.put(orderId, orderList); + orderProcessService.processOrder(orders); + } + } + } + + @Scheduled(cron = "30 13 3 * * ? ") + public void doLatest5DayLocalTaoBaoOrder() { + if (!Constant.IS_TASK) + return; + Long endTime = System.currentTimeMillis() - 1000 * 60 * 60 * 12L; + Long startTime = endTime - 1000 * 60 * 60 * 24 * 5L; + long count = taoBaoOrderService.countBySettlementTime(startTime, endTime); + int pageSize = 100; + long page = count % pageSize == 0 ? count / pageSize : count / pageSize + 1; + for (int i = 0; i < page; i++) { + updateLocalTaoBaoOrder(startTime, endTime, i + 1, pageSize); + } + } + } -- Gitblit v1.8.0