From b4b421ba6b85b586f9b8171c876f716bab9840d0 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 22 七月 2019 14:21:21 +0800
Subject: [PATCH] 增加新订单处理队列

---
 fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 52 insertions(+), 8 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 a5166f0..11e7042 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;
 
@@ -108,6 +110,7 @@
 		if (Constant.IS_TASK) {
 			doExtractResult();// 澶勭悊鎻愮幇缁撴灉
 			doTaoBaoOrders();// 澶勭悊娣樺疂璁㈠崟
+			doTaoBaoNewOrders();// 澶勭悊娣樺疂璁㈠崟锛堝垰鍒氫骇鐢熺殑锛�
 			doOrderFanLiNew();// 鏂扮増杩斿埄
 			doOrderTiChengFanLi();// 澶勭悊璁㈠崟鎻愭垚杩斿埄
 			doWeiQuanOrder();// 澶勭悊缁存潈璁㈠崟
@@ -185,16 +188,58 @@
 					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().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
+				public void run() {
+					while (true) {
+						try {
+							// 鍙�16涓鍗�
+							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 {
@@ -384,7 +429,6 @@
 		boutiqueAutoRuleService.startScheduler();
 	}
 
-	
 	/**
 	 * 鏇存柊绮鹃�夊簱鍟嗗搧
 	 */

--
Gitblit v1.8.0