admin
2020-05-06 24a8d17e007545f7426c48352109aa1a9c6587ee
fanli/src/main/java/com/yeshi/fanli/job/order/pdd/UpdatePDDOrderJob.java
@@ -6,21 +6,21 @@
import javax.annotation.Resource;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.annotation.XxlJob;
import com.yeshi.fanli.dto.pdd.PDDOrderResult;
import com.yeshi.fanli.entity.pdd.PDDOrder;
import com.yeshi.fanli.exception.pdd.PDDOrderException;
import com.yeshi.fanli.service.inter.pdd.PDDOrderService;
import com.yeshi.fanli.service.inter.order.pdd.PDDOrderService;
import com.yeshi.fanli.util.RedisKeyEnum;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.cmq.JDOrderCMQManager;
import com.yeshi.fanli.util.cmq.PDDOrderCMQManager;
import com.yeshi.fanli.util.cmq.order.PDDOrderCMQManager;
import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil;
//从淘宝爬去订单更新
//@Component
@Component
public class UpdatePDDOrderJob {
   @Resource
@@ -35,30 +35,46 @@
    * @param jdOrderList
    */
   public void savePDDOrders(List<PDDOrder> orderList) {
      for (PDDOrder order : orderList)
      for (PDDOrder order : orderList) {
         if (order.getOrderStatus() == 2) {
            System.out.println(order);
         }
         try {
            pddOrderService.addOrder(order);
            /**
             * 做频率限制
             */
            String key = "pdd-order-" + order.getOrderSn();
            String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.PDDOrder, order.getOrderSn() + "");
            String result = redisManager.getCommonString(key);
//            if (!StringUtil.isNullOrEmpty(result))
//               continue;
            // if (!StringUtil.isNullOrEmpty(result))
            // continue;
            PDDOrderCMQManager.getInstance().addPDDOrder(order.getOrderSn() + "");
            redisManager.cacheCommonString(key, "1", 60 * 60 * 2);// 2小时内不再更新
         } catch (PDDOrderException e) {
            e.printStackTrace();
         }
      }
   }
   /**
    * 拼多多订单爬取
    */
   @XxlJob("updatePDDOrderHandler")
   public ReturnT<String> updatePDDOrder(String param) throws Exception {
      if ("1".equalsIgnoreCase(param)) {// 更新本小时内的单
         updateSoonOrder();
      } else if ("1day".equalsIgnoreCase(param)) {// 爬取最近1天的订单(30分钟一次)
         updateUpdateOrder();
      }
      return ReturnT.SUCCESS;
   }
   /**
    * 快速订单更新(爬取本小时内的单,每分钟一次)
    */
   @Scheduled(cron = "0 0/1 * * * ? ")
   // @Scheduled(cron = "0 0/1 * * * ? ")
   public void updateSoonOrder() {
//      if (!Constant.IS_TASK)
//         return;
      Date now = null;
      now = PinDuoDuoApiUtil.getSystemTime();
      if (now == null)
@@ -73,10 +89,8 @@
   /**
    * 爬取最近1天的订单(30分钟一次)
    */
   @Scheduled(cron = "0 0/30 * * * ? ")
   // @Scheduled(cron = "0 0/30 * * * ? ")
   public void updateUpdateOrder() {
//      if (!Constant.IS_TASK)
//         return;
      long endTime = System.currentTimeMillis() - 1000 * 60 * 60L;
      long startTime = System.currentTimeMillis() - 1000 * 60 * 60 * 24L;
      int page = 1;