From 28cf328a098334b51a3e9d2d56f983fb8c862211 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期六, 23 五月 2020 09:54:38 +0800
Subject: [PATCH] 足迹、收藏订单兼容新需求

---
 fanli/src/main/java/com/yeshi/fanli/service/manger/money/TeamEincomeManager.java |   40 +++++++++++++++++++++++++++++++++++-----
 1 files changed, 35 insertions(+), 5 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/manger/money/TeamEincomeManager.java b/fanli/src/main/java/com/yeshi/fanli/service/manger/money/TeamEincomeManager.java
index caf0b4a..00d1579 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/manger/money/TeamEincomeManager.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/manger/money/TeamEincomeManager.java
@@ -1,6 +1,7 @@
 package com.yeshi.fanli.service.manger.money;
 
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -13,10 +14,12 @@
 import com.yeshi.fanli.entity.money.UserMoneyDetail;
 import com.yeshi.fanli.exception.ParamsException;
 import com.yeshi.fanli.exception.money.TeamEincomeRecordException;
+import com.yeshi.fanli.exception.money.UserMoneyDetailException;
 import com.yeshi.fanli.service.inter.money.TeamEincomeRecordService;
 import com.yeshi.fanli.service.inter.money.UserMoneyService;
 import com.yeshi.fanli.service.inter.money.msg.UserMoneyMsgNotificationService;
 import com.yeshi.fanli.util.TimeUtil;
+import com.yeshi.fanli.util.factory.UserMoneyDetailFactory;
 import com.yeshi.fanli.util.factory.money.TeamEincomeRecordFactory;
 
 /**
@@ -90,7 +93,8 @@
 	}
 
 	/**
-	 * 鍒拌处鍒扮敤鎴蜂綑棰�
+	 * @throws UserMoneyDetailException 
+	 * 鍥㈤槦鏀剁泭 鍒拌处鍒扮敤鎴蜂綑棰�
 	 * @Title: addTOUserAccount
 	 * @Description: 
 	 * @param day
@@ -99,9 +103,14 @@
 	 * @throws
 	 */
 	@Transactional(rollbackFor = Exception.class)
-	public void addTOUserAccount(Date preSendTime, Long uid) {
+	public void addTeamIncomeTOUserAccount(Date preSendTime, Long uid) throws UserMoneyDetailException {
+
+		List<Integer> typeList = new ArrayList<>();
+		typeList.add(TeamEincomeRecord.TYPE_TEAM_SUBSIDY);
+		typeList.add(TeamEincomeRecord.TYPE_TEAM_REWARD);
+
 		Date now = new Date();
-		List<TeamEincomeRecord> list = teamEincomeRecordService.listCanRecieveRecord(preSendTime, uid);
+		List<TeamEincomeRecord> list = teamEincomeRecordService.listCanRecieveRecord(preSendTime, uid, typeList);
 		BigDecimal money = new BigDecimal(0);
 		for (TeamEincomeRecord record : list) {
 			record = teamEincomeRecordService.selectByPrimaryKeyForUpdate(record.getId());
@@ -109,12 +118,33 @@
 			teamEincomeRecordService.setRecieved(record.getId());
 		}
 
-		// TODO 鍒拌处
-		UserMoneyDetail detail = null;
+		UserMoneyDetail detail = UserMoneyDetailFactory.createTeamReward(uid, money, preSendTime);
+
 		userMoneyService.addUserMoney(uid, money, detail);
 		// 鍙戦�佹秷鎭�
 		BigDecimal balance = userMoneyService.getBalance(uid);
 		userMoneyMsgNotificationService.teamReceive(uid, money, balance, now);
 	}
 
+	@Transactional(rollbackFor = Exception.class)
+	public void addTeamDividentsTOUserAccount(Date preSendTime, Long uid) throws UserMoneyDetailException {
+		List<Integer> typeList = new ArrayList<>();
+		typeList.add(TeamEincomeRecord.TYPE_TEAM_DIVIDENTS);
+		Date now = new Date();
+		List<TeamEincomeRecord> list = teamEincomeRecordService.listCanRecieveRecord(preSendTime, uid, typeList);
+		BigDecimal money = new BigDecimal(0);
+		for (TeamEincomeRecord record : list) {
+			record = teamEincomeRecordService.selectByPrimaryKeyForUpdate(record.getId());
+			money = money.add(record.getMoney());
+			teamEincomeRecordService.setRecieved(record.getId());
+		}
+
+		UserMoneyDetail detail = UserMoneyDetailFactory.createTeamDividents(uid, money, preSendTime);
+
+		userMoneyService.addUserMoney(uid, money, detail);
+		// 鍙戦�佹秷鎭�
+		BigDecimal balance = userMoneyService.getBalance(uid);
+		userMoneyMsgNotificationService.teamDividend(uid, money, balance, now);
+	}
+
 }

--
Gitblit v1.8.0