From a489609934155d3a9417ebfd315afbadd1d9b95f Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 19 三月 2019 12:21:32 +0800
Subject: [PATCH] 删除ExtractRecordDao
---
fanli/src/main/java/com/yeshi/fanli/job/UpdateOrderJob.java | 318 +++++++++++++++++++++++++++++++++-------------------
1 files changed, 201 insertions(+), 117 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 e9af6f6..9798bbb 100644
--- a/fanli/src/main/java/com/yeshi/fanli/job/UpdateOrderJob.java
+++ b/fanli/src/main/java/com/yeshi/fanli/job/UpdateOrderJob.java
@@ -1,6 +1,7 @@
package com.yeshi.fanli.job;
import java.util.ArrayList;
+import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -10,19 +11,16 @@
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
+import com.yeshi.fanli.entity.bus.user.Order;
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.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;
@@ -31,8 +29,8 @@
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
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 +39,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 +64,159 @@
@Resource
private LostOrderService lostOrderService;
- private void updateOrder(long startTime, long endTime) {
- List<TaoBaoUnionConfig> configList = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_ANDROID);
+ @Resource
+ private OrderService orderService;
+
+ /**
+ * 鏂扮増鑾峰彇鏅�氳鍗�
+ *
+ * @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,
+ Constant.TAOBAO_AUTH_APPKEY, Constant.TAOBAO_AUTH_APPSECRET);
+ while (orderList.size() == 100 * page) {
+ page++;
+ List<TaoBaoOrder> tempOrderList = TaoKeOrderApiUtil.getTaoBaoAllOrder(startTimeStr, span, page,
+ Constant.TAOBAO_AUTH_APPKEY, Constant.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,
+ Constant.TAOBAO_AUTH_APPKEY, Constant.TAOBAO_AUTH_APPSECRET);
+ while (orderList.size() == 100 * page) {
+ page++;
+ List<TaoBaoOrder> tempOrderList = TaoKeOrderApiUtil.getTaoBaoThirdAllOrder(startTimeStr, span, page,
+ Constant.TAOBAO_AUTH_APPKEY, Constant.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,55 +225,42 @@
} catch (InterruptedException e) {
e.printStackTrace();
}
-
}
- private void addRelationAndSpecialOrder(List<TaoBaoOrder> orderList) {
- try {
- taoBaoOrderService.addTaoBaoOrderList(orderList);
- } catch (Exception e) {
- try {
- LogHelper.errorDetailInfo(e);
- } catch (Exception e1) {
- e1.printStackTrace();
+ 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);
}
}
- try {
- Map<String, List<TaoBaoOrder>> map = TaoBaoOrderUtil.classifyTaoBaoOrderByOrderId(orderList);
- if (map != null) {
- Iterator<String> its = map.keySet().iterator();
- while (its.hasNext()) {
- String key = its.next();
- List<TaoBaoOrder> orders = map.get(key);
- String redisKey = "addorderqueue-" + key;
- // redis鍋氶鐜囬檺鍒�
- try {
- if (!StringUtil.isNullOrEmpty(redisManager.getCommonString(redisKey))) {
- continue;
- }
-
- } catch (Exception e) {
-
- }
-
- CMQManager.getInstance().addTaoBaoOrderMsg(key, orders);
-
- try {
- // 6灏忔椂鍐呬笉鍐嶅鐞�
- redisManager.cacheCommonString(redisKey, "1", 60 * 60 * 6);
- } catch (Exception e) {
-
- }
- }
- }
- } catch (Exception e) {
- try {
- LogHelper.errorDetailInfo(e);
- } catch (Exception e1) {
- e1.printStackTrace();
- }
- }
+ return orderList;
}
private void addOrder(List<TaoBaoOrder> orderList) {
@@ -168,8 +270,20 @@
// 绉婚櫎浼氬憳杩愯惀ID涓庢笭閬撲笓灞炶鍗�
if (orderList.get(i).getAdPositionName().contains("浼氬憳杩愯惀")
|| orderList.get(i).getAdPositionName().contains("娓犻亾涓撳睘")) {
- orderList.remove(i);
- i--;
+ 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--;
+ }
}
}
@@ -225,7 +339,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);
@@ -244,39 +358,9 @@
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);
}
// 杩斿埄
--
Gitblit v1.8.0