From a3e7322a0aa6b5b13a84bc76923d0c6b68b13276 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 13 十二月 2019 18:27:12 +0800
Subject: [PATCH] 订单修改

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java |   86 ++++++++++++++++++++++++++++++++++---------
 1 files changed, 68 insertions(+), 18 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 77dce3c..951c95d 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
@@ -24,6 +24,8 @@
 import com.aliyun.openservices.ons.api.transaction.TransactionProducer;
 import com.aliyun.openservices.ons.api.transaction.TransactionStatus;
 import com.google.gson.Gson;
+import com.opensymphony.xwork2.util.Element;
+import com.sun.org.apache.xml.internal.serializer.ElemDesc;
 import com.yeshi.fanli.dao.mybatis.HongBaoV2Mapper;
 import com.yeshi.fanli.dao.mybatis.UserInfoMapper;
 import com.yeshi.fanli.dao.mybatis.money.UserMoneyDetailMapper;
@@ -51,6 +53,7 @@
 import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
 import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanDrawBack;
 import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder;
+import com.yeshi.fanli.exception.elme.ElmeOrderException;
 import com.yeshi.fanli.exception.money.OrderMoneySettleException;
 import com.yeshi.fanli.exception.money.UserMoneyDetailException;
 import com.yeshi.fanli.exception.order.CommonOrderException;
@@ -202,6 +205,7 @@
 		Iterator<String> its = orders.keySet().iterator();
 		Map<String, List<TaoBaoOrder>> fanliOrderMap = new HashMap<>();
 		Map<String, List<TaoBaoOrder>> shareOrderMap = new HashMap<>();
+		Map<String, List<TaoBaoOrder>> elmeOrderMap = new HashMap<>();
 		while (its.hasNext()) {
 			String orderId = its.next();
 
@@ -209,26 +213,32 @@
 				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());
+				if ("楗夸簡涔�".equalsIgnoreCase(list.get(0).getOrderType())) {
+					// 澶勭悊楗夸簡涔堣鍗�
+					elmeOrderMap.put(orderId, list);
+				}
 
-				if (!StringUtil.isNullOrEmpty(list.get(0).getSpecialId())
-						|| pid.equalsIgnoreCase(TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID)) {// 璁剧疆娓犻亾ID褰撳仛浼氬憳杩愯惀ID鐨勪綅缃甀D
-					fanliOrderMap.put(orderId, list);
-				} else if (!StringUtil.isNullOrEmpty(list.get(0).getRelationId())) {
-					shareOrderMap.put(orderId, list);
-				} else {
-					// 閫氳繃绾㈠寘鏌ヨ
-					CommonOrder commonOrder = commonOrderService
-							.selectBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO, list.get(0).getTradeId());
+				else {
+					if (!StringUtil.isNullOrEmpty(list.get(0).getSpecialId())
+							|| pid.equalsIgnoreCase(TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID)) {// 璁剧疆娓犻亾ID褰撳仛浼氬憳杩愯惀ID鐨勪綅缃甀D
+						fanliOrderMap.put(orderId, list);
+					} else if (!StringUtil.isNullOrEmpty(list.get(0).getRelationId())) {
+						shareOrderMap.put(orderId, list);
+					} else {
+						// 閫氳繃绾㈠寘鏌ヨ
+						CommonOrder commonOrder = commonOrderService
+								.selectBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO, list.get(0).getTradeId());
 
-					if (commonOrder != null) {
-						HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByCommonOrderId(commonOrder.getId());
-						if (hongBaoOrder != null && hongBaoOrder.getHongBaoV2() != null
-								&& hongBaoOrder.getHongBaoV2().getType() == HongBaoV2.TYPE_SHARE_GOODS) {
-							shareOrderMap.put(orderId, list);
-							continue;
+						if (commonOrder != null) {
+							HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByCommonOrderId(commonOrder.getId());
+							if (hongBaoOrder != null && hongBaoOrder.getHongBaoV2() != null
+									&& hongBaoOrder.getHongBaoV2().getType() == HongBaoV2.TYPE_SHARE_GOODS) {
+								shareOrderMap.put(orderId, list);
+								continue;
+							}
 						}
+						fanliOrderMap.put(orderId, list);
 					}
-					fanliOrderMap.put(orderId, list);
 				}
 			}
 		}
@@ -237,6 +247,46 @@
 		processShopingFanliOrder(fanliOrderMap);
 		// 澶勭悊鍒嗕韩璧氳鍗�
 		processShareGoodsOrder(shareOrderMap);
+		// 澶勭悊楗夸簡涔堣鍗�
+		processElemeOrder(elmeOrderMap);
+	}
+
+	private ElmeOrder createElmeOrder(TaoBaoOrder taoBaoOrder) {
+		ElmeOrder elmeOrder = new ElmeOrder();
+		elmeOrder.setChannelId("");
+		elmeOrder.setCreateTime(new Date());
+		elmeOrder
+				.setOrderDate(new Date(TimeUtil.convertToTimeTemp(taoBaoOrder.getCreateTime(), "yyyy-MM-dd HH:mm:ss")));
+		elmeOrder.setOrderId(taoBaoOrder.getOrderId());
+		elmeOrder.setPayMoney(taoBaoOrder.getPayment());
+		elmeOrder.setRid(taoBaoOrder.getRelationId());
+		if (taoBaoOrder.getOrderState().equalsIgnoreCase("璁㈠崟缁撶畻"))
+			elmeOrder.setIsSettle(true);
+		else
+			elmeOrder.setIsSettle(false);
+		elmeOrder.setTrackPid(
+				String.format("mm_124933865_%s_%s", taoBaoOrder.getSourceMediaId(), taoBaoOrder.getAdPositionId()));
+		if (!StringUtil.isNullOrEmpty(taoBaoOrder.getRelationId())) {
+			UserExtraTaoBaoInfo extraInfo = userExtraTaoBaoInfoService.getByRelationId(taoBaoOrder.getRelationId());
+			if (extraInfo != null)
+				elmeOrder.setUid(extraInfo.getUser().getId());
+		}
+		return elmeOrder;
+	}
+
+	private void processElemeOrder(Map<String, List<TaoBaoOrder>> orders) {
+		for (Iterator<String> its = orders.keySet().iterator(); its.hasNext();) {
+			String orderId = its.next();
+			List<TaoBaoOrder> orderList = orders.get(orderId);
+			for (TaoBaoOrder taoBaoOrder : orderList) {
+				ElmeOrder elmeOrder = createElmeOrder(taoBaoOrder);
+				try {
+					elmeOrderService.addOrder(elmeOrder);
+				} catch (ElmeOrderException e) {
+					e.printStackTrace();
+				}
+			}
+		}
 	}
 
 	@Override
@@ -525,7 +575,7 @@
 	}
 
 	@Override
-	@Transactional(rollbackFor=Exception.class)
+	@Transactional(rollbackFor = Exception.class)
 	public void fanliInvaiteAndShare(Long uid) throws TaoBaoWeiQuanException {
 		// 閭�璇疯禋鍒拌处
 		try {
@@ -533,7 +583,7 @@
 		} catch (OrderMoneySettleException e) {
 			e.printStackTrace();
 		}
-		if(1>0)
+		if (1 > 0)
 			return;
 		//
 		try {

--
Gitblit v1.8.0