From 4714dbbf7ead9e24f18a295890bdf5e75da991da Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 12 三月 2019 11:42:50 +0800
Subject: [PATCH] 取消 更新普通订单

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java |   86 +++++++++++++++++++++++++++++++++++-------
 1 files changed, 71 insertions(+), 15 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
index 6b7878e..79f7f95 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
@@ -36,6 +36,7 @@
 import com.yeshi.fanli.entity.bus.user.HongBao;
 import com.yeshi.fanli.entity.bus.user.HongBaoV2;
 import com.yeshi.fanli.entity.bus.user.Order;
+import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
 import com.yeshi.fanli.entity.money.UserMoneyDetail;
 import com.yeshi.fanli.entity.order.CommonOrder;
@@ -67,7 +68,9 @@
 import com.yeshi.fanli.service.inter.taobao.TaoBaoOrderService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoWeiQuanDrawBackService;
+import com.yeshi.fanli.service.inter.user.UserExtraTaoBaoInfoService;
 import com.yeshi.fanli.service.inter.user.UserNotificationService;
+import com.yeshi.fanli.service.inter.user.UserSystemCouponService;
 import com.yeshi.fanli.util.CMQManager;
 import com.yeshi.fanli.util.RedisManager;
 import com.yeshi.fanli.util.StringUtil;
@@ -162,6 +165,12 @@
 	@Resource
 	private UserMoneyMsgNotificationService userMoneyMsgNotificationService;
 
+	@Resource
+	private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService;
+
+	@Resource
+	private UserSystemCouponService userSystemCouponService;
+
 	@Override
 	public void processOrder(Map<String, List<TaoBaoOrder>> orders) {
 		List<TaoBaoUnionConfig> configList = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_ANDROID);
@@ -175,18 +184,25 @@
 			String orderId = its.next();
 			if (orders.get(orderId) != null && orders.get(orderId).size() > 0) {
 				List<TaoBaoOrder> list = orders.get(orderId);
-				String pid = String.format("mm_%s_%s_%s", configList.get(0).getAccountId(),
-						list.get(0).getSourceMediaId(), list.get(0).getAdPositionId());
-				PidUser pidUser = pidUserMapper.selectByPid(pid);
-				if (pidUser != null && pidUser.getType() == PidUser.TYPE_SHARE_GOODS) {// 鍟嗗搧鍒嗕韩璁㈠崟
-					// List<PidOrder> pidOrderList = new ArrayList<>();
-					// for (TaoBaoOrder order : list) {
-					// pidOrderList.add(TaoBaoOrderUtil.convertToPidOrder(order));
-					// }
-					// sharePidOrderMap.put(orderId, pidOrderList);
+
+				if (!StringUtil.isNullOrEmpty(list.get(0).getRelationId())) {
 					shareOrderMap.put(orderId, list);
-				} else {// 鏅�氳繑鍒╄鍗�
+				} else if (!StringUtil.isNullOrEmpty(list.get(0).getSpecialId())) {
 					fanliOrderMap.put(orderId, list);
+				} else {
+					String pid = String.format("mm_%s_%s_%s", configList.get(0).getAccountId(),
+							list.get(0).getSourceMediaId(), list.get(0).getAdPositionId());
+					PidUser pidUser = pidUserMapper.selectByPid(pid);
+					if (pidUser != null && pidUser.getType() == PidUser.TYPE_SHARE_GOODS) {// 鍟嗗搧鍒嗕韩璁㈠崟
+						// List<PidOrder> pidOrderList = new ArrayList<>();
+						// for (TaoBaoOrder order : list) {
+						// pidOrderList.add(TaoBaoOrderUtil.convertToPidOrder(order));
+						// }
+						// sharePidOrderMap.put(orderId, pidOrderList);
+						shareOrderMap.put(orderId, list);
+					} else {// 鏅�氳繑鍒╄鍗�
+						fanliOrderMap.put(orderId, list);
+					}
 				}
 			}
 		}
@@ -275,7 +291,16 @@
 			Iterator<String> its = orders.keySet().iterator();
 			while (its.hasNext()) {
 				String orderId = its.next();
-				processShareGoodsOrderNew(orderId, orders.get(orderId));
+				try {
+					processShareGoodsOrderNew(orderId, orders.get(orderId));
+				} catch (Exception e) {
+					try {
+						LogHelper.errorDetailInfo(e, "processShareGoodsOrderNew鍑洪敊", "璁㈠崟鍙�:" + orderId);
+					} catch (Exception e1) {
+						e1.printStackTrace();
+					}
+				}
+
 			}
 		}
 	}
@@ -461,7 +486,7 @@
 			// 灏嗚嚜宸辨坊鍔犲埌鐢ㄦ埛
 			Long uid = its.next();
 			BigDecimal money = userMoney.get(uid);
-			userInfoMapper.addHongBaoByUid(uid, money);
+			
 
 			AccountDetails accountDetails = AccountDetailsFactory.create("+" + money, AccountDetailsFactory.FANLI, null,
 					null, new UserInfo(uid));
@@ -476,7 +501,7 @@
 				userMoneyDetailMapper.insert(userMoneyDetail);
 			} catch (UserMoneyDetailException e1) {
 				try {
-					LogHelper.errorDetailInfo(e1);
+					LogHelper.errorDetailInfo(e1,"璁㈠崟鍙�:"+hongBaoOrder.getCommonOrder().getOrderNo(),"");
 				} catch (Exception e2) {
 					e2.printStackTrace();
 				}
@@ -486,6 +511,8 @@
 			for (HongBaoV2 v2 : userHongBao.get(uid)) {
 				accountDetailsHongBaoMapService.saveAccountDetailsHongBaoMap(v2.getId(), accountDetails.getId());
 			}
+			//澧炲姞鐢ㄦ埛璧勯噾
+			userInfoMapper.addHongBaoByUid(uid, money);
 
 			// 绔欏唴淇�+鎺ㄩ��
 			UserInfo user = userInfoMapper.selectByPrimaryKey(uid);
@@ -503,7 +530,12 @@
 			// 鏂扮増閫氱煡
 			userMoneyMsgNotificationService.fanliOrderReceived(uid, hongBaoOrder.getCommonOrder().getOrderNo(),
 					userGoodsCount.get(uid), money, user.getMyHongBao());
-
+		}
+		// 閫氱煡鍏嶅崟鍒拌处
+		try {
+			userSystemCouponService.updateStateByArrivalAccount(hongBaoOrder.getCommonOrder().getOrderNo());
+		} catch (Exception e) {
+			e.printStackTrace();
 		}
 
 		// 缁存潈鎵f锛�2018-08-05鍚庡紑濮嬪疄琛岋級
@@ -881,6 +913,25 @@
 					// 鍔犲叆鍒拌鍗曡〃
 					orderMapper.insertSelective(order);
 					oldOrder = order;
+				} else {
+					UserExtraTaoBaoInfo info = userExtraTaoBaoInfoService
+							.getBySpecialId(orderList.get(0).getSpecialId());
+					if (info != null && info.getUser() != null) {
+						uid = info.getUser().getId();
+						// 鎻掑叆鍒癘rder涓�
+						// 娣诲姞鍒拌鍗曚腑鍘�
+						Order order = new Order();
+						order.setBeizhu("PID杩斿埄璁㈠崟");
+						order.setCreatetime(System.currentTimeMillis());
+						order.setOrderId(orderId);
+						order.setOrderType(1);
+						order.setState(Order.STATE_YIZHIFU);
+						order.setUserInfo(new UserInfo(uid));
+						order.setVersion(2);
+						// 鍔犲叆鍒拌鍗曡〃
+						orderMapper.insertSelective(order);
+						oldOrder = order;
+					}
 				}
 			} else {
 				uid = oldOrder.getUserInfo().getId();
@@ -922,7 +973,7 @@
 				hongBaoV2Service.addHongBao(commonOrderList, HongBaoV2.TYPE_ZIGOU);
 			} catch (CommonOrderException e) {
 				try {
-					LogHelper.errorDetailInfo(e, null, "璁㈠崟鍙�:" + orderId);
+					LogHelper.errorDetailInfo(e, "addTaoBaoOrder鎴朼ddHongBao鍑洪敊", "璁㈠崟鍙�:" + orderId);
 				} catch (Exception e1) {
 					e1.printStackTrace();
 				}
@@ -941,6 +992,11 @@
 			PidUser pidUser = pidUserMapper.selectByPid(pid);
 			if (pidUser != null)
 				uid = pidUser.getUid();
+			else {
+				UserExtraTaoBaoInfo info = userExtraTaoBaoInfoService.getByRelationId(orderList.get(0).getRelationId());
+				if (info != null && info.getUser() != null)
+					uid = info.getUser().getId();
+			}
 
 			// 灏氭湭鎵惧埌鍜孭ID瀵瑰簲鐨勭敤鎴�
 			if (uid == null)

--
Gitblit v1.8.0