From 35c25585cf6fea9e29574a75a03c57381cbe19e1 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 05 八月 2019 16:35:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java |   55 +++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 45 insertions(+), 10 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 8247182..1011498 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
@@ -1,6 +1,7 @@
 package com.yeshi.fanli.service.impl.order;
 
 import java.math.BigDecimal;
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
@@ -52,6 +53,8 @@
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.MoneyBigDecimalUtil;
 import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.TimeUtil;
+import com.yeshi.fanli.util.VersionUtil;
 import com.yeshi.fanli.util.account.UserUtil;
 import com.yeshi.fanli.util.factory.CommonOrderGoodsFactory;
 import com.yeshi.fanli.util.factory.goods.CommonOrderFactory;
@@ -64,6 +67,7 @@
 import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
 import com.yeshi.fanli.vo.order.CommonOrderGoodsVO;
 import com.yeshi.fanli.vo.order.CommonOrderVO;
+import com.yeshi.fanli.vo.order.WeiQuanInfo;
 
 import net.sf.json.JSONObject;
 
@@ -326,6 +330,14 @@
 
 		// 鏄惁瀛樺湪濂栧姳鍒�
 		boolean hasRewardCoupon = userSystemCouponService.hasRewardCoupon(uid);
+		
+		// 2019.8.1寮�濮嬭繑鍥炵淮鏉冧俊鎭�
+		Date august = null;
+		try {
+			august = TimeUtil.parse("2019-08-01");
+		} catch (ParseException e) {
+			e.printStackTrace();
+		}
 
 		/* 缁勭粐璁㈠崟鐘舵�� 绛変俊鎭� */
 		for (CommonOrderVO order : listOrder) {
@@ -374,6 +386,11 @@
 				}
 			}
 
+			BigDecimal hongBao = order.getHongBao();
+			if (hongBao == null) {
+				hongBao = new BigDecimal(0);
+			}
+			
 			if (CommonOrder.STATE_FK == orderState) {
 				orderStateContent = "宸蹭粯娆�";
 			} else if (CommonOrder.STATE_JS == orderState) {
@@ -390,7 +407,7 @@
 							.selectListByOrderIdAndState(order.getOrderNo(), "缁存潈鎴愬姛");
 
 					boolean isPart = false;// 榛樿澶辨晥
-
+					BigDecimal weiQuanMoney = new BigDecimal(0);
 					if (listWQ != null && listWQ.size() > 0) {
 						BigDecimal fanTotalMoney = new BigDecimal(0);
 						for (TaoBaoWeiQuanOrder weiQuanOrder : listWQ) {
@@ -398,17 +415,38 @@
 							if (fanMoney != null) {
 								fanTotalMoney = MoneyBigDecimalUtil.add(fanTotalMoney, fanMoney);
 							}
+							weiQuanMoney = MoneyBigDecimalUtil.add(weiQuanOrder.getMoney(), weiQuanMoney);
 						}
 
-						if (fanTotalMoney.compareTo(order.getHongBao()) < 0) {
+						if (fanTotalMoney.compareTo(hongBao) < 0) {
 							isPart = true;
 						}
 					}
-
-					if (isPart) {
-						hongBaoState = HongBaoV2.STATE_BUFENSHIXIAO; // 閮ㄥ垎澶辨晥
+					
+					if (!VersionUtil.greaterThan_1_6_0(acceptData.getPlatform(), acceptData.getVersion())) {
+						if (isPart) {
+							hongBaoState = HongBaoV2.STATE_BUFENSHIXIAO; // 閮ㄥ垎澶辨晥
+						} else {
+							hongBaoState = HongBaoV2.STATE_SHIXIAO; // 鍏ㄩ儴澶辨晥
+						}
 					} else {
-						hongBaoState = HongBaoV2.STATE_SHIXIAO; // 鍏ㄩ儴澶辨晥
+						// 2019.8.1 杩斿洖缁存潈淇℃伅
+						if (settleTime != null && august != null && settleTime.getTime() > august.getTime()) {
+							orderStateContent = "缁存潈鎴愬姛";
+							WeiQuanInfo weiQuanInfo = new WeiQuanInfo();
+							weiQuanInfo.setOldHongBao("楼" + hongBao.setScale(2, BigDecimal.ROUND_DOWN).toString());
+							if (isPart) {
+								// 缁存潈澶辨晥閲戦=缁存潈鐨勯噾棰�*鑾峰緱鐨勭孩鍖�/缁撶畻閲戦
+								BigDecimal settlement = order.getSettlement();
+								BigDecimal wqHongbao = MoneyBigDecimalUtil.div(MoneyBigDecimalUtil.mul(hongBao, settlement), settlement);
+								weiQuanInfo.setWqHongBao("缁存潈锛�-楼" + wqHongbao.setScale(2, BigDecimal.ROUND_DOWN).toString());
+								hongBao = MoneyBigDecimalUtil.sub(hongBao, wqHongbao);
+							} else {
+								hongBao = new BigDecimal(0);
+								weiQuanInfo.setWqHongBao("缁存潈锛�-楼" + hongBao.setScale(2, BigDecimal.ROUND_DOWN).toString());
+							}
+							order.setWeiQuanInfo(weiQuanInfo);
+						}
 					}
 				}
 			}
@@ -495,10 +533,7 @@
 
 			hongbaoInfo = hongBaoState_Str + hongbaoInfo;
 
-			BigDecimal hongBao = order.getHongBao();
-			if (hongBao == null) {
-				hongBao = new BigDecimal(0);
-			}
+			
 			Map<String, String> hongBaoMap = new HashMap<String, String>();
 			hongBaoMap.put("content", hongbaoInfo + " 楼" + hongBao.setScale(2, BigDecimal.ROUND_DOWN).toString());
 			hongBaoMap.put("fontColor", hongbaoInfoFontColor);

--
Gitblit v1.8.0