From f15acf7f2d57db3a32c574b0dfc21f564dca6024 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期二, 24 三月 2020 12:01:40 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/money/tb/TaoBaoWeiQuanDrawBackServiceImpl.java |   51 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 49 insertions(+), 2 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/money/tb/TaoBaoWeiQuanDrawBackServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/money/tb/TaoBaoWeiQuanDrawBackServiceImpl.java
index 271cde1..dd22ec2 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/money/tb/TaoBaoWeiQuanDrawBackServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/money/tb/TaoBaoWeiQuanDrawBackServiceImpl.java
@@ -23,27 +23,32 @@
 import com.yeshi.fanli.entity.bus.user.HongBaoV2;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
 import com.yeshi.fanli.entity.money.InviteOrderSubsidyDebt;
+import com.yeshi.fanli.entity.money.OrderTeamRewardDebt;
 import com.yeshi.fanli.entity.money.UserMoneyDebt;
 import com.yeshi.fanli.entity.money.UserMoneyDebt.UserMoneyDebtTypeEnum;
 import com.yeshi.fanli.entity.money.UserMoneyDetail;
 import com.yeshi.fanli.entity.order.CommonOrder;
 import com.yeshi.fanli.entity.order.HongBaoOrder;
 import com.yeshi.fanli.entity.order.InviteOrderSubsidy;
+import com.yeshi.fanli.entity.order.OrderTeamReward;
 import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
 import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanDrawBack;
 import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder;
 import com.yeshi.fanli.exception.money.InviteOrderSubsidyDebtException;
+import com.yeshi.fanli.exception.money.OrderTeamRewardDebtException;
 import com.yeshi.fanli.exception.money.UserMoneyDebtException;
 import com.yeshi.fanli.exception.money.UserMoneyDetailException;
 import com.yeshi.fanli.exception.order.TaoBaoWeiQuanException;
 import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.inter.money.InviteOrderSubsidyDebtService;
+import com.yeshi.fanli.service.inter.money.OrderTeamRewardDebtService;
 import com.yeshi.fanli.service.inter.money.UserMoneyDebtService;
 import com.yeshi.fanli.service.inter.money.UserMoneyDetailService;
 import com.yeshi.fanli.service.inter.money.UserMoneyService;
 import com.yeshi.fanli.service.inter.money.msg.UserMoneyMsgNotificationService;
 import com.yeshi.fanli.service.inter.money.tb.TaoBaoWeiQuanDrawBackService;
 import com.yeshi.fanli.service.inter.order.InviteOrderSubsidyService;
+import com.yeshi.fanli.service.inter.order.OrderTeamRewardService;
 import com.yeshi.fanli.service.inter.order.tb.TaoBaoWeiQuanOrderService;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.StringUtil;
@@ -88,7 +93,13 @@
 	private InviteOrderSubsidyService inviteOrderSubsidyService;
 
 	@Resource
+	private OrderTeamRewardService orderTeamRewardService;
+
+	@Resource
 	private InviteOrderSubsidyDebtService inviteOrderSubsidyDebtService;
+
+	@Resource
+	private OrderTeamRewardDebtService orderTeamRewardDebtService;
 
 	@Resource
 	private UserMoneyDetailService userMoneyDetailService;
@@ -527,7 +538,8 @@
 					taoBaoWeiQuanDrawBackMapper.insertSelective(weiQuanDrawBack);// 鍔犲叆杩旇繕璁板綍
 
 					// 鍔犲叆閭�璇疯ˉ璐磋繑杩樿褰�
-					doInviteOrderSubsidy(orderId, Constant.SOURCE_TYPE_TAOBAO, uid, settleMent, wqMoney);
+					doInviteOrderSubsidy(orderId, Constant.SOURCE_TYPE_TAOBAO, uid, settleMent, wqMoney,
+							weiQuanOrder.getOrderItemId());
 
 					// 濡傛灉璧勯噾澶т簬0鎵嶆墸闄�
 
@@ -575,7 +587,7 @@
 	 * @param sourceType
 	 */
 	private void doInviteOrderSubsidy(String orderId, int sourceType, Long uid, BigDecimal settleMent,
-			BigDecimal weiQuanMoney) throws TaoBaoWeiQuanException {
+			BigDecimal weiQuanMoney, String tradeId) throws TaoBaoWeiQuanException {
 		InviteOrderSubsidy subSidy = inviteOrderSubsidyService.getByOrderNoAndType(uid, orderId, sourceType);
 		if (subSidy != null)// 娣诲姞鍊熻捶鍏崇郴
 		{
@@ -587,14 +599,49 @@
 			debt.setOriginMoney(drawBackMoney);
 			debt.setUid(uid);
 			debt.setCreateTime(new Date());
+			debt.setSourceId(subSidy.getId());
+			debt.setTradeId(tradeId);
 			try {
 				inviteOrderSubsidyDebtService.addDebt(debt);
 			} catch (InviteOrderSubsidyDebtException e) {
 				throw new TaoBaoWeiQuanException(101, "閭�璇疯鍗曡ˉ璐村紓甯�");
 			}
+
+			doOrderTeamReard(subSidy.getId(), settleMent, weiQuanMoney, tradeId);
 		}
 	}
 
+	/**
+	 * 鍥㈤槦濂栧姳缁存潈澶勭悊
+	 * @Title: doOrderTeamReard
+	 * @Description: 
+	 * @param subsidyId 
+	 * void 杩斿洖绫诲瀷
+	 * @throws
+	 */
+	private void doOrderTeamReard(Long subsidyId, BigDecimal settleMent, BigDecimal weiQuanMoney, String tradeId)
+			throws TaoBaoWeiQuanException {
+		List<OrderTeamReward> list = orderTeamRewardService.listBySubsidyId(subsidyId);
+		if (list != null)
+			for (OrderTeamReward reward : list) {
+				BigDecimal drawBackMoney = computeDrawBackMoney(settleMent, weiQuanMoney, reward.getOriginalMoney());
+				if (drawBackMoney.compareTo(new BigDecimal(0)) <= 0)
+					return;
+				OrderTeamRewardDebt debt = new OrderTeamRewardDebt();
+				debt.setBeiZhu("璁㈠崟鍞悗");
+				debt.setOriginMoney(drawBackMoney);
+				debt.setUid(reward.getUid());
+				debt.setCreateTime(new Date());
+				debt.setTradeId(tradeId);
+				debt.setSourceId(reward.getId());
+				try {
+					orderTeamRewardDebtService.addDebt(debt);
+				} catch (OrderTeamRewardDebtException e) {
+					throw new TaoBaoWeiQuanException(102, "鍥㈤槦濂栧姳寮傚父");
+				}
+			}
+	}
+
 	@Override
 	public TaoBaoWeiQuanDrawBack selectByOrderItemId(String orderItemId) {
 		List<TaoBaoWeiQuanDrawBack> list = taoBaoWeiQuanDrawBackMapper.selectByOrderItemId(orderItemId);

--
Gitblit v1.8.0