From 47f034b4239ac0865560953e9f6edafa487b0fb9 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期三, 18 三月 2020 09:32:36 +0800
Subject: [PATCH] 会员等级 + 订单列表新增内容

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java |  132 +++++++++++++++++++++++++++++++++-----------
 1 files changed, 99 insertions(+), 33 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 1d1cd7c..319b318 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
@@ -74,6 +74,7 @@
 import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
 import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
+import com.yeshi.fanli.util.user.UserLevelUtil;
 import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
 import com.yeshi.fanli.vo.order.CommonOrderGoodsVO;
 import com.yeshi.fanli.vo.order.CommonOrderVO;
@@ -211,7 +212,11 @@
 		}
 
 		// 鏁版嵁鍔犲伐閲嶆柊缁勭粐
-		orderVOFactory(acceptData, listOrder, listGoods, uid);
+		if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
+			orderVOFactoryNew(acceptData, listOrder, listGoods, uid);
+		} else {
+			orderVOFactory(acceptData, listOrder, listGoods, uid);
+		}
 
 		return listOrder;
 	}
@@ -268,21 +273,38 @@
 		}
 		Map<Long, Boolean> vipUserMap = userVIPInfoService.listByUids(needSelectVIPUidList);
 
-		// 璁剧疆鏄惁涓簐ip璁㈠崟
-		for (CommonOrderVO order : listOrder) {
-			if (order.getHongBaoType() == HongBaoV2.TYPE_YIJI || order.getHongBaoType() == HongBaoV2.TYPE_ERJI
-					|| order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI
-					|| order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI) {
-				if (vipUserMap.get(Long.parseLong(order.getUserId())) != null
-						&& vipUserMap.get(Long.parseLong(order.getUserId())) == true)
-					order.setVipOrder(true);
-				else
+		if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
+			for (CommonOrderVO order : listOrder) {
+				
+				if (order.getHongBaoType() == HongBaoV2.TYPE_YIJI || order.getHongBaoType() == HongBaoV2.TYPE_ERJI
+						|| order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI
+						|| order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI) {
+					Integer urank = order.getUrank();
+					if (urank != null) {
+						String levelName = UserLevelUtil.getLevelName(urank);
+						if (!StringUtil.isNullOrEmpty(levelName)) {
+							order.setOrderDesc(levelName);
+						}
+					}
+				}
+			}
+		} else {
+			// 璁剧疆鏄惁涓簐ip璁㈠崟
+			for (CommonOrderVO order : listOrder) {
+				if (order.getHongBaoType() == HongBaoV2.TYPE_YIJI || order.getHongBaoType() == HongBaoV2.TYPE_ERJI
+						|| order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI
+						|| order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI) {
+					if (vipUserMap.get(Long.parseLong(order.getUserId())) != null
+							&& vipUserMap.get(Long.parseLong(order.getUserId())) == true)
+						order.setVipOrder(true);
+					else
+						order.setVipOrder(false);
+				} else
 					order.setVipOrder(false);
-			} else
-				order.setVipOrder(false);
 
-			if (order.isVipOrder())
-				order.setVipOrderDesc("璁㈠崟鏉ユ簮锛氱敱瓒呯骇浼氬憳鐨勭矇涓濅骇鐢�");
+				if (order.isVipOrder())
+					order.setVipOrderDesc("璁㈠崟鏉ユ簮锛氱敱瓒呯骇浼氬憳鐨勭矇涓濅骇鐢�");
+			}
 		}
 
 		SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm");
@@ -1694,7 +1716,7 @@
 	}
 
 	@Override
-	public List<CommonOrderVO> searchOrderByUid(int page, int size, Long uid, List<ESOrder> list) throws Exception {
+	public List<CommonOrderVO> searchOrderByUid(AcceptData acceptData, int page, int size, Long uid, List<ESOrder> list) throws Exception {
 		List<CommonOrderVO> listVO = commonOrderMapper.searchOrderByUid((page - 1) * size, size, uid, list);
 
 		// 璁㈠崟淇℃伅涓虹┖
@@ -1711,7 +1733,7 @@
 		}
 
 		// 鏁版嵁鍔犲伐閲嶆柊缁勭粐
-		orderVOFactoryNew(listVO, listGoods, uid);
+		orderVOFactoryNew(acceptData, listVO, listGoods, uid);
 
 		return listVO;
 	}
@@ -1724,7 +1746,7 @@
 	 * @param listGoods
 	 * @param uid
 	 */
-	private void orderVOFactoryNew(List<CommonOrderVO> listOrder, List<CommonOrderVO> listGoods, Long uid)
+	private void orderVOFactoryNew(AcceptData acceptData, List<CommonOrderVO> listOrder, List<CommonOrderVO> listGoods, Long uid)
 			throws Exception {
 		List<String> listTB = new ArrayList<String>();
 		List<String> listJD = new ArrayList<String>();
@@ -1768,22 +1790,40 @@
 		}
 		Map<Long, Boolean> vipUserMap = userVIPInfoService.listByUids(needSelectVIPUidList);
 
-		// 璁剧疆鏄惁涓簐ip璁㈠崟
-		for (CommonOrderVO order : listOrder) {
-			if (order.getHongBaoType() == HongBaoV2.TYPE_YIJI || order.getHongBaoType() == HongBaoV2.TYPE_ERJI
-					|| order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI
-					|| order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI) {
-				if (vipUserMap.get(Long.parseLong(order.getUserId())) != null
-						&& vipUserMap.get(Long.parseLong(order.getUserId())) == true)
-					order.setVipOrder(true);
-				else
+		if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
+			for (CommonOrderVO order : listOrder) {
+				if (order.getHongBaoType() == HongBaoV2.TYPE_YIJI || order.getHongBaoType() == HongBaoV2.TYPE_ERJI
+						|| order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI
+						|| order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI) {
+					Integer urank = order.getUrank();
+					if (urank != null) {
+						String levelName = UserLevelUtil.getLevelName(urank);
+						if (!StringUtil.isNullOrEmpty(levelName)) {
+							order.setOrderDesc(levelName);
+						}
+					}
+				}
+				
+			}
+		} else {
+			// 璁剧疆鏄惁涓簐ip璁㈠崟
+			for (CommonOrderVO order : listOrder) {
+				if (order.getHongBaoType() == HongBaoV2.TYPE_YIJI || order.getHongBaoType() == HongBaoV2.TYPE_ERJI
+						|| order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI
+						|| order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI) {
+					if (vipUserMap.get(Long.parseLong(order.getUserId())) != null
+							&& vipUserMap.get(Long.parseLong(order.getUserId())) == true)
+						order.setVipOrder(true);
+					else
+						order.setVipOrder(false);
+				} else
 					order.setVipOrder(false);
-			} else
-				order.setVipOrder(false);
 
-			if (order.isVipOrder())
-				order.setVipOrderDesc("璁㈠崟鏉ユ簮锛氱敱瓒呯骇浼氬憳鐨勭矇涓濅骇鐢�");
+				if (order.isVipOrder())
+					order.setVipOrderDesc("璁㈠崟鏉ユ簮锛氱敱瓒呯骇浼氬憳鐨勭矇涓濅骇鐢�");
+			}
 		}
+	
 
 		SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm");
 		SimpleDateFormat formatday = new SimpleDateFormat("yyyy.MM.dd");
@@ -1794,11 +1834,17 @@
 		boolean vip = userVIPInfoService.isVIP(uid);
 		// 鏄惁瀛樺湪濂栧姳鍒�
 		boolean hasRewardCoupon = userSystemCouponService.getValidRebateCoupon(uid);
-
+		
+		long nowTime = java.lang.System.currentTimeMillis();
 		for (CommonOrderVO order : listOrder) {
 			String orderNo = order.getOrderNo();
 			Integer sourceType = order.getSourceType();
+			Integer hongBaoType = order.getHongBaoType();
+			
 
+			BigDecimal totalPay = new BigDecimal(0);
+			BigDecimal totalActual = new BigDecimal(0);
+			
 			// 鍟嗗搧淇℃伅缁勫悎
 			for (CommonOrderVO commonOrder : listGoods) {
 				CommonOrderGoods goods = commonOrder.getCommonOrderGoods();
@@ -1827,8 +1873,19 @@
 						totalSettlement = commonOrder.getTotalPayment();
 					}
 					commonGoodsVO.setActualPay("浠樻閲戦锛毬�" + totalSettlement);
+					
+					totalPay = MoneyBigDecimalUtil.add(totalPay, totalSettlement);
+					
 
-					Integer hongBaoType = order.getHongBaoType();
+					// 鍟嗗搧浠锋牸
+					BigDecimal actualPrice = commonGoodsVO.getActualPrice();
+					if (actualPrice != null) {
+						Integer totalCount = commonOrder.getTotalCount();
+						totalActual = MoneyBigDecimalUtil.add(totalActual, 
+								MoneyBigDecimalUtil.mul(new BigDecimal(totalCount), actualPrice));
+					}
+					
+					
 					// 閭�璇疯鍗曚俊鎭繚鎶�
 					if (HongBaoV2.TYPE_YAOQING == hongBaoType || HongBaoV2.TYPE_YIJI == hongBaoType
 							|| HongBaoV2.TYPE_ERJI == hongBaoType || HongBaoV2.TYPE_SHARE_YIJI == hongBaoType
@@ -1862,6 +1919,16 @@
 				order.setObtainTime(thirdCreateTime.getTime());
 			}
 
+			// 2.1鍒嗕韩璁㈠崟鍜岃繑鍒╄鍗曞疄浠橀噾棰濆ぇ浜庢垨鑰呭皬浜庡埜鍚庝环鐨勬椂鍊欙紝璁㈠崟椤甸潰 鍙樉绀�3澶� 涓嬪崟鏃堕棿寮�濮�
+			if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
+				if (HongBaoV2.TYPE_SHARE_GOODS == hongBaoType 
+						&& DateUtil.plusDayDate(3, thirdCreateTime).getTime() > nowTime
+						&& totalPay.compareTo(totalActual) != 0) {
+					order.setFanliDesc("鐢卞疄浠橀噾棰�*杩斿埄姣旇绠楄�屾潵");
+					order.setFanliDescLink(configService.get(ConfigKeyEnum.shareOrderRebateDescLink.getKey()));
+				}
+			}
+						
 			Date settleTime = order.getSettleTime();
 			if (settleTime != null) {
 				order.setReceiveTime("鏀惰揣鏃堕棿锛�" + format.format(settleTime));
@@ -1936,7 +2003,6 @@
 			// 璁㈠崟鏍囪瘑
 			List<String> signList = new ArrayList<String>();
 			/* 璁㈠崟杩斿埄绫诲瀷 杞崲 */
-			Integer hongBaoType = order.getHongBaoType();
 			if (HongBaoV2.TYPE_ZIGOU == hongBaoType || 2 == hongBaoType) {
 				// 鑷喘
 				hongbaoInfo = "杩斿埄";

--
Gitblit v1.8.0