From 5a9e4c13d08d3b1cb7da8f50f1097b33bb113b23 Mon Sep 17 00:00:00 2001
From: 喻健 <喻健@Admin>
Date: 星期一, 10 十二月 2018 17:52:03 +0800
Subject: [PATCH] 选品库商品优化

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/HongBaoServiceImpl.java |   63 +++++++++++++++++++++++--------
 1 files changed, 47 insertions(+), 16 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/HongBaoServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/HongBaoServiceImpl.java
index 4e482e4..d191a72 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/HongBaoServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/HongBaoServiceImpl.java
@@ -10,7 +10,6 @@
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 
-import org.apache.ibatis.annotations.Param;
 import org.hibernate.HibernateException;
 import org.hibernate.Query;
 import org.hibernate.SQLQuery;
@@ -59,7 +58,6 @@
 import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce;
 import com.yeshi.fanli.service.inter.order.OrderItemServcie;
 import com.yeshi.fanli.service.inter.order.OrderService;
-import com.yeshi.fanli.service.inter.push.PushService;
 import com.yeshi.fanli.service.inter.user.AccountDetailsService;
 import com.yeshi.fanli.service.inter.user.AccountMessageService;
 import com.yeshi.fanli.service.inter.user.MoneyRecordService;
@@ -870,8 +868,8 @@
 
 	@Transactional
 	public void updateHongBao(HongBao hongBao, TaoBaoOrder taoBaoOrder) {
-		BigDecimal rate = new BigDecimal(hongBaoManageMapper.selectByKey("hongbao_goods_proportion").getValue())
-				.divide(new BigDecimal(100));
+		BigDecimal proportion = hongBaoManageService.getFanLiRate();
+		BigDecimal rate = proportion.divide(new BigDecimal(100));
 		// 鏇存柊绾㈠寘椤�
 		HongBao updateHongBao = new HongBao();
 		updateHongBao.setId(hongBao.getId());
@@ -910,7 +908,7 @@
 				});
 			}
 		} else if ("璁㈠崟缁撶畻".equals(taoBaoOrder.getOrderState())) {// 鏇存柊棰勪及鑾峰彇鏃堕棿
-			BigDecimal money = MoneyBigDecimalUtil.mul(taoBaoOrder.getEstimate(), rate);
+			BigDecimal money = MoneyBigDecimalUtil.mul(taoBaoOrder.geteIncome(), rate);
 			// 璁剧疆棰勮棰嗗彇鏃堕棿
 			long settlementTime = TimeUtil.convertDateToTemp2(taoBaoOrder.getSettlementTime().trim());
 			// 棰勮棰嗗彇鏃堕棿
@@ -940,7 +938,8 @@
 					hongBaoMapper.updateByPrimaryKeySelective(updateChildHongBao);
 				});
 
-			BigDecimal estimate = taoBaoOrder.getEstimate();
+			BigDecimal estimate = taoBaoOrder.geteIncome();
+			updateHongBao.setPayMoney(taoBaoOrder.getSettlement());
 			updateHongBao.setMoney(MoneyBigDecimalUtil.mul(estimate, rate));
 		}
 
@@ -980,14 +979,22 @@
 	public void addHongBao(Order order, TaoBaoOrder taoBaoOrder, Long orderItemId) {
 		OrderItem orderItem = orderItemMapper.selectByPrimaryKey(orderItemId);
 		// 璁㈠崟杩斿埄姣斾緥
-		BigDecimal baseRate = new BigDecimal(hongBaoManageMapper.selectByKey("hongbao_goods_proportion").getValue())
-				.divide(new BigDecimal(100));
+		BigDecimal proportion = hongBaoManageService.getFanLiRate();
+		BigDecimal baseRate = proportion.divide(new BigDecimal(100));
 
 		// 鍒涘缓绾㈠寘
 		JSONObject data = new JSONObject();
-		HongBao hongBao = HongBaoFactory.createHongBao(MoneyBigDecimalUtil.mul(baseRate, taoBaoOrder.getEstimate()),
-				data.toString(), order.getId(), null, order.getUserInfo(), 1, taoBaoOrder.getPayment(),
-				taoBaoOrder.getAuctionId());
+		HongBao hongBao = null;
+		if (taoBaoOrder.getOrderState().equalsIgnoreCase("璁㈠崟缁撶畻"))
+			// 璁㈠崟缁撶畻搴旇鍙栫粨绠楅噾棰濅笌棰勪及鏀跺叆
+			hongBao = HongBaoFactory.createHongBao(MoneyBigDecimalUtil.mul(baseRate, taoBaoOrder.geteIncome()),
+					data.toString(), order.getId(), null, order.getUserInfo(), 1, taoBaoOrder.getSettlement(),
+					taoBaoOrder.getAuctionId());
+		else
+			hongBao = HongBaoFactory.createHongBao(MoneyBigDecimalUtil.mul(baseRate, taoBaoOrder.getEstimate()),
+					data.toString(), order.getId(), null, order.getUserInfo(), 1, taoBaoOrder.getPayment(),
+					taoBaoOrder.getAuctionId());
+
 		hongBao.setOrderId(taoBaoOrder.getOrderId());
 		hongBao.setOrderItemId(orderItem.getId());
 		hongBao.setPreGettime(0L);
@@ -1001,6 +1008,10 @@
 		if (boss != null) {
 			hongBao.setHasChild(true);
 		}
+
+		// 濡傛灉澶辨晥灏卞垽瀹氬凡缁忓け鏁�
+		if (taoBaoOrder.getOrderState().equalsIgnoreCase("璁㈠崟澶辨晥"))
+			hongBao.setState(HongBao.STATE_SHIXIAO);
 
 		hongBaoMapper.insertSelective(hongBao);
 		// 閫氱煡鐢ㄦ埛璁㈠崟琚粺璁�
@@ -1024,7 +1035,19 @@
 			else
 				rate = new BigDecimal(hbm.getValue()).divide(new BigDecimal(100));
 			if (rate.compareTo(new BigDecimal(0)) > 0) {
-				HongBao hongBao2 = HongBaoFactory.createHongBao(
+				HongBao hongBao2 = null;
+				if (taoBaoOrder.getOrderState().equalsIgnoreCase("璁㈠崟缁撶畻")) {
+					// 璁㈠崟缁撶畻搴旇鍙栫粨绠楅噾棰濅笌棰勪及鏀跺叆
+					hongBao2 = HongBaoFactory.createHongBao(
+							MoneyBigDecimalUtil.mul(rate, MoneyBigDecimalUtil.mul(taoBaoOrder.geteIncome(), baseRate)),
+							null, hongBao, boss, Constant.ONESALE);
+				} else {
+					hongBao2 = HongBaoFactory.createHongBao(
+							MoneyBigDecimalUtil.mul(rate, MoneyBigDecimalUtil.mul(taoBaoOrder.getEstimate(), baseRate)),
+							null, hongBao, boss, Constant.ONESALE);
+				}
+
+				HongBaoFactory.createHongBao(
 						MoneyBigDecimalUtil.mul(rate, MoneyBigDecimalUtil.mul(taoBaoOrder.getEstimate(), baseRate)),
 						null, hongBao, boss, Constant.ONESALE);
 				// 璁剧疆璁㈠崟鍙�
@@ -1050,10 +1073,18 @@
 				else
 					rate = new BigDecimal(hbm.getValue()).divide(new BigDecimal(100));
 				if (rate.compareTo(new BigDecimal(0)) > 0) {
-
-					HongBao hongBao3 = HongBaoFactory.createHongBao(
-							MoneyBigDecimalUtil.mul(rate, MoneyBigDecimalUtil.mul(taoBaoOrder.getEstimate(), baseRate)),
-							null, hongBao, boss2, Constant.TWOSALE);
+					// 璁㈠崟缁撶畻搴旇鍙栫粨绠楅噾棰濅笌棰勪及鏀跺叆
+					HongBao hongBao3 = null;
+					if (taoBaoOrder.getOrderState().equalsIgnoreCase("璁㈠崟缁撶畻"))
+						hongBao3 = HongBaoFactory.createHongBao(
+								MoneyBigDecimalUtil.mul(rate,
+										MoneyBigDecimalUtil.mul(taoBaoOrder.geteIncome(), baseRate)),
+								null, hongBao, boss2, Constant.TWOSALE);
+					else
+						hongBao3 = HongBaoFactory.createHongBao(
+								MoneyBigDecimalUtil.mul(rate,
+										MoneyBigDecimalUtil.mul(taoBaoOrder.getEstimate(), baseRate)),
+								null, hongBao, boss2, Constant.TWOSALE);
 					// 璁剧疆杩斿埄璁㈠崟鍙�
 					hongBao3.setOrderId(taoBaoOrder.getOrderId());
 					hongBaoMapper.insertSelective(hongBao3);

--
Gitblit v1.8.0