From 52a5a39966f303be57876d817561597b8c0dc6c7 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 11 四月 2020 18:17:30 +0800
Subject: [PATCH] 团队收益相关规则修改

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java |  304 +++++++++-----------------------------------------
 1 files changed, 55 insertions(+), 249 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java
index 88133fd..6d7a272 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java
@@ -1,7 +1,6 @@
 package com.yeshi.fanli.service.impl.order;
 
 import java.math.BigDecimal;
-import java.math.RoundingMode;
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Date;
@@ -32,30 +31,31 @@
 import com.yeshi.fanli.dto.mq.order.body.OrderMoneyRecievedMQMsg;
 import com.yeshi.fanli.entity.bus.user.HongBaoV2;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.entity.money.TeamRewardDebt;
 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.HongBaoV2SettleTemp;
-import com.yeshi.fanli.entity.order.InviteOrderSubsidy;
 import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder;
-import com.yeshi.fanli.exception.money.InviteOrderSubsidyDebtException;
+import com.yeshi.fanli.exception.ParamsException;
 import com.yeshi.fanli.exception.money.OrderMoneySettleException;
+import com.yeshi.fanli.exception.money.TeamEincomeRecordException;
+import com.yeshi.fanli.exception.money.TeamRewardDebtException;
 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.hongbao.AccountDetailsHongBaoMapService;
 import com.yeshi.fanli.service.inter.hongbao.HongBaoV2SettleTempService;
-import com.yeshi.fanli.service.inter.money.InviteOrderSubsidyDebtService;
+import com.yeshi.fanli.service.inter.money.TeamRewardDebtService;
 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.CommonOrderService;
-import com.yeshi.fanli.service.inter.order.InviteOrderSubsidyService;
 import com.yeshi.fanli.service.inter.order.OrderMoneySettleService;
-import com.yeshi.fanli.service.inter.order.tb.TaoBaoOrderService;
 import com.yeshi.fanli.service.inter.user.UserSystemCouponService;
+import com.yeshi.fanli.service.manger.money.TeamEincomeManager;
+import com.yeshi.fanli.service.manger.order.TeamRewardManager;
+import com.yeshi.fanli.service.manger.order.TeamSubsidyManager;
 import com.yeshi.fanli.util.Constant;
-import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.TimeUtil;
 import com.yeshi.fanli.util.cmq.HongBaoRecieveCMQManager;
 import com.yeshi.fanli.util.factory.UserMoneyDetailFactory;
@@ -95,22 +95,22 @@
 	@Resource
 	private UserSystemCouponService userSystemCouponService;
 
-	@Resource
-	private TaoBaoOrderService taoBaoOrderService;
-
 	@Resource(name = "orderTransactionProducer")
 	private TransactionProducer orderTransactionProducer;
 
 	// 閭�璇疯ˉ璐�
 
 	@Resource
-	private InviteOrderSubsidyService inviteOrderSubsidyService;
-
-	@Resource
-	private InviteOrderSubsidyDebtService inviteOrderSubsidyDebtService;
-
-	@Resource
 	private HongBaoV2SettleTempService hongBaoV2SettleTempService;
+
+	@Resource
+	private TeamRewardDebtService teamRewardDebtService;
+
+	@Resource
+	private TeamRewardManager teamRewardManager;
+
+	@Resource
+	private TeamSubsidyManager teamSubsidyManager;
 
 	// 涓嬬骇琚皝绂侊紝绾㈠寘澶辨晥
 	private void invalidHongBaoForbidden(Long id) {
@@ -165,7 +165,7 @@
 		OrderMoneyRecievedMQMsg mqMsg = new OrderMoneyRecievedMQMsg(OrderMoneyRecievedMQMsg.TYPE_INVITE, uid,
 				sourceType, null, null, new Date(), 0);
 
-		Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.orderFanLiActual, mqMsg);
+		Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.teamRewardPreRecieved, mqMsg);
 		String taskKey = getTaskKey(uid);
 		msg.setKey(taskKey);
 		// 娣诲姞浜嬪姟娑堟伅
@@ -174,8 +174,8 @@
 				@Override
 				public TransactionStatus execute(Message arg0, Object arg1) {
 					try {
-						fanliInviteTB(hongBaoList, uid, taskKey);
-					} catch (TaoBaoWeiQuanException e) {
+						fanliInvite(hongBaoList, uid, Constant.SOURCE_TYPE_TAOBAO, taskKey);
+					} catch (Exception e) {
 						return TransactionStatus.RollbackTransaction;
 					}
 					return TransactionStatus.CommitTransaction;
@@ -230,7 +230,7 @@
 		// 閭�璇疯禋鍒拌处浜嬪姟娑堟伅
 		OrderMoneyRecievedMQMsg mqMsg = new OrderMoneyRecievedMQMsg(OrderMoneyRecievedMQMsg.TYPE_INVITE, uid,
 				sourceType, null, null, new Date(), 0);
-		Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.orderFanLiActual, mqMsg);
+		Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.teamRewardPreRecieved, mqMsg);
 		String taskKey = getTaskKey(uid);
 		msg.setKey(taskKey);
 		// 娣诲姞浜嬪姟娑堟伅
@@ -238,7 +238,12 @@
 			orderTransactionProducer.send(msg, new LocalTransactionExecuter() {
 				@Override
 				public TransactionStatus execute(Message arg0, Object arg1) {
-					fanliInviteOther(hongBaoList, uid, sourceType, taskKey);
+					try {
+						fanliInvite(hongBaoList, uid, sourceType, taskKey);
+					} catch (Exception e) {
+						e.printStackTrace();
+						return TransactionStatus.RollbackTransaction;
+					}
 					return TransactionStatus.CommitTransaction;
 				}
 			}, null);
@@ -290,7 +295,7 @@
 		// 閭�璇疯禋鍒拌处浜嬪姟娑堟伅
 		OrderMoneyRecievedMQMsg mqMsg = new OrderMoneyRecievedMQMsg(OrderMoneyRecievedMQMsg.TYPE_INVITE, uid,
 				sourceType, null, null, new Date(), 0);
-		Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.orderFanLiActual, mqMsg);
+		Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.teamRewardPreRecieved, mqMsg);
 		String taskKey = getTaskKey(uid);
 		msg.setKey(taskKey);
 		// 娣诲姞浜嬪姟娑堟伅
@@ -298,7 +303,11 @@
 			orderTransactionProducer.send(msg, new LocalTransactionExecuter() {
 				@Override
 				public TransactionStatus execute(Message arg0, Object arg1) {
-					fanliInviteOther(hongBaoList, uid, sourceType, taskKey);
+					try {
+						fanliInvite(hongBaoList, uid, sourceType, taskKey);
+					} catch (Exception e) {
+						return TransactionStatus.RollbackTransaction;
+					}
 					return TransactionStatus.CommitTransaction;
 				}
 			}, null);
@@ -582,106 +591,12 @@
 		return hongBao;
 	}
 
-	@Transactional(rollbackFor = Exception.class)
-	private void fanliInviteTB(List<HongBaoV2> hongBaoList, Long uid, String key) throws TaoBaoWeiQuanException {
-		List<Long> hbIdList = new ArrayList<>();
-		BigDecimal invitemoney = new BigDecimal(0);
-		Set<String> inviteOrders = new HashSet<>();
-		int inviteGoodsCount = 0;
-
-		// 闇�瑕佸垽鏂��娆剧殑璁㈠崟鍙�
-		Set<String> drawBackOrders = new HashSet<String>();
-		for (HongBaoV2 hongBao : hongBaoList) {
-			hongBao = filterWeiQuanINGHongBao(hongBao);
-			if (hongBao == null)
-				continue;
-
-			hongBao = hongBaoV2Mapper.selectByPrimaryKeyForUpdate(hongBao.getId());
-			if (hongBao.getState() == HongBaoV2.STATE_BUKELINGQU || hongBao.getState() == HongBaoV2.STATE_KELINGQU) {
-				invitemoney = invitemoney.add(hongBao.getMoney());
-				HongBaoV2 updateHongBao = new HongBaoV2();
-				updateHongBao.setId(hongBao.getId());
-				updateHongBao.setGetTime(new Date());
-				updateHongBao.setState(HongBaoV2.STATE_YILINGQU);
-				updateHongBao.setUpdateTime(new Date());
-				hongBaoV2Mapper.updateByPrimaryKeySelective(updateHongBao);
-				// 娣诲姞鍒扮孩鍖呰繑鍒╄褰曢泦鍚�
-				hbIdList.add(hongBao.getId());
-
-				HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByHongBaoId(hongBao.getParent().getId());
-				inviteGoodsCount += hongBaoOrder.getCommonOrder().getCount();
-				inviteOrders.add(hongBaoOrder.getCommonOrder().getOrderNo());
-
-				Date balanceTime = hongBaoOrder.getCommonOrder().getSettleTime();
-				if (balanceTime != null
-						&& balanceTime.getTime() >= TimeUtil.convertToTimeTemp("2018-08-05", "yyyy-MM-dd")) {
-					if (!StringUtil.isNullOrEmpty(hongBaoOrder.getCommonOrder().getOrderNo()))
-						drawBackOrders.add(hongBaoOrder.getCommonOrder().getOrderNo());
-				}
-			}
-		}
-
-		// 閭�璇疯禋鍒拌处
-		if (invitemoney.compareTo(new BigDecimal(0)) > 0) {
-
-			// 娣诲姞鏂扮増璇︽儏璁板綍
-			try {
-				// 鏌ヨ閭�璇疯禋鐨勬湁鏁堣鍗曪紝澶辨晥璁㈠崟锛岀淮鏉冭鍗�
-				Calendar ca = Calendar.getInstance();
-				Date maxDate = new Date(TimeUtil
-						.convertToTimeTemp(ca.get(Calendar.YEAR) + "-" + (ca.get(Calendar.MONTH) + 1), "yyyy-M"));
-				ca.add(Calendar.MONTH, -1);
-
-				Date minDate = new Date(TimeUtil
-						.convertToTimeTemp(ca.get(Calendar.YEAR) + "-" + (ca.get(Calendar.MONTH) + 1), "yyyy-M"));
-				long validCount = hongBaoV2Mapper.countInviteOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_JS,
-						minDate, maxDate, Constant.SOURCE_TYPE_TAOBAO);
-				long weiQuanCount = hongBaoV2Mapper.countInviteOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_WQ,
-						minDate, maxDate, Constant.SOURCE_TYPE_TAOBAO);
-
-				UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createInvite(uid, Constant.SOURCE_TYPE_TAOBAO,
-						(int) validCount, (int) weiQuanCount, invitemoney, new Date());
-
-				// 澧炲姞璧勯噾
-				userMoneyService.addUserMoney(uid, invitemoney, userMoneyDetail);
-				// 娣诲姞鍒扮孩鍖呰繑鍒╄褰曢泦鍚�
-				accountDetailsHongBaoMapService.saveAccountDetailsHongBaoMap(hbIdList, userMoneyDetail.getId());
-			} catch (UserMoneyDetailException e) {
-				try {
-					LogHelper.errorDetailInfo(e);
-				} catch (Exception e1) {
-					e1.printStackTrace();
-				}
-			}
-			// 鏂扮増閫氱煡
-			userMoneyMsgNotificationService.inviteOrderReceived(uid, Constant.SOURCE_TYPE_TAOBAO, inviteOrders.size(),
-					inviteGoodsCount, invitemoney, userInfoMapper.selectByPrimaryKey(uid).getMyHongBao());
-			for (String orderId : drawBackOrders)
-				taoBaoWeiQuanDrawBackService.doWeiQuanInvite(orderId);
-		}
-
-		try {
-			hongBaoV2SettleTempService.addTemp(hbIdList, key);
-		} catch (Exception e1) {
-			throw new TaoBaoWeiQuanException(200, "鎻掑叆杩斿埄涓存椂琛ㄥ嚭閿�");
-		}
-
-		// 鎵�鏈夌殑杩斿埄鍒拌处绾㈠寘ID
-		for (Long hongBaoId : hbIdList) {
-			try {
-				HongBaoRecieveCMQManager.getInstance().addHongBaoRecieveMsg(hongBaoId);
-			} catch (Exception e) {
-				LogHelper.errorDetailInfo(e);
-			}
-		}
-	}
-
 	@Transactional
-	private void fanliInviteOther(List<HongBaoV2> hongBaoList, Long uid, int sourceType, String key) {
+	private void fanliInvite(List<HongBaoV2> hongBaoList, Long uid, int sourceType, String key)
+			throws TeamEincomeRecordException, ParamsException, TeamRewardDebtException {
 		List<Long> hbIdList = new ArrayList<>();
 		BigDecimal invitemoney = new BigDecimal(0);
 		Set<String> inviteOrders = new HashSet<>();
-		int inviteGoodsCount = 0;
 
 		// 闇�瑕佸垽鏂��娆剧殑璁㈠崟鍙�
 		for (HongBaoV2 hongBao : hongBaoList) {
@@ -690,7 +605,16 @@
 				continue;
 			hongBao = hongBaoV2Mapper.selectByPrimaryKeyForUpdate(hongBao.getId());
 			if (hongBao.getState() == HongBaoV2.STATE_BUKELINGQU || hongBao.getState() == HongBaoV2.STATE_KELINGQU) {
-				invitemoney = invitemoney.add(hongBao.getMoney());
+				TeamRewardDebt debt = teamRewardDebtService.selectBySourceId(hongBao.getId());
+				BigDecimal money = hongBao.getMoney();
+				if (debt != null && debt.getLeftMoney().compareTo(new BigDecimal(0)) > 0
+						&& money.compareTo(debt.getLeftMoney()) >= 0) {
+					money = money.subtract(debt.getLeftMoney());
+					// 杩橀挶
+					teamRewardDebtService.repayDebt(debt.getId(), debt.getLeftMoney());
+				}
+
+				invitemoney = invitemoney.add(money);
 				HongBaoV2 updateHongBao = new HongBaoV2();
 				updateHongBao.setId(hongBao.getId());
 				updateHongBao.setGetTime(new Date());
@@ -703,45 +627,17 @@
 				// 2018-08-05 杩囧悗鐨勮鍗曟墠澶勭悊缁存潈
 
 				HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByHongBaoId(hongBao.getParent().getId());
-				inviteGoodsCount += hongBaoOrder.getCommonOrder().getCount();
 				inviteOrders.add(hongBaoOrder.getCommonOrder().getOrderNo());
 			}
 		}
 
 		// 閭�璇疯禋鍒拌处
 		if (invitemoney.compareTo(new BigDecimal(0)) > 0) {
-			// 娣诲姞鏂扮増璇︽儏璁板綍
-			try {
-				// 鏌ヨ閭�璇疯禋鐨勬湁鏁堣鍗曪紝澶辨晥璁㈠崟锛岀淮鏉冭鍗�
-				Calendar ca = Calendar.getInstance();
-				Date maxDate = new Date(TimeUtil
-						.convertToTimeTemp(ca.get(Calendar.YEAR) + "-" + (ca.get(Calendar.MONTH) + 1), "yyyy-M"));
-				ca.add(Calendar.MONTH, -1);
-
-				Date minDate = new Date(TimeUtil
-						.convertToTimeTemp(ca.get(Calendar.YEAR) + "-" + (ca.get(Calendar.MONTH) + 1), "yyyy-M"));
-				long validCount = hongBaoV2Mapper.countInviteOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_JS,
-						minDate, maxDate, sourceType);
-				long weiQuanCount = hongBaoV2Mapper.countInviteOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_WQ,
-						minDate, maxDate, sourceType);
-
-				UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createInvite(uid, sourceType, (int) validCount,
-						(int) weiQuanCount, invitemoney, new Date());
-
-				// 澧炲姞璧勯噾
-				userMoneyService.addUserMoney(uid, invitemoney, userMoneyDetail);
-				// 娣诲姞鍒扮孩鍖呰繑鍒╄褰曢泦鍚�
-				accountDetailsHongBaoMapService.saveAccountDetailsHongBaoMap(hbIdList, userMoneyDetail.getId());
-			} catch (UserMoneyDetailException e) {
-				try {
-					LogHelper.errorDetailInfo(e);
-				} catch (Exception e1) {
-					e1.printStackTrace();
-				}
-			}
-			// 鏂扮増閫氱煡
-			userMoneyMsgNotificationService.inviteOrderReceived(uid, sourceType, inviteOrders.size(), inviteGoodsCount,
-					invitemoney, userInfoMapper.selectByPrimaryKey(uid).getMyHongBao());
+			Calendar ca = Calendar.getInstance();
+			Date date = new Date(TimeUtil.convertToTimeTemp(
+					ca.get(Calendar.YEAR) + "-" + (ca.get(Calendar.MONTH) + 1) + "-25", "yyyy-M-dd"));
+			// 鑾峰彇褰撳墠鐨勬湀浠�
+			teamRewardManager.addToEincome(uid, date, invitemoney, sourceType);
 		}
 
 		hongBaoV2SettleTempService.addTemp(hbIdList, key);
@@ -962,108 +858,18 @@
 	 * 
 	 * @param orderId
 	 * @param sourceType
+	 * @throws ParamsException 
+	 * @throws TeamEincomeRecordException 
 	 */
 	@Transactional(rollbackFor = Exception.class)
 	@Override
-	public void inviteSubsidySettle(Long uid, String taskKey) throws OrderMoneySettleException {
-		// 鏌ヨkey
-		List<HongBaoV2SettleTemp> list = hongBaoV2SettleTempService.listByKey(taskKey);
-		if (list != null && list.size() > 0) {
-
-			Integer sourceType = null;
-			List<InviteOrderSubsidy> subsidyList = new ArrayList<>();
-			for (HongBaoV2SettleTemp temp : list) {
-				Long hongBaoId = temp.getHongBaoId();
-				HongBaoV2 hongBao = hongBaoV2Mapper.selectByPrimaryKey(hongBaoId);
-				if (hongBao != null)
-					sourceType = hongBao.getOrderType();
-				if (hongBao.getParent() != null)
-					hongBao = hongBao.getParent();
-				HongBaoOrder order = hongBaoOrderMapper.selectByHongBaoId(hongBao.getId());
-				if (order != null && order.getCommonOrder() != null) {
-					InviteOrderSubsidy subSidy = inviteOrderSubsidyService.getByOrderNoAndTypeForUpdate(uid,
-							order.getCommonOrder().getOrderNo(), order.getCommonOrder().getSourceType());
-					if (subSidy != null && subSidy.getState() == InviteOrderSubsidy.STATE_VALID) {
-						subsidyList.add(subSidy);
-					}
-				}
-			}
-
-			if (sourceType == null)
-				throw new OrderMoneySettleException(1, "璁㈠崟绫诲瀷鏈幏鍙栧埌");
-
-			if (subsidyList.size() > 0) {
-				BigDecimal debtMoney = inviteOrderSubsidyDebtService.getTotalDebtMoney(uid);
-				BigDecimal originalDebtMoney = new BigDecimal(debtMoney.toString());// 鎬荤殑娆犳
-				List<InviteOrderSubsidy> copySubsidyList = new ArrayList<>();
-				copySubsidyList.addAll(subsidyList);
-				while (debtMoney.compareTo(new BigDecimal(0)) > 0 && copySubsidyList.size() > 0) {// 鏈夋瑺娆撅紝杩樻湁杩樼殑
-					debtMoney = kouKuan(copySubsidyList, debtMoney);
-				}
-				// 杩樻
-				BigDecimal repayMoney = originalDebtMoney.subtract(debtMoney);
-				BigDecimal bannce = null;
-				if (repayMoney.compareTo(new BigDecimal(0)) > 0) {
-					try {
-						bannce = inviteOrderSubsidyDebtService.repayDebtByUid(uid, repayMoney);
-						// 鍓╀綑鐨勮ˉ璐撮噾棰�
-					} catch (InviteOrderSubsidyDebtException e) {
-						throw new OrderMoneySettleException(2, "杩樻寮傚父");
-					}
-				}
-				if (bannce != null && bannce.compareTo(new BigDecimal(0)) > 0) {
-					// 濡傛灉鏈夎繕鍓╀笅鐨勯挶灏卞姞鍒扮涓�涓笂闈�
-					subsidyList.get(0).setMoney(subsidyList.get(0).getMoney().add(bannce));
-				}
-
-				BigDecimal totalMoney = new BigDecimal(0);
-				for (InviteOrderSubsidy subsidy : subsidyList) {
-					inviteOrderSubsidyService.settleById(subsidy.getId(), subsidy.getMoney());
-					totalMoney = totalMoney.add(subsidy.getMoney());
-				}
-
-				// 鍒拌处
-				UserMoneyDetail userMoneyDetail = null;
-				try {
-					userMoneyDetail = UserMoneyDetailFactory.createInviteSubsidy(uid, sourceType, totalMoney,
-							new Date());
-				} catch (UserMoneyDetailException e) {
-					throw new OrderMoneySettleException(1, "璐︽埛鏄庣粏鏋勫缓鍑洪敊");
-				}
-				// 娣诲姞璧勯噾
-				userMoneyService.addUserMoney(uid, totalMoney, userMoneyDetail);
-				// 娣诲姞娑堟伅
-				userMoneyMsgNotificationService.inviteOrderSubSidy(uid, new Date(), "绯荤粺鑷姩涓嬪彂", totalMoney,
-						userInfoMapper.selectAvailableByPrimaryKey(uid).getMyHongBao());
-			}
-		}
+	public void inviteSubsidySettle(Long uid, String taskKey)
+			throws OrderMoneySettleException, TeamEincomeRecordException, ParamsException {
+		teamSubsidyManager.addToTeamEincome(uid, taskKey);
 	}
 
 	private String getTaskKey(Long uid) {
 		return uid + "-" + UUID.randomUUID().toString();
-	}
-
-	private BigDecimal kouKuan(List<InviteOrderSubsidy> subsidyList, BigDecimal debtMoney) {
-		BigDecimal average = debtMoney.divide(new BigDecimal(subsidyList.size()), 2, RoundingMode.UP);
-		for (int i = 0; i < subsidyList.size(); i++) {
-			InviteOrderSubsidy sidy = subsidyList.get(i);
-			BigDecimal subMoney = null;
-			if (average.compareTo(sidy.getMoney()) >= 0) {
-				subMoney = sidy.getMoney();
-			} else {
-				subMoney = average;
-			}
-			if (subMoney.compareTo(debtMoney) > 0)
-				subMoney = debtMoney;
-			debtMoney = debtMoney.subtract(subMoney);
-			sidy.setMoney(sidy.getMoney().subtract(subMoney));
-
-			if (sidy.getMoney().compareTo(new BigDecimal(0)) == 0) {
-				subsidyList.remove(i);
-				i--;
-			}
-		}
-		return debtMoney;
 	}
 
 }

--
Gitblit v1.8.0