From 70cf74ae648db9ec89a9d1243729c0c7b0dce81b Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 14 二月 2019 14:50:53 +0800 Subject: [PATCH] 订单更新策略改变 --- fanli/src/main/java/com/yeshi/fanli/job/UpdateRelationAndSpecialOrderJob.java | 80 +++++++++++++++++++++++++++------------ 1 files changed, 55 insertions(+), 25 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/job/UpdateRelationAndSpecialOrderJob.java b/fanli/src/main/java/com/yeshi/fanli/job/UpdateRelationAndSpecialOrderJob.java index 55c8e93..f7c1027 100644 --- a/fanli/src/main/java/com/yeshi/fanli/job/UpdateRelationAndSpecialOrderJob.java +++ b/fanli/src/main/java/com/yeshi/fanli/job/UpdateRelationAndSpecialOrderJob.java @@ -1,5 +1,6 @@ package com.yeshi.fanli.job; +import java.util.Calendar; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -42,9 +43,28 @@ */ private void updateRelationOrder(long startTime) { String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss"); - List<TaoBaoOrder> orderList = TaoKeApiUtil.getTaoBaoRelationOrder(startTimeStr, Constant.TAOBAO_AUTH_APPKEY, + List<TaoBaoOrder> orderList = TaoKeApiUtil.getTaoBaoRelationOrder(startTimeStr, 1, Constant.TAOBAO_AUTH_APPKEY, Constant.TAOBAO_AUTH_APPSECRET); addRelationAndSpecialOrder(orderList); + } + + /** + * 鏇存柊娓犻亾璁㈠崟 + * + * @param fromPage + * 寮�濮嬮〉鐮� + * @param toPage + * 缁撴潫椤电爜锛堟瘡椤�100鏉℃暟鎹級 + */ + private void updateRelationOrder(int fromPage, int toPage) { + // 鏈�杩�90澶╃殑璁㈠崟 + String startTimeStr = TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24 * 90L, + "yyyy-MM-dd HH:mm:ss"); + for (int p = fromPage; p < toPage; p++) { + List<TaoBaoOrder> orderList = TaoKeApiUtil.getTaoBaoRelationOrder(startTimeStr, p, + Constant.TAOBAO_AUTH_APPKEY, Constant.TAOBAO_AUTH_APPSECRET); + addRelationAndSpecialOrder(orderList); + } } /** @@ -66,9 +86,25 @@ */ private void updateSpecialOrder(long startTime) { String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss"); - List<TaoBaoOrder> orderList = TaoKeApiUtil.getTaoBaoSpecialOrder(startTimeStr, Constant.TAOBAO_AUTH_APPKEY, + List<TaoBaoOrder> orderList = TaoKeApiUtil.getTaoBaoSpecialOrder(startTimeStr, 1, Constant.TAOBAO_AUTH_APPKEY, Constant.TAOBAO_AUTH_APPSECRET); addRelationAndSpecialOrder(orderList); + } + + /** + * 鏇存柊浼氬憳璁㈠崟锛堬級 + * + * @param fromPage-寮�濮嬮〉鐮� + * @param toPage-缁撴潫椤电爜锛堟瘡椤�20鏉℃暟鎹級 + */ + private void updateSpecialOrder(int fromPage, int toPage) { + String startTimeStr = TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24 * 90L, + "yyyy-MM-dd HH:mm:ss"); + for (int p = fromPage; p < toPage; p++) { + List<TaoBaoOrder> orderList = TaoKeApiUtil.getTaoBaoSpecialOrder(startTimeStr, p, + Constant.TAOBAO_AUTH_APPKEY, Constant.TAOBAO_AUTH_APPSECRET); + addRelationAndSpecialOrder(orderList); + } } /** @@ -136,40 +172,34 @@ public void doJob1() { if (!Constant.IS_TASK) return; - long currentTime = System.currentTimeMillis(); - // 鐖彇21鍒嗛挓涔嬪墠鍒扮幇鍦ㄧ殑 - updateRelationOrder(currentTime - 1000 * 60 * 20L); - updateSpecialOrder(currentTime - 1000 * 60 * 20L); + // 鐖彇鏈�杩�3椤垫暟鎹� + updateRelationOrder(1, 3); + updateSpecialOrder(1, 3); } - // 姣�16鍒嗛挓鏇存柊涓�娆′竴澶╃殑锛堟瘡澶╁彲鏇存柊杩�90澶╃殑鏁版嵁锛� - @Scheduled(cron = "0 0/16 * * * ? ") + // 姣�5鍒嗛挓鏇存柊锛�3-10椤垫暟鎹級 + @Scheduled(cron = "0 0/5 * * * ? ") public void doJob2() { if (!Constant.IS_TASK) return; - long currentTime = System.currentTimeMillis(); - long dayStartTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(currentTime, "yyyy-MM-dd"), "yyyy-MM-dd"); - int pos = (int) ((currentTime - dayStartTime) / 1000 * 60 * 16L); - - long time = dayStartTime - (pos + 1) * 1000 * 60 * 60 * 24L; - - // 鍙兘鏇存柊鏈�杩�90澶╃殑 - if (currentTime - time > 1000 * 60 * 60 * 24L * 90) - return; - updateRelationOrderByDay(TimeUtil.getGernalTime(time, "yyyy-MM-dd")); - updateSpecialOrderByDay(TimeUtil.getGernalTime(time, "yyyy-MM-dd")); + updateRelationOrder(3, 11); + updateSpecialOrder(3, 11); } - // 姣忎釜灏忔椂鏇存柊鏈�杩�1澶╃殑鏁版嵁 + // 姣忎釜灏忔椂鏇存柊10-1000椤垫暟鎹� @Scheduled(cron = "0 0 0/1 * * ? ") public void doJob3() { if (!Constant.IS_TASK) return; - long startTime = System.currentTimeMillis() - 1000 * 60 * 60 * 24L; - for (int i = 0; i < 71; i++) { - updateRelationOrder(startTime + 1000 * 60 * 20L * i); - updateSpecialOrder(startTime + 1000 * 60 * 20L * i); - } + Calendar calendar = Calendar.getInstance(); + int h = calendar.get(Calendar.HOUR_OF_DAY); + // 姣忎釜灏忔椂鏇存柊100椤垫暟鎹� + int fromPage = h * 100; + if (fromPage <= 0) + fromPage = 11; + int toPage = h * 100 + 100; + updateRelationOrder(fromPage, toPage); + updateSpecialOrder(fromPage, toPage); } } -- Gitblit v1.8.0