From 3824cbcaec6e6c67418d5280a53e9c2fedeef6f9 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 11 七月 2019 16:34:13 +0800
Subject: [PATCH] 订单bug,分享爆款自购修改

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoWeiQuanDrawBackServiceImpl.java |   37 ++++++++++++++++++++++---------------
 1 files changed, 22 insertions(+), 15 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoWeiQuanDrawBackServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoWeiQuanDrawBackServiceImpl.java
index 76db6ac..63607eb 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoWeiQuanDrawBackServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoWeiQuanDrawBackServiceImpl.java
@@ -36,14 +36,13 @@
 import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.inter.money.UserMoneyDebtService;
 import com.yeshi.fanli.service.inter.msg.UserMoneyMsgNotificationService;
-import com.yeshi.fanli.service.inter.order.CommonOrderService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoWeiQuanDrawBackService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoWeiQuanOrderService;
+import com.yeshi.fanli.service.inter.user.UserMoneyService;
 import com.yeshi.fanli.service.inter.user.UserNotificationService;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.MoneyBigDecimalUtil;
 import com.yeshi.fanli.util.StringUtil;
-import com.yeshi.fanli.util.TaoBaoConstant;
 import com.yeshi.fanli.util.factory.UserMoneyDetailFactory;
 import com.yeshi.fanli.vo.order.CommonOrderVO;
 
@@ -81,6 +80,9 @@
 
 	@Resource
 	private UserMoneyDebtService userMoneyDebtService;
+
+	@Resource
+	private UserMoneyService userMoneyService;
 
 	@Override
 	public void addWeiQuanDrawBack(TaoBaoWeiQuanDrawBack taoBaoWeiQuanDrawBack) {
@@ -210,6 +212,8 @@
 
 			// 閫�娆鹃噾棰�
 			BigDecimal drawBackMoney = MoneyBigDecimalUtil.div(userGetMoney.multiply(fanMoney), sumFee);
+			if (drawBackMoney.compareTo(userGetMoney) > 0)
+				drawBackMoney = userGetMoney;// 閫�娆鹃噾棰濅笉鑳芥瘮鑾峰緱鐨勯噾棰濆ぇ
 			// 璁$畻璧勯噾鏄惁鍏呰冻
 			UserInfo user = userInfoMapper.selectByPKey(uid);
 			if (user != null && user.getMyHongBao().compareTo(drawBackMoney) < 0)// 璧勯噾涓嶈冻
@@ -243,12 +247,10 @@
 				continue;
 			}
 
-			userInfoMapper.subHongBaoByUid(uid, drawBackMoney);
+			UserMoneyDetail userMoneyDetail = null;
 			// 鏂扮増璧勯噾璁板綍
 			try {
-				UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createFanLiWeiQuan(uid, weiQuanDrawBack,
-						drawBackMoney);
-				userMoneyDetailMapper.insert(userMoneyDetail);
+				userMoneyDetail = UserMoneyDetailFactory.createFanLiWeiQuan(uid, weiQuanDrawBack, drawBackMoney);
 			} catch (UserMoneyDetailException e) {
 				try {
 					LogHelper.errorDetailInfo(e);
@@ -256,6 +258,7 @@
 					e1.printStackTrace();
 				}
 			}
+			userMoneyService.subUserMoney(uid, drawBackMoney, userMoneyDetail);
 
 			// 鏂扮増閫氱煡
 			userMoneyMsgNotificationService.fanliOrderWeiQuan(uid, orderId, drawBackMoney,
@@ -363,6 +366,8 @@
 
 			// 閫�娆鹃噾棰�
 			BigDecimal drawBackMoney = MoneyBigDecimalUtil.div(userGetMoney.multiply(fanMoney), sumFee);
+			if (drawBackMoney.compareTo(userGetMoney) > 0)
+				drawBackMoney = userGetMoney;
 
 			for (TaoBaoWeiQuanDrawBack drawBack : newWeiQuanDrawBackList)
 				taoBaoWeiQuanDrawBackMapper.insertSelective(drawBack);
@@ -418,12 +423,10 @@
 				continue;
 			}
 
-			userInfoMapper.subHongBaoByUid(uid, drawBackMoney);
+			UserMoneyDetail userMoneyDetail = null;
 			// 鏂扮増璧勯噾璁板綍
 			try {
-				UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createShareWeiQuan(uid, weiQuanDrawBack,
-						drawBackMoney);
-				userMoneyDetailMapper.insert(userMoneyDetail);
+				userMoneyDetail = UserMoneyDetailFactory.createShareWeiQuan(uid, weiQuanDrawBack, drawBackMoney);
 			} catch (UserMoneyDetailException e) {
 				try {
 					LogHelper.errorDetailInfo(e);
@@ -431,6 +434,7 @@
 					e1.printStackTrace();
 				}
 			}
+			userMoneyService.subUserMoney(uid, drawBackMoney, userMoneyDetail);
 
 			userMoneyMsgNotificationService.shareOrderWeiQuan(uid, orderId, drawBackMoney,
 					userInfoMapper.selectByPrimaryKey(uid).getMyHongBao());
@@ -484,6 +488,8 @@
 					if (weiQuanDrawBack != null)
 						continue;
 					BigDecimal drawBackMoney = MoneyBigDecimalUtil.div(child.getMoney().multiply(fanMoney), sumFee);
+					if (drawBackMoney.compareTo(child.getMoney()) > 0)
+						drawBackMoney = child.getMoney();
 					weiQuanDrawBack = new TaoBaoWeiQuanDrawBack();
 					weiQuanDrawBack.setCreateTime(new Date());
 					weiQuanDrawBack.setDrawBackMoney(drawBackMoney);
@@ -504,13 +510,11 @@
 						continue;
 					}
 
-					userInfoMapper.subHongBaoByUid(uid, drawBackMoney);
-
+					UserMoneyDetail userMoneyDetail = null;
 					// 鏂扮増璧勯噾璁板綍
 					try {
-						UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createInviteWeiQuan(uid,
-								weiQuanDrawBack, drawBackMoney);
-						userMoneyDetailMapper.insert(userMoneyDetail);
+						userMoneyDetail = UserMoneyDetailFactory.createInviteWeiQuan(uid, weiQuanDrawBack,
+								drawBackMoney);
 					} catch (UserMoneyDetailException e) {
 						try {
 							LogHelper.errorDetailInfo(e);
@@ -518,6 +522,9 @@
 							e1.printStackTrace();
 						}
 					}
+
+					userMoneyService.subUserMoney(uid, drawBackMoney, userMoneyDetail);
+
 					// 鏂扮増閫氱煡
 					userMoneyMsgNotificationService.inviteOrderWeiQuan(uid, orderId, drawBackMoney,
 							userInfoMapper.selectByPrimaryKey(uid).getMyHongBao());

--
Gitblit v1.8.0