From e6cb7c27384f22b39ccee584028e23b56c30e9ee Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期四, 07 三月 2019 15:01:22 +0800
Subject: [PATCH] 券推送调用

---
 fanli/src/main/java/com/yeshi/fanli/job/UpdateOrderJob.java |  130 ++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 120 insertions(+), 10 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 c24cf96..da68078 100644
--- a/fanli/src/main/java/com/yeshi/fanli/job/UpdateOrderJob.java
+++ b/fanli/src/main/java/com/yeshi/fanli/job/UpdateOrderJob.java
@@ -10,6 +10,8 @@
 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.taobao.PidUser;
 import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
 import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
@@ -19,14 +21,18 @@
 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.OrderService;
 import com.yeshi.fanli.service.inter.order.PidOrderService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoOrderService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoWeiQuanOrderService;
 import com.yeshi.fanli.util.CMQManager;
 import com.yeshi.fanli.util.Constant;
+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;
@@ -69,6 +75,15 @@
 	@Resource
 	private DataMonitorService dataMonitorService;
 
+	@Resource
+	private RedisManager redisManager;
+
+	@Resource
+	private LostOrderService lostOrderService;
+
+	@Resource
+	private OrderService orderService;
+
 	private void updateOrder(long startTime, long endTime) {
 		List<TaoBaoUnionConfig> configList = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_ANDROID);
 		List<TaoBaoOrder> orderList = new ArrayList<>();
@@ -104,7 +119,7 @@
 
 	}
 
-	private void addOrder(List<TaoBaoOrder> orderList) {
+	private void addRelationAndSpecialOrder(List<TaoBaoOrder> orderList) {
 		try {
 			taoBaoOrderService.addTaoBaoOrderList(orderList);
 		} catch (Exception e) {
@@ -122,7 +137,96 @@
 				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();
+			}
+		}
+	}
+
+	private 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();
+			}
+		}
+
+		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) {
@@ -154,7 +258,7 @@
 	}
 
 	// 娣樺疂鎺ㄥ箍璁㈠崟 姣忛殧3鍒�13绉掓墽琛屼竴娆�
-	@Scheduled(cron = "13 0/3 0 24,25 * ? ")
+	@Scheduled(cron = "13 0/3 * * * ? ")
 	public void doJob6() {
 		if (!Constant.IS_TASK)
 			return;
@@ -198,7 +302,7 @@
 	public void doJob2() {
 		if (!Constant.IS_TASK)
 			return;
-		doJob4();
+		doTaoBaoWeiQuan();
 
 		orderProcessService.fanli();
 	}
@@ -214,7 +318,7 @@
 	// 缁存潈璁㈠崟澶勭悊-澶勭悊鏈�杩�60澶╃殑
 	// 30鍒嗛挓涓�娆�
 	@Scheduled(cron = "0 0/30 * * * ? ")
-	public void doJob4() {
+	public void doTaoBaoWeiQuan() {
 		if (!Constant.IS_TASK)
 			return;
 		List<TaoBaoUnionConfig> configList = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_ANDROID);
@@ -227,12 +331,18 @@
 		orderProcessService.weiQuanOrder(orderList);
 	}
 
-	// 澶勭悊鍒嗕韩鍟嗗搧鎵�浜х敓鐨勮鍗�
-	@Scheduled(cron = "0 0/2 * * * ? ")
-	public void doJob7() {
-		if (!Constant.IS_TASK)
-			return;
-		pidOrderService.doPidOrder();
+	// 澶勭悊鍒嗕韩鍟嗗搧鎵�浜х敓鐨勮鍗�(鍚庣画鐗堟湰搴熼櫎)
+	// @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() {
+		lostOrderService.processFail();
 	}
 
 }

--
Gitblit v1.8.0