admin
2019-07-11 3824cbcaec6e6c67418d5280a53e9c2fedeef6f9
fanli/src/main/java/com/yeshi/fanli/job/UpdateRelationAndSpecialOrderJob.java
@@ -16,9 +16,8 @@
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.RedisManager;
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,29 +34,33 @@
   @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条数据)
    */
   public 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) {
      try {
         taoBaoOrderService.addTaoBaoOrderList(orderList);
      } catch (Exception e) {
         try {
            LogHelper.errorDetailInfo(e);
         } catch (Exception e1) {
            e1.printStackTrace();
         }
         LogHelper.errorDetailInfo(e);
      }
      try {
@@ -89,11 +92,7 @@
            }
         }
      } catch (Exception e) {
         try {
            LogHelper.errorDetailInfo(e);
         } catch (Exception e1) {
            e1.printStackTrace();
         }
         LogHelper.errorDetailInfo(e);
      }
   }
@@ -102,9 +101,32 @@
   public void doJob1() {
      if (!Constant.IS_TASK)
         return;
      long currentTime = System.currentTimeMillis();
      updateRelationOrder(currentTime);
      updateSpecialOrder(currentTime);
      // 爬取近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;
   }
}