From e7435f02fcbe040e32dfd21c308957eb2de2837d Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期一, 13 四月 2020 14:18:34 +0800
Subject: [PATCH] 订单详情

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java |   71 +++++++++++++++++++++++++----------
 1 files changed, 50 insertions(+), 21 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java
index 0dc74ca..086310d 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java
@@ -58,6 +58,7 @@
 import com.yeshi.fanli.util.VersionUtil;
 import com.yeshi.fanli.util.account.UserUtil;
 import com.yeshi.fanli.util.user.UserLevelUtil;
+import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
 import com.yeshi.fanli.vo.order.CommonOrderVO;
 import com.yeshi.fanli.vo.order.CurrentBonusVO;
 import com.yeshi.fanli.vo.order.GoodsRebateVO;
@@ -727,7 +728,7 @@
 				BigDecimal weiQuanMoney = commonOrderService.getWeiQuanMoney(listWQ, sourceType, uid);
 				
 				orderRebateVO.setWq(true);
-				orderRebateVO.setWqMoney("-楼"+ weiQuanMoney.setScale(2, BigDecimal.ROUND_DOWN));
+				orderRebateVO.setWqMoney("楼"+ weiQuanMoney.setScale(2, BigDecimal.ROUND_DOWN));
 				if (hongBao.compareTo(weiQuanMoney) > 0) {
 					orderRebateVO.setWqDesc("閮ㄥ垎鍞悗閫�鍥�");
 				} else {
@@ -744,8 +745,7 @@
 		UserLevelEnum userLevel = UserLevelUtil.getByOrderRank(hongBaoV2.getUrank());
 		if (userLevel == null)
 			userLevel = UserLevelEnum.daRen;
-		
-		UserLevelEnum upperLevel = UserLevelUtil.getNextLevel(userLevel);
+		UserLevelEnum upperLevel =  UserLevelEnum.superVIP;
 				
 		BigDecimal upperTotalMoney = new BigDecimal(0);
 		List<GoodsRebateVO> voList = new ArrayList<>();
@@ -773,14 +773,14 @@
 			
 			BigDecimal commission = orderHongBaoMoneyComputeService.computeBaseFanliMoney(commonOrder);
 			if (type == 3) { // 濂栭噾
-				goodsVO.setBonus(hongBaoOrder.getHongBaoV2().getMoney() +"");
+				goodsVO.setBonus("楼" + hongBaoOrder.getHongBaoV2().getMoney() +"");
 			} else { // 浣i噾
 				goodsVO.setCommision("楼" +commission);
 			}
 			
 			// 骞冲彴琛ヨ创
 			BigDecimal vipFanli = hongBaoOrder.getHongBaoV2().getMoney();
-			goodsVO.setSubsidy(vipFanli.subtract(commission).setScale(2) + "");
+			goodsVO.setSubsidy("楼" + vipFanli.subtract(commission).setScale(2));
 			//  杈句汉琛ヨ创
 			if (userLevel != UserLevelEnum.daRen) {
 				BigDecimal darenFanli = orderHongBaoMoneyComputeService.computeFanliMoney(commonOrder, UserLevelEnum.daRen);
@@ -788,10 +788,8 @@
 			}
 			
 			voList.add(goodsVO);
-			if (upperLevel != null) {
-				upperTotalMoney = upperTotalMoney
-						.add(orderHongBaoMoneyComputeService.computeFanliMoney(commonOrder, upperLevel));
-			}
+		
+			upperTotalMoney = upperTotalMoney.add(orderHongBaoMoneyComputeService.computeFanliMoney(commonOrder, upperLevel));
 		}
 			
 		// 鍥㈤槦琛ヨ创
@@ -821,7 +819,7 @@
 				orderRebateVO.setOriginSubsidy("楼" + lowerSubsidy.setScale(2));
 			}
 			orderRebateVO.setSubsidyDesc("鍥㈤槦琛ヨ创");
-			orderRebateVO.setSubsidy(teamSubsidy.setScale(2) +"");
+			orderRebateVO.setSubsidy("楼" + teamSubsidy.setScale(2) +"");
 		}
 		
 		orderRebateVO.setType(type);
@@ -835,17 +833,48 @@
 			orderRebateVO.setJumpLink(upperLevel.getDetailLink());
 		}
 
-		// 濂栧姳鍒镐娇鐢�
-		Date accountTime = hongBaoCountVO.getAccountTime();
-		if (accountTime != null) {
-			boolean vip = userInviteService.verifyVIP(uid);
-			Date endDay = DateUtil.plusDayDate(Constant.COUPON_REWARD_LIMIT_DAY, accountTime);
-			long currentTime = java.lang.System.currentTimeMillis();
-			if (endDay.getTime() > currentTime && !vip) {
-				UserSystemCouponRecord couponRecord = userSystemCouponRecordService.getRecordByOrderNo(orderNo, null);
-				if (couponRecord == null 
-						|| (couponRecord.getCouponType() == CouponTypeEnum.rebatePercentCoupon.name() && couponRecord.getState() != UserSystemCouponRecord.STATE_SUCCESS)) {
-					orderRebateVO.setCoupon(true);
+		
+		boolean rewardSuccess = false;
+		List<String> listNo = new ArrayList<String>();
+		listNo.add(orderNo);
+		List<UserSystemCouponRecord> useRecord = userSystemCouponRecordService.getRecordByOrderNoList(sourceType, listNo);
+		if (useRecord != null && useRecord.size() > 0) {
+			for (UserSystemCouponRecord couponRecord : useRecord) {
+				int goodSource = couponRecord.getGoodSource();
+				if (goodSource == 0)
+					goodSource = 1;
+
+				Integer state = couponRecord.getState();
+				String systemCouponType = couponRecord.getCouponType();
+				if (CouponTypeEnum.rebatePercentCoupon.name().equals(systemCouponType)
+						&& UserSystemCouponRecord.STATE_SUCCESS == state) {
+					rewardSuccess = true;
+					break;
+				}
+			
+			}
+		}
+
+		
+		if (rewardSuccess) {  // 宸蹭娇鐢ㄥ鍔卞埜
+			Map<String, Object> jumpLink = new HashMap<String, Object>();
+			jumpLink.put("orderNo", orderNo);
+			jumpLink.put("goodsType", sourceType + "");
+			orderRebateVO.setCouponSuccess(true);
+			orderRebateVO.setCouponParams(jumpLink.toString());
+			orderRebateVO.setCouponJumpDetail(jumpDetailV2Service.getByTypeCache("rewardCouponDetail"));
+		} else { // 鍙娇鐢ㄥ鍔卞埜
+			Date accountTime = hongBaoCountVO.getAccountTime();
+			if (accountTime != null) { 
+				boolean vip = userInviteService.verifyVIP(uid);
+				Date endDay = DateUtil.plusDayDate(Constant.COUPON_REWARD_LIMIT_DAY, accountTime);
+				long currentTime = java.lang.System.currentTimeMillis();
+				if (endDay.getTime() > currentTime && !vip) {
+					UserSystemCouponRecord couponRecord = userSystemCouponRecordService.getRecordByOrderNo(orderNo, null);
+					if (couponRecord == null 
+							|| (couponRecord.getCouponType() == CouponTypeEnum.rebatePercentCoupon.name() && couponRecord.getState() != UserSystemCouponRecord.STATE_SUCCESS)) {
+						orderRebateVO.setCoupon(true);
+					}
 				}
 			}
 		}

--
Gitblit v1.8.0