admin
2020-04-13 dd5b15229cb15459fa7c31ccea77dac28cbfafbd
fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateTBRelationAndSpecialOrderJob.java
@@ -1,5 +1,6 @@
package com.yeshi.fanli.job.order.taobao;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -14,10 +15,12 @@
import com.yeshi.fanli.service.inter.order.tb.TaoBaoOrderService;
import com.yeshi.fanli.util.CMQManager;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.RedisKeyEnum;
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;
/**
@@ -44,28 +47,48 @@
    *            结束页码(每页100条数据)
    */
   public void updateRelationAndSpecialOrder(long startTime, long endTime) {
      List<TaoBaoOrder> list =TaoKeOrderApiUtil.getTaoBaoSpecialOrderList (startTime, endTime,1);
      List<TaoBaoOrder> list1 = TaoKeOrderApiUtil.getTaoBaoRelationOrderList (startTime, endTime,1);
      List<TaoBaoOrder> list = TaoKeOrderApiUtil.getTaoBaoSpecialOrderList(startTime, endTime, 1);
      List<TaoBaoOrder> list1 = TaoKeOrderApiUtil.getTaoBaoRelationOrderList(startTime, endTime, 1);
      if (list1 != null && list1.size() > 0)
         list.addAll(list1);
      // 爬取到的订单号
      if (list != null)
         for (TaoBaoOrder order : list) {
            LogHelper.orderInfo("爬取到的订单号:" + order.getOrderId());
            LogHelper.orderInfo("会员/渠道爬取到的订单号:" + order.getOrderId());
         }
      addRelationAndSpecialOrder(list);
   }
   public void updateRelationAndSpecialSettleOrder(long startTime, long endTime) {
      List<TaoBaoOrder> list = TaoKeOrderApiUtil.getTaoBaoSpecialOrderList (startTime, endTime,3);
      List<TaoBaoOrder> list1 = TaoKeOrderApiUtil.getTaoBaoRelationOrderList (startTime, endTime,3);
   /**
    * 按付款时间查询
    *
    * @param startTime
    * @param endTime
    */
   public void updateRelationAndSpecialPaidOrder(long startTime, long endTime) {
      List<TaoBaoOrder> list = TaoKeOrderApiUtil.getTaoBaoSpecialOrderList(startTime, endTime, 2);
      List<TaoBaoOrder> list1 = TaoKeOrderApiUtil.getTaoBaoRelationOrderList(startTime, endTime, 2);
      if (list1 != null && list1.size() > 0)
         list.addAll(list1);
      // 爬取到的订单号
      if (list != null)
         for (TaoBaoOrder order : list) {
            LogHelper.orderInfo("爬取到的订单号:" + order.getOrderId());
            LogHelper.orderInfo("会员/渠道爬取到的订单号:" + order.getOrderId());
         }
      addRelationAndSpecialOrder(list);
   }
   public void updateRelationAndSpecialSettleOrder(long startTime, long endTime) {
      List<TaoBaoOrder> list = TaoKeOrderApiUtil.getTaoBaoSpecialOrderList(startTime, endTime, 3);
      List<TaoBaoOrder> list1 = TaoKeOrderApiUtil.getTaoBaoRelationOrderList(startTime, endTime, 3);
      if (list1 != null && list1.size() > 0)
         list.addAll(list1);
      // 爬取到的订单号
      if (list != null)
         for (TaoBaoOrder order : list) {
            LogHelper.orderInfo("会员/渠道爬取到的订单号:" + order.getOrderId());
         }
      addRelationAndSpecialOrder(list);
   }
@@ -84,7 +107,7 @@
            while (its.hasNext()) {
               String key = its.next();
               List<TaoBaoOrder> orders = map.get(key);
               String redisKey = "addorderqueue-" + TaoBaoOrderUtil.getOrderDataHashCode(orders);;
               String redisKey = RedisKeyEnum.getRedisKey(RedisKeyEnum.addOrderQueue, TaoBaoOrderUtil.getOrderDataHashCode(orders));
               // redis做频率限制
               try {
                  if (!StringUtil.isNullOrEmpty(redisManager.getCommonString(redisKey))) {
@@ -122,9 +145,11 @@
      if (!Constant.IS_TASK)
         return;
      // 爬取近20分钟的数据
      LogHelper.orderInfo("爬单:30s爬取一次单");
      long endTime = System.currentTimeMillis();
      LogHelper.job("爬单:30s爬取一次单");
      Date systemDate = TaoKeApiUtil.getTaoBaoSystemTime();
      long endTime = systemDate != null ? systemDate.getTime() : System.currentTimeMillis();
      updateRelationAndSpecialOrder(endTime - 1000 * 60 * 20L, endTime);
      updateRelationAndSpecialPaidOrder(endTime - 1000 * 60 * 20L, endTime);
      updateRelationAndSpecialSettleOrder(endTime - 1000 * 60 * 20L, endTime);
   }
@@ -133,23 +158,10 @@
   public void doJob2() {
      if (!Constant.IS_TASK)
         return;
      long endTime = System.currentTimeMillis();
      LogHelper.job("爬单:5min爬取一次单");
      Date systemDate = TaoKeApiUtil.getTaoBaoSystemTime();
      long endTime = systemDate != null ? systemDate.getTime() : System.currentTimeMillis();
      updateRelationAndSpecialOrder(endTime - 1000 * 60 * 60 * 24L, endTime);
      updateRelationAndSpecialSettleOrder(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;
   }
}