From e2c9fab4823b9a9a8a186951faa5a54d1f57fb1f Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 17 十月 2019 14:58:29 +0800 Subject: [PATCH] 订单爬取优化 增加日志类型 --- fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateOrderJob.java | 215 ++++++++++++++++++++++++----------------------------- 1 files changed, 98 insertions(+), 117 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateOrderJob.java b/fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateOrderJob.java index 7e0e6d5..a269c36 100644 --- a/fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateOrderJob.java +++ b/fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateOrderJob.java @@ -121,37 +121,8 @@ } public void updateOrder(long startTime, long endTime) { - // 鑰佺増鏈鐞嗘柟寮� - // List<TaoBaoUnionConfig> configList = - // taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_ANDROID); - // List<TaoBaoOrder> orderList = new ArrayList<>(); - // try { - // orderList = TaoBaoOrderUtil.getOrderList(startTime, endTime, - // configList.get(0)); - // } catch (TaoBaoOrderException e2) { - // try { - // LogHelper.errorDetailInfo(e2); - // } catch (Exception e) { - // e.printStackTrace(); - // } - // } - // List<TaoBaoOrder> thirdOrderList = new ArrayList<>(); - // try { - // thirdOrderList = TaoBaoOrderUtil.getThirdServiceOrderList(startTime, - // endTime, configList.get(0)); - // } catch (TaoBaoOrderException e2) { - // try { - // LogHelper.errorDetailInfo(e2); - // } catch (Exception e) { - // e.printStackTrace(); - // } - // } - // if (thirdOrderList != null && thirdOrderList.size() > 0) - // orderList.addAll(thirdOrderList); - // 鏂扮増鏈鐞嗘柟寮� List<TaoBaoOrder> orderList = getCommonOrder(startTime, endTime); - - LogHelper.orderInfo("姝e湪鎵ц璁㈠崟鐖彇缁撴潫锛屽叡鏈夎鍗�:" + orderList.size()); + LogHelper.orderInfo("甯歌璁㈠崟鍏辨湁璁㈠崟:" + orderList.size()); addOrder(orderList); try { Thread.sleep(10000); @@ -200,6 +171,7 @@ if (orderList != null) for (int i = 0; i < orderList.size(); i++) { + LogHelper.orderInfo("甯歌璁㈠崟鐖彇:" + orderList.get(i).getOrderId()); // 绉婚櫎浼氬憳杩愯惀ID涓庢笭閬撲笓灞炶鍗� if (orderList.get(i).getAdPositionName().contains("浼氬憳杩愯惀") || orderList.get(i).getAdPositionName().contains("娓犻亾涓撳睘")) { @@ -256,59 +228,6 @@ } catch (Exception e) { LogHelper.errorDetailInfo(e); } - } - - // 姣�15鍒嗛挓鐖彇涓�娆� - @Scheduled(cron = "0 0/15 * * * ? ") - public void doJob1() { - if (!Constant.IS_TASK) - return; - long currentTime = System.currentTimeMillis() - 1000 * 60; - String h = TimeUtil.getGernalTime(currentTime, "HH"); - String m = TimeUtil.getGernalTime(currentTime, "mm"); - int mm = Integer.parseInt(h) * 60 + Integer.parseInt(m); - int pos = mm / 15; - if (pos >= 90) - pos = 89; - long startTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(currentTime, "yyyy-MM-dd"), "yyyy-MM-dd") - - (1000 * 60 * 60 * 24L * (90 - pos)); - long endTime = startTime + 1000 * 60 * 60 * 24L; - LogHelper.orderInfo("姝e湪鎵ц璁㈠崟鐖彇..."); - updateOrder(startTime, endTime); - } - - // 娣樺疂鎺ㄥ箍璁㈠崟 姣忛殧3鍒�13绉掓墽琛屼竴娆� - @Scheduled(cron = "13 0/3 * * * ? ") - public void doJob6() { - if (!Constant.IS_TASK) - return; - Date systemDate = TaoKeApiUtil.getTaoBaoSystemTime(); - long endTime = systemDate != null ? systemDate.getTime() : System.currentTimeMillis(); - updateOrder(endTime - 1000 * 60 * 20L, endTime); - } - - // 杩斿埄 - @Scheduled(cron = "0 0/5 * * * ? ") - public void doJob2() { - if (!Constant.IS_TASK) - return; - LogHelper.error("澶勭悊杩斿埄鍒拌处鍓嶇疆"); - try { - - doTaoBaoWeiQuanOrder(2); - } catch (Exception e) { - LogHelper.errorDetailInfo(e); - } - LogHelper.error("寮�濮嬪鐞嗚繑鍒�"); - orderProcessService.fanli(); - } - - // 姣忔湀25鍙�9鐐规墽琛岃繑鍒� - @Scheduled(cron = "0 0 9 25 * ? ") - public void doJob3() { - if (!Constant.IS_TASK) - return; - orderProcessService.fanliInvaiteAndShare(); } private void doTaoBaoWeiQuanOrder(int day) { @@ -372,20 +291,106 @@ } + 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); + } + } + } + + // 姣�15鍒嗛挓鐖彇涓�娆� + @Scheduled(cron = "0 0/15 * * * ? ") + public void pullCommonOrder() { + LogHelper.job("姝e湪鎵ц15min璁㈠崟鐖彇"); + if (!Constant.IS_TASK) + return; + long currentTime = System.currentTimeMillis() - 1000 * 60; + String h = TimeUtil.getGernalTime(currentTime, "HH"); + String m = TimeUtil.getGernalTime(currentTime, "mm"); + int mm = Integer.parseInt(h) * 60 + Integer.parseInt(m); + int pos = mm / 15; + if (pos >= 90) + pos = 89; + long startTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(currentTime, "yyyy-MM-dd"), "yyyy-MM-dd") + - (1000 * 60 * 60 * 24L * (90 - pos)); + long endTime = startTime + 1000 * 60 * 60 * 24L; + + updateOrder(startTime, endTime); + } + + // 娣樺疂鎺ㄥ箍璁㈠崟 姣忛殧1鍒嗘墽琛屼竴娆� + @Scheduled(cron = "0 0/1 * * * ? ") + public void pullLatestCommonOrder() { + if (!Constant.IS_TASK) + return; + LogHelper.job("pullLatestCommonOrder"); + Date systemDate = TaoKeApiUtil.getTaoBaoSystemTime(); + long endTime = systemDate != null ? systemDate.getTime() : System.currentTimeMillis(); + // + updateOrder(endTime - 1000 * 60 * 20L, endTime); + } + + // 杩斿埄 + @Scheduled(cron = "0 0/5 * * * ? ") + public void fanli() { + if (!Constant.IS_TASK) + return; + LogHelper.job("澶勭悊杩斿埄鍒拌处鍓嶇疆"); + try { + + doTaoBaoWeiQuanOrder(2); + } catch (Exception e) { + LogHelper.errorDetailInfo(e); + } + LogHelper.job("寮�濮嬪鐞嗚繑鍒�"); + orderProcessService.fanli(); + } + + // 姣忔湀25鍙�9鐐规墽琛岃繑鍒� + @Scheduled(cron = "0 0 9 25 * ? ") + public void fanliInvaiteAndShare() { + if (!Constant.IS_TASK) + return; + orderProcessService.fanliInvaiteAndShare(); + } + // 缁存潈璁㈠崟澶勭悊-澶勭悊鏈�杩�60澶╃殑 // 30鍒嗛挓涓�娆� @Scheduled(cron = "0 0/30 * * * ? ") public void doTaoBaoWeiQuan() { if (!Constant.IS_TASK) return; + LogHelper.job("缁存潈璁㈠崟鐖彇"); doTaoBaoWeiQuanOrder(5); } - // 姣�6涓皬鏃舵墽琛屼竴娆� + // 澶勭悊璁㈠崟鎵惧洖澶辫触鐨勬儏鍐� 姣�6涓皬鏃舵墽琛屼竴娆� @Scheduled(cron = "0 0 0/6 * * ? ") - public void doLostOrder() { + public void doFailLostOrder() { if (!Constant.IS_TASK) return; + LogHelper.job("澶勭悊涓㈠け璁㈠崟鑷姩鎵惧洖澶辫触鐨勬儏鍐�"); lostOrderService.processFail(); } @@ -394,7 +399,7 @@ public void addLostOrder() { if (!Constant.IS_TASK) return; - LogHelper.test("澶勭悊涓㈠け璁㈠崟"); + LogHelper.job("澶勭悊涓㈠け璁㈠崟"); List<LostOrder> list = lostOrderService.listByStateAndResultCode(LostOrder.STATE_PASS, LostOrder.RESULT_CODE_VERFING, 1, 50); if (list != null) @@ -411,12 +416,13 @@ } /** - * 澶勭悊娣樺疂缁撶畻璁㈠崟,30fen鎵ц涓�娆� + * 澶勭悊娣樺疂缁撶畻璁㈠崟,30鍒嗘墽琛屼竴娆� */ @Scheduled(cron = "30 0 0/1 * * ? ") public void doSettleOrders() { if (!Constant.IS_TASK) return; + LogHelper.job("doSettleOrders"); // 澶勭悊3-15澶╁墠鐨勮鍗曪紝姣忓ぉ璺戜竴娆� Calendar ca = Calendar.getInstance(); int hour = ca.get(Calendar.HOUR_OF_DAY); @@ -435,6 +441,7 @@ public void doSettleOrdersToday() { if (!Constant.IS_TASK) return; + LogHelper.job("doSettleOrdersToday"); // 澶勭悊3-15澶╁墠鐨勮鍗曪紝姣忓ぉ璺戜竴娆� Calendar ca = Calendar.getInstance(); long startTime = ca.getTimeInMillis() - 1000 * 60 * 5L - 1000 * 60 * 60 * 2L; @@ -450,6 +457,7 @@ public void doLocalTaoBaoOrder() { if (!Constant.IS_TASK) return; + LogHelper.job("doLocalTaoBaoOrder"); // 澶勭悊3-15澶╁墠鐨勮鍗曪紝姣忓ぉ璺戜竴娆� Long startTime = System.currentTimeMillis() - 1000 * 60 * 60 * 24 * 60L; Long endTime = startTime + 1000 * 60 * 60 * 24 * 48L; @@ -477,39 +485,10 @@ 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); - } - } } /** @@ -519,6 +498,7 @@ public void doLatest5DayLocalTaoBaoOrder() { if (!Constant.IS_TASK) return; + LogHelper.job("doLatest5DayLocalTaoBaoOrder"); Long endTime = System.currentTimeMillis() - 1000 * 60 * 60 * 12L; Long startTime = endTime - 1000 * 60 * 60 * 24 * 5L; long count = taoBaoOrderService.countBySettlementTime(startTime, endTime); @@ -536,6 +516,7 @@ public void doSellerNotPayOrder() { if (!Constant.IS_TASK) return; + LogHelper.job("doSellerNotPayOrder"); Calendar calender = Calendar.getInstance(); long endTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(calender.getTimeInMillis(), "yyyy-MM"), "yyyy-MM"); -- Gitblit v1.8.0