From 9d8dfb01ff72c57abad3b80f3d65e81a5354db03 Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期五, 12 七月 2019 09:10:38 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java |   73 +++++++++++++++++++++++++++++++++++-
 1 files changed, 71 insertions(+), 2 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
index 2ca9257..396418a 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
@@ -31,6 +31,7 @@
 import com.yeshi.fanli.entity.order.CommonOrder;
 import com.yeshi.fanli.entity.order.CommonOrderGoods;
 import com.yeshi.fanli.entity.order.CommonOrderTradeIdMap;
+import com.yeshi.fanli.entity.order.HongBaoOrder;
 import com.yeshi.fanli.entity.pdd.PDDOrder;
 import com.yeshi.fanli.entity.system.SystemCoupon.CouponTypeEnum;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
@@ -45,12 +46,12 @@
 import com.yeshi.fanli.service.inter.goods.CommonGoodsService;
 import com.yeshi.fanli.service.inter.hongbao.HongBaoV2Service;
 import com.yeshi.fanli.service.inter.order.CommonOrderService;
+import com.yeshi.fanli.service.inter.order.HongBaoOrderService;
 import com.yeshi.fanli.service.inter.user.UserSystemCouponRecordService;
 import com.yeshi.fanli.service.inter.user.UserSystemCouponService;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.MoneyBigDecimalUtil;
 import com.yeshi.fanli.util.StringUtil;
-import com.yeshi.fanli.util.VersionUtil;
 import com.yeshi.fanli.util.factory.CommonOrderGoodsFactory;
 import com.yeshi.fanli.util.factory.goods.CommonOrderFactory;
 import com.yeshi.fanli.util.jd.JDApiUtil;
@@ -99,6 +100,9 @@
 
 	@Resource
 	private CommonGoodsService commonGoodsService;
+
+	@Resource
+	private HongBaoOrderService hongBaoOrderService;
 
 	// 濂栧姳璁㈠崟鍥剧墖
 	public final static String PIC_REWARD = "http://img.flqapp.com/resource/order/order_state_reward.png";
@@ -791,7 +795,8 @@
 			return commonOrder;
 		} else {// 淇敼
 			// 宸茬粡缁撶畻鎴栬�呭凡缁忓け鏁堢殑璁㈠崟涓嶅鐞�
-			if (oldCommonOrder.getState() == CommonOrder.STATE_JS || oldCommonOrder.getState() == CommonOrder.STATE_SX) {
+			if (oldCommonOrder.getState() == CommonOrder.STATE_JS
+					|| oldCommonOrder.getState() == CommonOrder.STATE_SX) {
 				return oldCommonOrder;
 			}
 			// 浜ゆ槗ID涓�鑷存墠淇敼
@@ -915,6 +920,14 @@
 		if (list.size() == 0) {
 			return list;
 		}
+		
+		List<String> listNo = new ArrayList<String>();
+		for (CommonOrderVO commonOrderVO : list) {
+			listNo.add(commonOrderVO.getOrderNo());
+		}
+		// 宸茬粡浣跨敤鍒歌鍗�
+		List<UserSystemCouponRecord> couponRecordList = userSystemCouponRecordService.getRecordByOrderNoList(listNo);
+
 
 		SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
 		for (CommonOrderVO order : list) {
@@ -992,6 +1005,28 @@
 					}
 				}
 			}
+			
+			// 濂栧姳璁㈠崟銆佸厤鍗� 浣跨敤璁板綍
+			if (couponRecordList != null && couponRecordList.size() > 0) {
+				for (UserSystemCouponRecord couponRecord : couponRecordList) {
+					// 璁㈠崟鍙峰尮閰�
+					if (order.getOrderNo().equals(couponRecord.getOrderNo())) {
+
+						String systemCouponType = couponRecord.getCouponType();
+						Integer couponState = couponRecord.getState();
+						if (CouponTypeEnum.freeCoupon.name().equals(systemCouponType)
+								|| CouponTypeEnum.welfareFreeCoupon.name().equals(systemCouponType)) {
+							 if (UserSystemCouponRecord.STATE_SUCCESS == couponState) {
+								// 鍏嶅崟鎴愬姛
+								 order.setOtherState(1);
+							} 
+						}
+
+						break;
+					}
+				}
+			}
+
 
 		}
 
@@ -1139,4 +1174,38 @@
 		return commonOrderMapper.selectBySourceTypeAndTradeId(sourceType, tradeId);
 	}
 
+	@Transactional
+	@Override
+	public void deleteErrorCommonOrder(Long coId) {
+		// 鏌ヨ鏄惁杩斿埄鍒拌处
+		HongBaoOrder hongBaoOrder = hongBaoOrderService.selectDetailByCommonOrderId(coId);
+		if (hongBaoOrder.getHongBaoV2().getState() == HongBaoV2.STATE_YILINGQU)
+			return;
+		List<HongBaoV2> hongBaoList = hongBaoV2Service.listChildrenById(hongBaoOrder.getHongBaoV2().getId());
+		boolean canDelete = true;
+		for (HongBaoV2 child : hongBaoList)
+			if (child.getState() == HongBaoV2.STATE_YILINGQU) {
+				canDelete = false;
+				break;
+			}
+		// 涓嶈兘鍒犻櫎
+		if (!canDelete)
+			return;
+
+		// 鍒犻櫎child
+		for (HongBaoV2 child : hongBaoList)
+			hongBaoV2Service.deleteByPrimaryKey(child.getId());
+		// 鍒犻櫎涓荤孩鍖�
+		hongBaoV2Service.deleteByPrimaryKey(hongBaoOrder.getHongBaoV2().getId());
+		// 鍒犻櫎hongbaoOrder
+		hongBaoOrderService.deleteByPrimaryKey(hongBaoOrder.getId());
+		// 鍒犻櫎CommonOrder
+		commonOrderMapper.deleteByPrimaryKey(hongBaoOrder.getCommonOrder().getId());
+	}
+
+	@Override
+	public List<CommonOrder> listBySourceTypeAndTradeId(int sourceType, String tradeId) {
+		return commonOrderMapper.listBySourceTypeAndTradeId(sourceType, tradeId);
+	}
+
 }

--
Gitblit v1.8.0