From b2699e4e0c66125254156fb54705e569094db499 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 09 三月 2019 16:15:22 +0800 Subject: [PATCH] 订单爬取规则修改 --- fanli/src/main/java/com/yeshi/fanli/job/UpdateRelationAndSpecialOrderJob.java | 194 ++++++------------------------------------------ 1 files changed, 26 insertions(+), 168 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 f77fe88..f676450 100644 --- a/fanli/src/main/java/com/yeshi/fanli/job/UpdateRelationAndSpecialOrderJob.java +++ b/fanli/src/main/java/com/yeshi/fanli/job/UpdateRelationAndSpecialOrderJob.java @@ -39,18 +39,6 @@ private RedisManager redisManager; /** - * 鏇存柊娓犻亾璁㈠崟(鏈�澶�20鍒嗛挓) - * - * @param startTime - */ - private void updateRelationOrder(long startTime) { - String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss"); - List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoRelationOrder(startTimeStr, 1, Constant.TAOBAO_AUTH_APPKEY, - Constant.TAOBAO_AUTH_APPSECRET); - addRelationAndSpecialOrder(orderList); - } - - /** * 鏇存柊娓犻亾璁㈠崟 * * @param fromPage @@ -58,146 +46,18 @@ * @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"); - - Comparator<TaoBaoOrder> cm = new Comparator<TaoBaoOrder>() { - @Override - public int compare(TaoBaoOrder o1, TaoBaoOrder o2) { - long span = TimeUtil.convertToTimeTemp(o2.getCreateTime(), "yyyy-MM-dd HH:mm:ss") - - TimeUtil.convertToTimeTemp(o1.getCreateTime(), "yyyy-MM-dd HH:mm:ss"); - if (span > 0) - return 1; - else if (span == 0) - return 0; - else - return -1; - } - }; - - for (int p = fromPage; p < toPage; p++) { - // 鐖彇2鏂硅鍗� - List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoRelationOrder(startTimeStr, p, - Constant.TAOBAO_AUTH_APPKEY, Constant.TAOBAO_AUTH_APPSECRET); - Collections.sort(orderList, cm); - List<TaoBaoOrder> commonOrderList = UpdateOrderJob.getCommonOrder( - TimeUtil.convertToTimeTemp(orderList.get(orderList.size() - 1).getCreateTime(), - "yyyy-MM-dd HH:mm:ss"), - TimeUtil.convertToTimeTemp(orderList.get(0).getCreateTime(), "yyyy-MM-dd HH:mm:ss")); - - List<TaoBaoOrder> list = UpdateOrderJob.mixTaoBaoOrder(commonOrderList, orderList); - Collections.sort(list, cm); - addRelationAndSpecialOrder(list); - - orderList = TaoKeOrderApiUtil.getTaoBaoRelationThirdOrder(startTimeStr, p, Constant.TAOBAO_AUTH_APPKEY, - Constant.TAOBAO_AUTH_APPSECRET); - Collections.sort(orderList, cm); - // 鐖彇涓夋柟璁㈠崟 - commonOrderList = UpdateOrderJob.getThirdCommonOrder( - TimeUtil.convertToTimeTemp(orderList.get(orderList.size() - 1).getCreateTime(), - "yyyy-MM-dd HH:mm:ss"), - TimeUtil.convertToTimeTemp(orderList.get(0).getCreateTime(), "yyyy-MM-dd HH:mm:ss")); - list = UpdateOrderJob.mixTaoBaoOrder(commonOrderList, orderList); - Collections.sort(list, cm); - addRelationAndSpecialOrder(list); - } - } - - /** - * 鎸夊ぉ鏇存柊 - * - * @param day - */ - private void updateRelationOrderByDay(String day) { - long timestamp = TimeUtil.convertToTimeTemp(day, "yyyy-MM-dd"); - for (int i = 0; i < 72; i++) { - updateRelationOrder(timestamp + 1000 * 60 * 20L * i); - } - } - - /** - * 鏇存柊浼氬憳璁㈠崟(鏈�澶�20鍒嗛挓) - * - * @param startTime - */ - private void updateSpecialOrder(long startTime) { - String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss"); - List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoSpecialOrder(startTimeStr, 1, Constant.TAOBAO_AUTH_APPKEY, - Constant.TAOBAO_AUTH_APPSECRET); - addRelationAndSpecialOrder(orderList); - - orderList = TaoKeOrderApiUtil.getTaoBaoSpecialThirdOrder(startTimeStr, 1, Constant.TAOBAO_AUTH_APPKEY, - Constant.TAOBAO_AUTH_APPSECRET); - addRelationAndSpecialOrder(orderList); - } - - /** - * 鏇存柊浼氬憳璁㈠崟锛堬級 - * - * @param fromPage-寮�濮嬮〉鐮� - * @param toPage-缁撴潫椤电爜锛堟瘡椤�20鏉℃暟鎹級 - */ - private void updateSpecialOrder(int fromPage, int toPage) { - // 鏈�杩�90澶╃殑璁㈠崟 - String startTimeStr = TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24 * 90L, - "yyyy-MM-dd HH:mm:ss"); - - Comparator<TaoBaoOrder> cm = new Comparator<TaoBaoOrder>() { - @Override - public int compare(TaoBaoOrder o1, TaoBaoOrder o2) { - long span = TimeUtil.convertToTimeTemp(o2.getCreateTime(), "yyyy-MM-dd HH:mm:ss") - - TimeUtil.convertToTimeTemp(o1.getCreateTime(), "yyyy-MM-dd HH:mm:ss"); - if (span > 0) - return 1; - else if (span == 0) - return 0; - else - return -1; - } - }; - - for (int p = fromPage; p < toPage; p++) { - // 鐖彇2鏂硅鍗� - List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoSpecialOrder(startTimeStr, p, - Constant.TAOBAO_AUTH_APPKEY, Constant.TAOBAO_AUTH_APPSECRET); - Collections.sort(orderList, cm); - List<TaoBaoOrder> commonOrderList = UpdateOrderJob.getCommonOrder( - TimeUtil.convertToTimeTemp(orderList.get(orderList.size() - 1).getCreateTime(), - "yyyy-MM-dd HH:mm:ss"), - TimeUtil.convertToTimeTemp(orderList.get(0).getCreateTime(), "yyyy-MM-dd HH:mm:ss")); - - List<TaoBaoOrder> list = UpdateOrderJob.mixTaoBaoOrder(commonOrderList, orderList); - Collections.sort(list, cm); - addRelationAndSpecialOrder(list); - - - // 鐖彇涓夋柟璁㈠崟 - orderList = TaoKeOrderApiUtil.getTaoBaoSpecialThirdOrder(startTimeStr, p, Constant.TAOBAO_AUTH_APPKEY, - Constant.TAOBAO_AUTH_APPSECRET); - Collections.sort(orderList, cm); - - commonOrderList = UpdateOrderJob.getThirdCommonOrder( - TimeUtil.convertToTimeTemp(orderList.get(orderList.size() - 1).getCreateTime(), - "yyyy-MM-dd HH:mm:ss"), - TimeUtil.convertToTimeTemp(orderList.get(0).getCreateTime(), "yyyy-MM-dd HH:mm:ss")); - list = UpdateOrderJob.mixTaoBaoOrder(commonOrderList, orderList); - Collections.sort(list, cm); - addRelationAndSpecialOrder(list); - } - } - - /** - * 鎸夊ぉ鏇存柊 - * - * @param day - */ - private void updateSpecialOrderByDay(String day) { - long timestamp = TimeUtil.convertToTimeTemp(day, "yyyy-MM-dd"); - for (int i = 0; i < 72; i++) { - updateSpecialOrder(timestamp + 1000 * 60 * 20L * i); - } + private void updateRelationAndSpecialOrder(long startTime, long endTime) { + List<TaoBaoOrder> list = TaoKeOrderApiUtil.getSpecialOrder(startTime, endTime); + List<TaoBaoOrder> list1 = TaoKeOrderApiUtil.getThirdSpecialOrder(startTime, endTime); + List<TaoBaoOrder> list2 = TaoKeOrderApiUtil.getRelationOrder(startTime, endTime); + List<TaoBaoOrder> list3 = TaoKeOrderApiUtil.getThirdRelationOrder(startTime, endTime); + if (list1 != null && list1.size() > 0) + list.addAll(list1); + if (list2 != null && list2.size() > 0) + list.addAll(list2); + if (list3 != null && list3.size() > 0) + list.addAll(list3); + addRelationAndSpecialOrder(list); } private void addRelationAndSpecialOrder(List<TaoBaoOrder> orderList) { @@ -253,34 +113,32 @@ public void doJob1() { if (!Constant.IS_TASK) return; - // 鐖彇鏈�杩�3椤垫暟鎹� - updateRelationOrder(1, 3); - updateSpecialOrder(1, 3); + // 鐖彇杩�20鍒嗛挓鐨勬暟鎹� + long endTime = System.currentTimeMillis(); + updateRelationAndSpecialOrder(endTime - 1000 * 60 * 20L, endTime); } - // 姣�5鍒嗛挓鏇存柊锛�3-10椤垫暟鎹級 + // 姣�5鍒嗛挓鏇存柊锛堣繎1澶╂暟鎹級 @Scheduled(cron = "0 0/5 * * * ? ") public void doJob2() { if (!Constant.IS_TASK) return; - updateRelationOrder(3, 11); - updateSpecialOrder(3, 11); + long endTime = System.currentTimeMillis(); + updateRelationAndSpecialOrder(endTime - 1000 * 60 * 60 * 24L, endTime); } - // 姣忎釜灏忔椂鏇存柊10-1000椤垫暟鎹� + // 姣忎釜灏忔椂鏇存柊 @Scheduled(cron = "0 0 0/1 * * ? ") public void doJob3() { if (!Constant.IS_TASK) return; - 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); +// 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; } } -- Gitblit v1.8.0