From 367dfb4ba7f1f181314ea4bfe3cb7cf9ae036b02 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 09 十月 2021 18:47:21 +0800
Subject: [PATCH] 京东订单备份,长期处于付款状态的订单处理

---
 fanli/src/main/java/com/yeshi/fanli/job/order/jd/UpdateJDOrderJob.java |   43 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/job/order/jd/UpdateJDOrderJob.java b/fanli/src/main/java/com/yeshi/fanli/job/order/jd/UpdateJDOrderJob.java
index 7eacee7..4a5bdf9 100644
--- a/fanli/src/main/java/com/yeshi/fanli/job/order/jd/UpdateJDOrderJob.java
+++ b/fanli/src/main/java/com/yeshi/fanli/job/order/jd/UpdateJDOrderJob.java
@@ -1,11 +1,15 @@
 package com.yeshi.fanli.job.order.jd;
 
 import java.util.ArrayList;
+import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 
 import javax.annotation.Resource;
 
+import com.yeshi.fanli.dao.jd.JDOrderBackUpDao;
+import com.yeshi.fanli.dto.jd.JDOrderForBackUpResult;
+import com.yeshi.fanli.entity.jd.JDBackUpOrder;
 import com.yeshi.fanli.util.Constant;
 import org.springframework.stereotype.Component;
 
@@ -32,6 +36,10 @@
 
     @Resource
     private RedisManager redisManager;
+
+    @Resource
+    private JDOrderBackUpDao jdOrderBackUpDao;
+
 
     /**
      * 淇濆瓨璁㈠崟
@@ -195,4 +203,39 @@
         }
     }
 
+
+    @XxlJob("order-jd-backup")
+    public ReturnT<String> backUpOrder(String param) throws Exception {
+        //鏇存柊90澶╀互鍓嶇殑杩�3澶╃殑鏁版嵁
+        long startTime = System.currentTimeMillis() - 1000 * 60 * 60 * 24L * 90;
+
+        for (int i = 0; i < 24 * 3; i++) {
+            List<JDBackUpOrder> orderList = getBackUpOrders(new Date(startTime + i * 1000 * 60 * 60L));
+            if (orderList != null && orderList.size() > 0) {
+                for (JDBackUpOrder order : orderList) {
+                    order.setUpdateTime(new Date());
+                    jdOrderBackUpDao.save(order);
+                }
+            }
+        }
+        return ReturnT.SUCCESS;
+    }
+
+    private List<JDBackUpOrder> getBackUpOrders(Date hourDate) {
+        List<JDBackUpOrder> jdOrderList = new ArrayList<>();
+        int pageSize = 200;
+        int page = 1;
+        JDOrderForBackUpResult result = JDApiUtil.getOrderListForBackUp(page++, pageSize, hourDate, JDApiUtil.ORDER_TYPE_UPDATETIME);
+        if (result != null) {
+            jdOrderList.addAll(result.getOrderList());
+            while (result != null && result.isHasMore()) {
+                result = JDApiUtil.getOrderListForBackUp(page++, pageSize, hourDate, JDApiUtil.ORDER_TYPE_UPDATETIME);
+                if (result != null)
+                    jdOrderList.addAll(result.getOrderList());
+            }
+        }
+        return jdOrderList;
+    }
+
+
 }

--
Gitblit v1.8.0