From d2357693d74ec048ed19e483ea29f87d823cde5f Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 22 七月 2019 16:26:23 +0800
Subject: [PATCH] 资金明细添加京东,拼多多兼容
---
fanli/src/main/java/com/yeshi/fanli/job/UpdateOrderJob.java | 473 +++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 380 insertions(+), 93 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/job/UpdateOrderJob.java b/fanli/src/main/java/com/yeshi/fanli/job/UpdateOrderJob.java
index 72cc5f6..b04e71d 100644
--- a/fanli/src/main/java/com/yeshi/fanli/job/UpdateOrderJob.java
+++ b/fanli/src/main/java/com/yeshi/fanli/job/UpdateOrderJob.java
@@ -1,28 +1,34 @@
package com.yeshi.fanli.job;
+import java.math.BigDecimal;
import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import javax.annotation.Resource;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
+import com.yeshi.fanli.entity.bus.user.LostOrder;
+import com.yeshi.fanli.entity.bus.user.Order;
+import com.yeshi.fanli.entity.order.CommonOrder;
import com.yeshi.fanli.entity.taobao.PidUser;
import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder;
-import com.yeshi.fanli.exception.TaoBaoOrderException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.common.DataMonitorService;
-import com.yeshi.fanli.service.inter.hongbao.HongBaoService;
-import com.yeshi.fanli.service.inter.hongbao.ThreeSaleGiftService;
+import com.yeshi.fanli.service.inter.order.CommonOrderService;
import com.yeshi.fanli.service.inter.order.LostOrderService;
-import com.yeshi.fanli.service.inter.order.OrderItemServcie;
import com.yeshi.fanli.service.inter.order.OrderProcessService;
-import com.yeshi.fanli.service.inter.order.PidOrderService;
+import com.yeshi.fanli.service.inter.order.OrderService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoOrderService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoWeiQuanOrderService;
@@ -30,9 +36,10 @@
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.TaoBaoConstant;
import com.yeshi.fanli.util.TimeUtil;
-import com.yeshi.fanli.util.taobao.TaoBao110Util;
import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil;
+import com.yeshi.fanli.util.taobao.TaoKeOrderApiUtil;
//浠庢窐瀹濈埇鍘昏鍗曟洿鏂�
@Component
@@ -41,18 +48,6 @@
public UpdateOrderJob() {
System.out.println("鍒濆鍖�:UpdateOrderJob");
}
-
- @Resource
- private OrderItemServcie orderItemServcie;
-
- @Resource
- private ThreeSaleGiftService threeSaleGiftService;
-
- @Resource
- private HongBaoService hongBaoService;
-
- @Resource
- private PidOrderService pidOrderService;
@Resource
private OrderProcessService orderProcessService;
@@ -78,30 +73,162 @@
@Resource
private LostOrderService lostOrderService;
- private void updateOrder(long startTime, long endTime) {
- List<TaoBaoUnionConfig> configList = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_ANDROID);
+ @Resource
+ private OrderService orderService;
+
+ @Resource
+ private CommonOrderService commonOrderService;
+
+ /**
+ * 鏂扮増鑾峰彇鏅�氳鍗�
+ *
+ * @param startTime
+ * @param span
+ * @return
+ */
+ private static List<TaoBaoOrder> getCommonOrder(long startTime, int span) {
+ int page = 1;
+ String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
+ List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoAllOrder(startTimeStr, span, page,
+ TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
+ while (orderList.size() == 100 * page) {
+ page++;
+ List<TaoBaoOrder> tempOrderList = TaoKeOrderApiUtil.getTaoBaoAllOrder(startTimeStr, span, page,
+ TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
+ if (tempOrderList != null && tempOrderList.size() > 0)
+ orderList.addAll(tempOrderList);
+ }
+ return orderList;
+ }
+
+ /**
+ * 鑾峰彇绗笁鏂规櫘閫氳鍗�
+ *
+ * @param startTime
+ * @param span
+ * @return
+ */
+ private static List<TaoBaoOrder> getThirdCommonOrder(long startTime, int span) {
+ int page = 1;
+ String startTimeStr = TimeUtil.getGernalTime(startTime, "yyyy-MM-dd HH:mm:ss");
+ List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoThirdAllOrder(startTimeStr, span, page,
+ TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
+ while (orderList.size() == 100 * page) {
+ page++;
+ List<TaoBaoOrder> tempOrderList = TaoKeOrderApiUtil.getTaoBaoThirdAllOrder(startTimeStr, span, page,
+ TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
+ if (tempOrderList != null && tempOrderList.size() > 0)
+ orderList.addAll(tempOrderList);
+ }
+ return orderList;
+ }
+
+ /**
+ * 鑾峰彇鏌愪釜鍖洪棿娈电殑璁㈠崟
+ *
+ * @param startTime
+ * @param endTime
+ * @return
+ */
+ public static List<TaoBaoOrder> getCommonOrder(long startTime, long endTime) {
List<TaoBaoOrder> orderList = new ArrayList<>();
- try {
- orderList = TaoBaoOrderUtil.getOrderList(startTime, endTime, configList.get(0));
- } catch (TaoBaoOrderException e2) {
- try {
- LogHelper.errorDetailInfo(e2);
- } catch (Exception e) {
- e.printStackTrace();
+ long span = (endTime - startTime) % 1000 == 0 ? (endTime - startTime) / 1000 : (endTime - startTime) / 1000 + 1;
+ int count = (int) (span / 1200);
+ if (span % 1200 != 0)
+ count++;
+ for (int i = 0; i < count; i++) {
+ long startT = startTime + i * 1200 * 1000L;
+ int s = 1200;
+ if (endTime < startT + 1200 * 1000L) {
+ s = (int) ((endTime - startT) / 1000) + 1;
+ if (s < 60)
+ s = 60;
}
+ List<TaoBaoOrder> tempOrderList = getCommonOrder(startT, s);
+ if (tempOrderList != null && tempOrderList.size() > 0)
+ orderList.addAll(tempOrderList);
}
- List<TaoBaoOrder> thirdOrderList = new ArrayList<>();
- try {
- thirdOrderList = TaoBaoOrderUtil.getThirdServiceOrderList(startTime, endTime, configList.get(0));
- } catch (TaoBaoOrderException e2) {
- try {
- LogHelper.errorDetailInfo(e2);
- } catch (Exception e) {
- e.printStackTrace();
+ return orderList;
+ }
+
+ /**
+ * 鐖彇涓夋柟璁㈠崟
+ *
+ * @param startTime
+ * @param endTime
+ * @return
+ */
+ public static List<TaoBaoOrder> getThirdCommonOrder(long startTime, long endTime) {
+ List<TaoBaoOrder> orderList = new ArrayList<>();
+ long span = (endTime - startTime) % 1000 == 0 ? (endTime - startTime) / 1000 : (endTime - startTime) / 1000 + 1;
+ int count = (int) (span / 1200);
+ if (span % 1200 != 0)
+ count++;
+ for (int i = 0; i < count; i++) {
+ long startT = startTime + i * 1200 * 1000L;
+ int s = 1200;
+ if (endTime < startT + 1200 * 1000L) {
+ s = (int) ((endTime - startT) / 1000) + 1;
+ if (s < 60)
+ s = 60;
}
+ List<TaoBaoOrder> tempOrderList = getThirdCommonOrder(startT, s);
+ if (tempOrderList != null && tempOrderList.size() > 0)
+ orderList.addAll(tempOrderList);
}
- if (thirdOrderList != null && thirdOrderList.size() > 0)
- orderList.addAll(thirdOrderList);
+ return orderList;
+ }
+
+ /**
+ * 鎸夊ぉ鑾峰彇鏅�氳鍗曪紙鏂扮増锛�
+ *
+ * @param date
+ * @return
+ */
+ public List<TaoBaoOrder> getCommonOrderByDay(Date date) {
+ List<TaoBaoOrder> orderList = new ArrayList<>();
+ // 灏嗕竴澶╁垎鎴�12娈�
+ for (int i = 0; i < 72; i++) {
+ List<TaoBaoOrder> tempOrderList = getCommonOrder(date.getTime() + 1000 * 60 * 20L * i, 1200);
+ if (tempOrderList != null && tempOrderList.size() > 0)
+ orderList.addAll(tempOrderList);
+ }
+ return orderList;
+ }
+
+ public void updateOrder(long startTime, long endTime) {
+ // 鑰佺増鏈鐞嗘柟寮�
+ // List<TaoBaoUnionConfig> configList =
+ // taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_ANDROID);
+ // List<TaoBaoOrder> orderList = new ArrayList<>();
+ // try {
+ // orderList = TaoBaoOrderUtil.getOrderList(startTime, endTime,
+ // configList.get(0));
+ // } catch (TaoBaoOrderException e2) {
+ // try {
+ // LogHelper.errorDetailInfo(e2);
+ // } catch (Exception e) {
+ // e.printStackTrace();
+ // }
+ // }
+ // List<TaoBaoOrder> thirdOrderList = new ArrayList<>();
+ // try {
+ // thirdOrderList = TaoBaoOrderUtil.getThirdServiceOrderList(startTime,
+ // endTime, configList.get(0));
+ // } catch (TaoBaoOrderException e2) {
+ // try {
+ // LogHelper.errorDetailInfo(e2);
+ // } catch (Exception e) {
+ // e.printStackTrace();
+ // }
+ // }
+ // if (thirdOrderList != null && thirdOrderList.size() > 0)
+ // orderList.addAll(thirdOrderList);
+ // 鏂扮増鏈鐞嗘柟寮�
+ List<TaoBaoOrder> orderList = getCommonOrder(startTime, endTime);
+ List<TaoBaoOrder> tempOrderList2 = getThirdCommonOrder(startTime, endTime);
+ if (tempOrderList2 != null && tempOrderList2.size() > 0)
+ orderList.addAll(tempOrderList2);
LogHelper.orderInfo("姝e湪鎵ц璁㈠崟鐖彇缁撴潫锛屽叡鏈夎鍗�:" + orderList.size());
addOrder(orderList);
@@ -110,18 +237,73 @@
} catch (InterruptedException e) {
e.printStackTrace();
}
-
}
- private void addOrder(List<TaoBaoOrder> orderList) {
+ public static List<TaoBaoOrder> mixTaoBaoOrder(List<TaoBaoOrder> commonOrderList, List<TaoBaoOrder> sorderList) {
+ Map<String, List<TaoBaoOrder>> commonMap = TaoBaoOrderUtil.classifyTaoBaoOrderByOrderId(commonOrderList);
+ Map<String, List<TaoBaoOrder>> sMap = TaoBaoOrderUtil.classifyTaoBaoOrderByOrderId(sorderList);
+ // 鑾峰彇璁㈠崟浜ら泦
+ Iterator<String> its = commonMap.keySet().iterator();
+ List<String> commonOrderIdList = new ArrayList<>();
+ List<String> sOrderIdList = new ArrayList<>();
+ while (its.hasNext()) {
+ String orderId = its.next();
+ commonOrderIdList.add(orderId);
+ }
+ its = sMap.keySet().iterator();
+ while (its.hasNext()) {
+ String orderId = its.next();
+ sOrderIdList.add(orderId);
+ }
+
+ // 姹備氦闆�
+ commonOrderIdList.retainAll(sOrderIdList);
+
+ List<TaoBaoOrder> orderList = new ArrayList<>();
+
+ for (String orderId : commonOrderIdList) {
+ List<TaoBaoOrder> list = commonMap.get(orderId);
+ String specialId = sMap.get(orderId).get(0).getSpecialId();
+ String relationId = sMap.get(orderId).get(0).getRelationId();
+ for (TaoBaoOrder to : list) {
+ to.setSpecialId(specialId);
+ to.setRelationId(relationId);
+ orderList.add(to);
+ }
+ }
+
+ return orderList;
+ }
+
+ public void addOrder(List<TaoBaoOrder> orderList) {
+
+ if (orderList != null)
+ for (int i = 0; i < orderList.size(); i++) {
+ // 绉婚櫎浼氬憳杩愯惀ID涓庢笭閬撲笓灞炶鍗�
+ if (orderList.get(i).getAdPositionName().contains("浼氬憳杩愯惀")
+ || orderList.get(i).getAdPositionName().contains("娓犻亾涓撳睘")) {
+ if (orderList.get(i).getAdPositionName().contains("浼氬憳杩愯惀")) {// 澶勭悊璁㈠崟鐢宠瘔
+ Order order = orderService.findOrderByOrderIdAndType(orderList.get(i).getOrderId(),
+ Order.ORDER_TYPE_TAOBAO);
+ if (order != null && order.getBeizhu().contains("琛ュ崟")) {// 涓嶆帓闄よˉ鍗曠殑鎯呭喌
+
+ } else {
+ orderList.remove(i);
+ i--;
+ break;
+ }
+ } else {
+ orderList.remove(i);
+ i--;
+ }
+ }
+ }
+
try {
taoBaoOrderService.addTaoBaoOrderList(orderList);
} catch (Exception e) {
- try {
- LogHelper.errorDetailInfo(e);
- } catch (Exception e1) {
- e1.printStackTrace();
- }
+ LogHelper.errorDetailInfo(e);
+
}
try {
@@ -142,7 +324,7 @@
}
- CMQManager.getInstance().addTaoBaoOrderMsg(key, orders);
+ CMQManager.getInstance().addTaoBaoOrderMsg(key);
try {
// 6灏忔椂鍐呬笉鍐嶅鐞�
@@ -153,11 +335,7 @@
}
}
} catch (Exception e) {
- try {
- LogHelper.errorDetailInfo(e);
- } catch (Exception e1) {
- e1.printStackTrace();
- }
+ LogHelper.errorDetailInfo(e);
}
}
@@ -166,7 +344,7 @@
public void doJob1() {
if (!Constant.IS_TASK)
return;
- long currentTime = System.currentTimeMillis();
+ long currentTime = System.currentTimeMillis() - 1000 * 60;
String h = TimeUtil.getGernalTime(currentTime, "HH");
String m = TimeUtil.getGernalTime(currentTime, "mm");
int mm = Integer.parseInt(h) * 60 + Integer.parseInt(m);
@@ -181,43 +359,13 @@
}
// 娣樺疂鎺ㄥ箍璁㈠崟 姣忛殧3鍒�13绉掓墽琛屼竴娆�
- @Scheduled(cron = "13 0/3 0 24,25 * ? ")
+ @Scheduled(cron = "13 0/3 * * * ? ")
public void doJob6() {
if (!Constant.IS_TASK)
return;
- List<TaoBaoUnionConfig> configList = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_ANDROID);
- LogHelper.orderInfo("姝e湪鎵ц璁㈠崟鐖彇...");
- // 鐖彇1鍒嗛挓浠ュ墠鐨�
- long endTime = System.currentTimeMillis() - 1000 * 60 * 1L;
- List<TaoBaoOrder> orderList = new ArrayList<TaoBaoOrder>();
- try {
- orderList = TaoBaoOrderUtil.getOrderList(endTime - 1000 * 60 * 60 * 24 * 2L, endTime, configList.get(0));
- TaoBao110Util.rightTaoBaoOrderWarning();
- } catch (TaoBaoOrderException e) {
- try {
- LogHelper.errorDetailInfo(e);
- TaoBao110Util.reportTaoBaoOrderWarning(e.getCode(), e.getMessage());
- } catch (Exception e2) {
- e2.printStackTrace();
- }
- }
- List<TaoBaoOrder> thirdOrderList = new ArrayList<>();
- try {
- thirdOrderList = TaoBaoOrderUtil.getThirdServiceOrderList(endTime - 1000 * 60 * 60 * 24 * 2L, endTime,
- configList.get(0));
- } catch (TaoBaoOrderException e) {
- try {
- LogHelper.errorDetailInfo(e);
- } catch (Exception e2) {
- e2.printStackTrace();
- }
- }
- if (thirdOrderList != null && thirdOrderList.size() > 0)
- orderList.addAll(thirdOrderList);
- if (orderList != null && orderList.size() > 0)
- dataMonitorService.parseTaoBaoOrderSuccess();
- LogHelper.orderInfo("姝e湪鎵ц璁㈠崟鐖彇缁撴潫锛屽叡鏈夎鍗�:" + orderList.size());
- addOrder(orderList);
+ long endTime = System.currentTimeMillis() - 1000 * 60;
+ ;
+ updateOrder(endTime - 1000 * 60 * 20L, endTime);
}
// 杩斿埄
@@ -254,18 +402,157 @@
orderProcessService.weiQuanOrder(orderList);
}
- // 澶勭悊鍒嗕韩鍟嗗搧鎵�浜х敓鐨勮鍗�(鍚庣画鐗堟湰搴熼櫎)
- // @Scheduled(cron = "0 0/2 * * * ? ")
- // public void doPidOrder() {
- // if (!Constant.IS_TASK)
- // return;
- // pidOrderService.doPidOrder();
- // }
-
// 姣�6涓皬鏃舵墽琛屼竴娆�
@Scheduled(cron = "0 0 0/6 * * ? ")
public void doLostOrder() {
+ if (!Constant.IS_TASK)
+ return;
lostOrderService.processFail();
}
+ // 姣�2鍒嗛挓鎵ц涓�娆�
+ @Scheduled(cron = "0 0/2 * * * ? ")
+ public void addLostOrder() {
+ if (!Constant.IS_TASK)
+ return;
+ LogHelper.test("澶勭悊涓㈠け璁㈠崟");
+ List<LostOrder> list = lostOrderService.listByStateAndResultCode(LostOrder.STATE_PASS,
+ LostOrder.RESULT_CODE_VERFING, 1, 50);
+ if (list != null)
+ for (LostOrder lo : list) {
+ List<TaoBaoOrder> taoBaoOrderList = taoBaoOrderService.getTaoBaoOrderByOrderId(lo.getOrderId());
+ // 娓呴櫎棰戠巼闄愬埗
+ if (taoBaoOrderList != null && taoBaoOrderList.size() > 0) {
+ String key = "addorderqueue-" + lo.getOrderId();
+ redisManager.removeCommonString(key);
+ addOrder(taoBaoOrderList);
+ LogHelper.test("鑷姩澶勭悊娣樺疂璁㈠崟:" + lo.getOrderId());
+ }
+ }
+ }
+
+ /**
+ * 澶勭悊娣樺疂缁撶畻璁㈠崟,30fen鎵ц涓�娆�
+ */
+ @Scheduled(cron = "30 0 0/1 * * ? ")
+ public void doSettleOrders() {
+ if (!Constant.IS_TASK)
+ return;
+ // 澶勭悊3-15澶╁墠鐨勮鍗曪紝姣忓ぉ璺戜竴娆�
+ Calendar ca = Calendar.getInstance();
+ int hour = ca.get(Calendar.HOUR_OF_DAY);
+
+ long startTime = TimeUtil.convertToTimeTemp(
+ TimeUtil.getGernalTime(ca.getTimeInMillis() - 1000 * 60 * 60 * 24 * 3L, "yyyy-MM-dd"), "yyyy-MM-dd")
+ - hour * (1000 * 60 * 60 * 12L);
+ long endTime = startTime + 1000 * 60 * 60 * 12L;
+ List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoSettleOrders(startTime, endTime, false);
+ List<TaoBaoOrder> tempOrderList = TaoKeOrderApiUtil.getTaoBaoSettleOrders(startTime, endTime, true);
+ if (tempOrderList != null && tempOrderList.size() > 0)
+ orderList.addAll(tempOrderList);
+ addOrder(orderList);
+ }
+
+ /**
+ * 13鍒嗛挓鏇存柊鏈�杩�13鍒嗛挓鐨勭粨绠楁暟鎹�
+ */
+ @Scheduled(cron = "0 0/13 * * * ? ")
+ public void doSettleOrdersToday() {
+ if (!Constant.IS_TASK)
+ return;
+ // 澶勭悊3-15澶╁墠鐨勮鍗曪紝姣忓ぉ璺戜竴娆�
+ Calendar ca = Calendar.getInstance();
+ long startTime = ca.getTimeInMillis() - 1000 * 60 * 5L - 1000 * 60 * 13L;
+ long endTime = startTime + 1000 * 60 * 13L;
+ List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoSettleOrders(startTime, endTime, false);
+ List<TaoBaoOrder> tempOrderList = TaoKeOrderApiUtil.getTaoBaoSettleOrders(startTime, endTime, true);
+ if (tempOrderList != null && tempOrderList.size() > 0)
+ orderList.addAll(tempOrderList);
+ addOrder(orderList);
+ }
+
+ /**
+ * 鏇存柊鏈湴璁㈠崟锛堝噷鏅�25鍒嗘洿鏂帮級
+ */
+ @Scheduled(cron = "25 0 0 * * ? ")
+ public void doLocalTaoBaoOrder() {
+ if (!Constant.IS_TASK)
+ return;
+ // 澶勭悊3-15澶╁墠鐨勮鍗曪紝姣忓ぉ璺戜竴娆�
+ Long startTime = System.currentTimeMillis() - 1000 * 60 * 60 * 24 * 60L;
+ Long endTime = startTime + 1000 * 60 * 60 * 24 * 48L;
+ List<CommonOrder> commonOrderList = commonOrderService.listBySourceTypeAndStateAndThirdCrateTime(
+ Constant.SOURCE_TYPE_TAOBAO, CommonOrder.STATE_FK, startTime, endTime, 1, 500);
+ Set<String> orderIds = new HashSet<>();
+ for (CommonOrder co : commonOrderList) {
+ orderIds.add(co.getOrderNo());
+ }
+
+ for (Iterator<String> its = orderIds.iterator(); its.hasNext();) {
+ String orderId = its.next();
+ List<TaoBaoOrder> orderList = taoBaoOrderService.getTaoBaoOrderByOrderId(orderId);
+ Map<String, List<TaoBaoOrder>> orders = new HashMap<>();
+ orders.put(orderId, orderList);
+ orderProcessService.processOrder(orders);
+ }
+ }
+
+ /**
+ * 鏇存柊鏈�杩戠殑鏈湴鍗�(30鍒嗛挓鏇存柊涓�娆�)
+ */
+
+ @Scheduled(cron = "0 0/30 * * * ? ")
+ public void doLatestLocalTaoBaoOrder() {
+ if (!Constant.IS_TASK)
+ return;
+ Long endTime = System.currentTimeMillis() - 1000 * 60 * 10L;
+ Long startTime = endTime - 1000 * 60 * 60 * 12L;
+ updateLocalTaoBaoOrder(startTime, endTime, 1, 2000);
+
+ }
+
+ public void updateLocalTaoBaoOrder(Long startTime, Long endTime, int page, int count) {
+ List<TaoBaoOrder> list = taoBaoOrderService.listBySettlementTime(startTime, endTime, page, count);
+ Set<String> orderIds = new HashSet<>();
+ for (TaoBaoOrder co : list) {
+ orderIds.add(co.getOrderId());
+ }
+
+ for (Iterator<String> its = orderIds.iterator(); its.hasNext();) {
+ String orderId = its.next();
+ // 鏌ヨ鏄惁鏈夊浜庤鍗曚粯娆剧姸鎬佺殑鍗�
+ List<CommonOrder> commonOrderList = commonOrderService
+ .listBySourceTypeAndOrderId(Constant.SOURCE_TYPE_TAOBAO, orderId);
+ boolean update = false;
+ if (commonOrderList != null)
+ for (CommonOrder co : commonOrderList) {
+ if (co.getState() == CommonOrder.STATE_FK && co.getPayment().compareTo(new BigDecimal(0)) > 0) {
+ update = true;
+ break;
+ }
+ }
+
+ if (update) {
+ List<TaoBaoOrder> orderList = taoBaoOrderService.getTaoBaoOrderByOrderId(orderId);
+ Map<String, List<TaoBaoOrder>> orders = new HashMap<>();
+ orders.put(orderId, orderList);
+ orderProcessService.processOrder(orders);
+ }
+ }
+ }
+
+ @Scheduled(cron = "30 13 3 * * ? ")
+ public void doLatest5DayLocalTaoBaoOrder() {
+ if (!Constant.IS_TASK)
+ return;
+ Long endTime = System.currentTimeMillis() - 1000 * 60 * 60 * 12L;
+ Long startTime = endTime - 1000 * 60 * 60 * 24 * 5L;
+ long count = taoBaoOrderService.countBySettlementTime(startTime, endTime);
+ int pageSize = 100;
+ long page = count % pageSize == 0 ? count / pageSize : count / pageSize + 1;
+ for (int i = 0; i < page; i++) {
+ updateLocalTaoBaoOrder(startTime, endTime, i + 1, pageSize);
+ }
+ }
+
}
--
Gitblit v1.8.0