From dd5b15229cb15459fa7c31ccea77dac28cbfafbd Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 13 四月 2020 10:04:20 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div

---
 fanli/src/main/java/com/yeshi/fanli/service/manger/order/TeamDividentsManager.java |   41 +++++++++++++++++++++++++++++++----------
 1 files changed, 31 insertions(+), 10 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/manger/order/TeamDividentsManager.java b/fanli/src/main/java/com/yeshi/fanli/service/manger/order/TeamDividentsManager.java
index 6a14fc8..1ef7474 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/manger/order/TeamDividentsManager.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/manger/order/TeamDividentsManager.java
@@ -16,15 +16,17 @@
 import com.yeshi.fanli.entity.bus.user.ThreeSale;
 import com.yeshi.fanli.entity.bus.user.vip.TeamUserLevelStatistic;
 import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
-import com.yeshi.fanli.entity.money.UserMoneyDetail;
+import com.yeshi.fanli.entity.order.CommonOrder;
 import com.yeshi.fanli.entity.order.dividents.TeamDividentsDebt;
 import com.yeshi.fanli.entity.order.dividents.TeamDividentsRecord;
 import com.yeshi.fanli.entity.order.dividents.TeamDividentsSourceOrder;
 import com.yeshi.fanli.entity.order.dividents.TeamDividentsSourceUser;
 import com.yeshi.fanli.exception.ParamsException;
 import com.yeshi.fanli.exception.money.TeamDividentsDebtException;
+import com.yeshi.fanli.exception.money.TeamEincomeRecordException;
 import com.yeshi.fanli.exception.money.UserMoneyDetailException;
 import com.yeshi.fanli.exception.order.dividents.TeamDividentsRecordException;
+import com.yeshi.fanli.exception.order.dividents.TeamDividentsSourceOrderException;
 import com.yeshi.fanli.service.inter.money.TeamDividentsDebtService;
 import com.yeshi.fanli.service.inter.money.UserMoneyService;
 import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
@@ -33,10 +35,12 @@
 import com.yeshi.fanli.service.inter.order.dividents.TeamDividentsSourceUserService;
 import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
 import com.yeshi.fanli.service.inter.user.vip.TeamUserLevelStatisticService;
+import com.yeshi.fanli.service.manger.money.TeamEincomeManager;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.MoneyBigDecimalUtil;
 import com.yeshi.fanli.util.TimeUtil;
-import com.yeshi.fanli.util.factory.UserMoneyDetailFactory;
+import com.yeshi.fanli.util.factory.order.dividents.TeamDividentsSourceOrderFactory;
+import com.yeshi.fanli.util.user.UserLevelUtil;
 
 /**
  * 鍥㈤槦鍒嗙孩绠$悊
@@ -69,6 +73,25 @@
 
 	@Resource
 	private HongBaoManageService hongBaoManageService;
+
+	@Resource
+	private TeamEincomeManager teamEincomeManager;
+
+	@Transactional(rollbackFor = Exception.class)
+	public void addDividentsSourceOrder(List<CommonOrder> commonOrderList) throws TeamDividentsSourceOrderException {
+		UserLevelEnum level = UserLevelUtil.getByOrderRank(commonOrderList.get(0).getUrank());
+		if (level == null)
+			level = UserLevelEnum.daRen;
+		BigDecimal rate = getSourceOrderDividentsRate(level);
+		TeamDividentsSourceOrder order = TeamDividentsSourceOrderFactory.create(commonOrderList, rate);
+		try {
+			teamDividentsSourceOrderService.addTeamDividentsSourceOrder(order);
+		} catch (TeamDividentsSourceOrderException e) {
+			e.printStackTrace();
+		} catch (ParamsException e) {
+			e.printStackTrace();
+		}
+	}
 
 	/**
 	 *  寮�濮嬪垎绾�
@@ -233,11 +256,12 @@
 	 * @throws
 	 */
 	@Transactional(rollbackFor = Exception.class)
-	public void addDividents(Long uid, String day)
-			throws TeamDividentsRecordException, TeamDividentsDebtException, UserMoneyDetailException, ParamsException {
+	public void addToTeamEincome(Long uid, String day) throws TeamDividentsRecordException, TeamDividentsDebtException,
+			UserMoneyDetailException, ParamsException, TeamEincomeRecordException {
+		Date preSendTime = new Date(TimeUtil.convertToTimeTemp(day, "yyyy-MM-dd"));
 		BigDecimal money = teamDividentsSourceUserService.sumMoneyByUidAndDay(uid, day);
 		// 鏌ヨ闇�瑕佹墸闄ょ殑璧勯噾
-		List<TeamDividentsDebt> list = teamDividentsDebtService.listNeedRepayDebt(uid, 1, 1000);
+		List<TeamDividentsDebt> list = teamDividentsDebtService.listNeedRepayDebt(uid, preSendTime, 1, 1000);
 		for (TeamDividentsDebt debt : list) {
 			if (money.subtract(debt.getLeftMoney()).compareTo(new BigDecimal(0)) >= 0) {// 杩樻湁閽辫繕
 				money = money.subtract(debt.getLeftMoney());
@@ -259,12 +283,9 @@
 
 		// 鏈夊垎绾㈡墠鏄剧ず璧勯噾鏄庣粏
 		if (money.compareTo(new BigDecimal(0)) > 0) {
-			UserMoneyDetail detail = UserMoneyDetailFactory.createOrderTeamDividents(uid, money, new Date());
-			// 澧炲姞璧勯噾
-			userMoneyService.addUserMoney(uid, money, detail);
-			// TODO 鍔犲叆閫氱煡
-		}
 
+			teamEincomeManager.addTeamDividents(uid, preSendTime, money);
+		}
 	}
 
 	/**

--
Gitblit v1.8.0