admin
2019-03-13 69bee82b81626b82b7f39f0e459e4f56b1699b51
fanli/src/main/java/com/yeshi/fanli/job/UpdateRelationAndSpecialOrderJob.java
@@ -1,5 +1,8 @@
package com.yeshi.fanli.job;
import java.util.Calendar;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -18,7 +21,7 @@
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import com.yeshi.fanli.util.taobao.TaoKeOrderApiUtil;
/**
 * 淘宝渠道订单更新
@@ -35,18 +38,26 @@
   @Resource
   private RedisManager redisManager;
   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,
            Constant.TAOBAO_AUTH_APPSECRET);
      addRelationAndSpecialOrder(orderList);
   }
   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,
            Constant.TAOBAO_AUTH_APPSECRET);
      addRelationAndSpecialOrder(orderList);
   /**
    * 更新渠道订单
    *
    * @param fromPage
    *            开始页码
    * @param toPage
    *            结束页码(每页100条数据)
    */
   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) {
@@ -102,10 +113,32 @@
   public void doJob1() {
      if (!Constant.IS_TASK)
         return;
      long currentTime = System.currentTimeMillis();
      // 爬取21分钟之前到现在的
      updateRelationOrder(currentTime - 1000 * 60 * 20L);
      updateSpecialOrder(currentTime - 1000 * 60 * 20L);
      // 爬取近20分钟的数据
      long endTime = System.currentTimeMillis();
      updateRelationAndSpecialOrder(endTime - 1000 * 60 * 20L, endTime);
   }
   // 每5分钟更新(近1天数据)
   @Scheduled(cron = "0 0/5 * * * ? ")
   public void doJob2() {
      if (!Constant.IS_TASK)
         return;
      long endTime = System.currentTimeMillis();
      updateRelationAndSpecialOrder(endTime - 1000 * 60 * 60 * 24L, endTime);
   }
   // 每个小时更新
   @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;
   }
}