From a3ea58065f61d16f06a0883737eae320eef5c33a Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 01 八月 2019 15:47:12 +0800
Subject: [PATCH] 非任务模式不执行京东/拼多多订单

---
 fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java |  154 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 144 insertions(+), 10 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java b/fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java
index 7fecc6e..1019125 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java
@@ -1,6 +1,7 @@
 package com.yeshi.fanli.util;
 
 import java.math.BigDecimal;
+import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
@@ -12,6 +13,7 @@
 import org.springframework.context.event.ContextRefreshedEvent;
 import org.springframework.core.task.TaskExecutor;
 import org.springframework.stereotype.Component;
+import org.yeshi.utils.NumberUtil;
 import org.yeshi.utils.tencentcloud.COSManager;
 import org.yeshi.utils.tencentcloud.entity.COSInitParams;
 
@@ -19,22 +21,28 @@
 import com.yeshi.fanli.entity.bus.user.AlipayTransferResultInfo;
 import com.yeshi.fanli.entity.bus.user.HongBaoV2;
 import com.yeshi.fanli.entity.bus.user.ThreeSale;
+import com.yeshi.fanli.entity.jd.JDOrder;
+import com.yeshi.fanli.entity.pdd.PDDOrder;
 import com.yeshi.fanli.entity.push.PushQueueRecord;
 import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
 import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder;
 import com.yeshi.fanli.exception.TaoBaoWeiQuanException;
 import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce;
+import com.yeshi.fanli.service.inter.jd.JDOrderService;
 import com.yeshi.fanli.service.inter.lable.BoutiqueAutoRuleService;
 import com.yeshi.fanli.service.inter.lable.LabelService;
 import com.yeshi.fanli.service.inter.money.UserMoneyDebtService;
 import com.yeshi.fanli.service.inter.order.OrderProcessService;
+import com.yeshi.fanli.service.inter.pdd.PDDOrderService;
 import com.yeshi.fanli.service.inter.push.IOSPushService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoOrderService;
 import com.yeshi.fanli.service.inter.user.ExtractService;
 import com.yeshi.fanli.service.inter.user.UserInfoService;
 import com.yeshi.fanli.service.inter.user.UserSystemCouponService;
+import com.yeshi.fanli.util.cmq.JDOrderCMQManager;
+import com.yeshi.fanli.util.cmq.PDDOrderCMQManager;
 import com.yeshi.fanli.util.cmq.ThreeSaleCMQManager;
 import com.yeshi.fanli.util.cmq.UserMoneyChangeCMQManager;
 
@@ -86,6 +94,12 @@
 	@Resource
 	private UserMoneyDebtService userMoneyDebtService;
 
+	@Resource
+	private JDOrderService jdOrderService;
+
+	@Resource
+	private PDDOrderService pddOrderService;
+
 	private static boolean isInited = false;
 
 	public void onApplicationEvent(ContextRefreshedEvent arg0) {
@@ -108,6 +122,7 @@
 		if (Constant.IS_TASK) {
 			doExtractResult();// 澶勭悊鎻愮幇缁撴灉
 			doTaoBaoOrders();// 澶勭悊娣樺疂璁㈠崟
+			doTaoBaoNewOrders();// 澶勭悊娣樺疂璁㈠崟锛堝垰鍒氫骇鐢熺殑锛�
 			doOrderFanLiNew();// 鏂扮増杩斿埄
 			doOrderTiChengFanLi();// 澶勭悊璁㈠崟鎻愭垚杩斿埄
 			doWeiQuanOrder();// 澶勭悊缁存潈璁㈠崟
@@ -115,7 +130,9 @@
 			doThreeSaleUserCouponJob();// 澶勭悊閭�璇烽槦鍒�
 			doUserMoneyDebtJob();// 鍊哄姟鍋胯繕
 			initScheduler();// 鍚姩鍟嗗搧鏇存柊瀹氭椂浠诲姟
-			doUpdateGoodsJob(); // 鏇存柊鍟嗗搧闃熷垪
+			doUpdateGoodsJob(); // 鏇存柊鍟嗗搧闃熷垪			
+			doJDOrderJob();// 浜笢璁㈠崟澶勭悊
+			doPDDOrderJob();// 鎷煎澶氳鍗曞鐞�
 		}
 	}
 
@@ -178,6 +195,45 @@
 	 */
 	public void doTaoBaoOrders() {
 		// 鍚屾椂寮�鍚�3涓嚎绋嬪鐞�
+		for (int i = 0; i < 3; i++) {
+			executor.execute(new Runnable() {
+				@Override
+				public void run() {
+					while (true) {
+						try {
+							// 鍙�16涓鍗�
+							List<String> orderIds = CMQManager.getInstance().consumeTaoBaoOrderMsg(16);
+							Map<String, List<TaoBaoOrder>> map = new HashMap<>();
+							if (orderIds != null) {
+								for (String orderId : orderIds) {
+									if (NumberUtil.isNumeric(orderId.trim())) {
+										List<TaoBaoOrder> orderList = taoBaoOrderService
+												.getTaoBaoOrderByOrderId(orderId);
+										map.put(orderId, orderList);
+										LogHelper.orderInfo("寮�濮嬪鐞嗚鍗�:" + orderId);
+										orderProcessService.processOrder(map);
+										LogHelper.orderInfo("缁撴潫澶勭悊璁㈠崟:" + orderId);
+									}
+								}
+							}
+						} catch (Exception e) {
+							try {
+								LogHelper.errorDetailInfo(e);
+							} catch (Exception e1) {
+
+							}
+						}
+					}
+				}
+			});
+		}
+	}
+
+	/**
+	 * 鍒氬垰浜х敓鐨勮鍗�
+	 */
+	public void doTaoBaoNewOrders() {
+		// 鍚屾椂寮�鍚�3涓嚎绋嬪鐞�
 		for (int i = 0; i < 1; i++) {
 			executor.execute(new Runnable() {
 				@Override
@@ -185,16 +241,19 @@
 					while (true) {
 						try {
 							// 鍙�16涓鍗�
-							Map<String, List<TaoBaoOrder>> map = CMQManager.getInstance().consumeTaoBaoOrderMsg(16);
-							if (map != null) {
-								// 浠庡簱閲岄潰鏌ヨ
-								Iterator<String> its = map.keySet().iterator();
-								while (its.hasNext()) {
-									String orderId = its.next();
+							List<String> orderIds = CMQManager.getInstance().consumeTaoBaoNewOrderMsg(16);
+							Map<String, List<TaoBaoOrder>> map = new HashMap<>();
+							if (orderIds != null) {
+								for (String orderId : orderIds) {
 									List<TaoBaoOrder> orderList = taoBaoOrderService.getTaoBaoOrderByOrderId(orderId);
 									map.put(orderId, orderList);
+
+									LogHelper.orderInfo("鏂拌鍗�-寮�濮嬪鐞嗚鍗�:" + orderId);
+									long startTime = System.currentTimeMillis();
+									orderProcessService.processOrder(map);
+									LogHelper.orderInfo("鏂拌鍗�-缁撴潫澶勭悊璁㈠崟:" + orderId + "-  澶勭悊鏃堕棿:"
+											+ (System.currentTimeMillis() - startTime));
 								}
-								orderProcessService.processOrder(map);
 							}
 						} catch (Exception e) {
 							try {
@@ -369,7 +428,7 @@
 							}
 						}
 					} catch (Exception e) {
-
+						LogHelper.errorDetailInfo(e);
 					}
 				}
 			}
@@ -384,7 +443,6 @@
 		boutiqueAutoRuleService.startScheduler();
 	}
 
-	
 	/**
 	 * 鏇存柊绮鹃�夊簱鍟嗗搧
 	 */
@@ -513,4 +571,80 @@
 			}
 		});
 	}
+
+	public void doJDOrderJob() {
+		executor.execute(new Runnable() {
+			@Override
+			public void run() {
+				while (true) {
+					try {
+						Map<String, String> map = JDOrderCMQManager.getInstance().consumeJDOrder(16);
+						if (map != null) {
+							Iterator<String> its = map.keySet().iterator();
+							while (its.hasNext()) {
+								String key = its.next();
+								try {
+									String orderId = map.get(key);
+									if (!StringUtil.isNullOrEmpty(orderId)) {
+										JDOrder order = jdOrderService.selectDetailByOrderId(Long.parseLong(orderId));
+										orderProcessService.processJDOrder(order);
+									}
+									JDOrderCMQManager.getInstance().deleteJDOrder(key);
+								} catch (Exception e) {
+									try {
+										LogHelper.errorDetailInfo(e);
+									} catch (Exception e1) {
+										e1.printStackTrace();
+									}
+								}
+							}
+						}
+					} catch (Exception e) {
+						LogHelper.error("鎷煎澶氳鍗曞嚭閿�:" + e.getMessage());
+
+					}
+				}
+			}
+		});
+
+	}
+
+	public void doPDDOrderJob() {
+		executor.execute(new Runnable() {
+			@Override
+			public void run() {
+				while (true) {
+					try {
+						Map<String, String> map = PDDOrderCMQManager.getInstance().consumePDDOrder(16);
+						if (map != null) {
+							Iterator<String> its = map.keySet().iterator();
+							while (its.hasNext()) {
+								String key = its.next();
+								try {
+									String orderId = map.get(key);
+									if (!StringUtil.isNullOrEmpty(orderId)) {
+										List<PDDOrder> orderList = pddOrderService.selectByOrderSn(orderId);
+										if (orderList != null)
+											for (PDDOrder order : orderList)
+												orderProcessService.processPDDOrder(order);
+									}
+									PDDOrderCMQManager.getInstance().deletePDDOrder(key);
+								} catch (Exception e) {
+									try {
+										LogHelper.errorDetailInfo(e);
+									} catch (Exception e1) {
+										e1.printStackTrace();
+									}
+								}
+							}
+						}
+					} catch (Exception e) {
+						LogHelper.error("鎷煎澶氳鍗�:" + e.getMessage());
+
+					}
+				}
+			}
+		});
+
+	}
 }

--
Gitblit v1.8.0