From 437ceb214daff5a57253a59a2d8065a088173514 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期一, 13 四月 2020 09:42:10 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div

---
 fanli/src/main/java/com/yeshi/fanli/service/manger/money/TeamEincomeManager.java |   76 +++++++++++++++++++++++++++++++++++--
 1 files changed, 71 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 0afa3fd..caf0b4a 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,8 +1,23 @@
 package com.yeshi.fanli.service.manger.money;
 
+import java.math.BigDecimal;
 import java.util.Date;
+import java.util.List;
+
+import javax.annotation.Resource;
 
 import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.yeshi.fanli.entity.money.TeamEincomeRecord;
+import com.yeshi.fanli.entity.money.UserMoneyDetail;
+import com.yeshi.fanli.exception.ParamsException;
+import com.yeshi.fanli.exception.money.TeamEincomeRecordException;
+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.money.TeamEincomeRecordFactory;
 
 /**
  * 鍥㈤槦鏀剁泭绠$悊
@@ -12,7 +27,18 @@
 @Component
 public class TeamEincomeManager {
 
+	@Resource
+	private TeamEincomeRecordService teamEincomeRecordService;
+
+	@Resource
+	private UserMoneyService userMoneyService;
+
+	@Resource
+	private UserMoneyMsgNotificationService userMoneyMsgNotificationService;
+
 	/**
+	 * @throws ParamsException 
+	 * @throws TeamEincomeRecordException 
 	 * 娣诲姞鍥㈤槦濂栭噾
 	 * @Title: addTeamReward
 	 * @Description: 
@@ -21,8 +47,12 @@
 	 * void 杩斿洖绫诲瀷
 	 * @throws
 	 */
-	public void addTeamReward(Long uid, Date preSendTime,int sourceType) {
-
+	@Transactional(rollbackFor = Exception.class)
+	public void addTeamReward(Long uid, Date preSendTime, BigDecimal money, int sourceType)
+			throws TeamEincomeRecordException, ParamsException {
+		String day = TimeUtil.getGernalTime(preSendTime.getTime(), "yyyy-MM-dd");
+		TeamEincomeRecord record = TeamEincomeRecordFactory.createTeamReward(day, uid, money, sourceType, null);
+		teamEincomeRecordService.addTeamEincomeRecord(record);
 	}
 
 	/**
@@ -34,8 +64,12 @@
 	 * void 杩斿洖绫诲瀷
 	 * @throws
 	 */
-	public void addTeamSubsidy(Long uid, String taskKey,int sourceType) {
-
+	@Transactional(rollbackFor = Exception.class)
+	public void addTeamSubsidy(Long uid, Date preSendTime, BigDecimal money, int sourceType)
+			throws TeamEincomeRecordException, ParamsException {
+		String day = TimeUtil.getGernalTime(preSendTime.getTime(), "yyyy-MM-dd");
+		TeamEincomeRecord record = TeamEincomeRecordFactory.createTeamSubsidy(day, uid, money, sourceType, null);
+		teamEincomeRecordService.addTeamEincomeRecord(record);
 	}
 
 	/**
@@ -47,8 +81,40 @@
 	 * void 杩斿洖绫诲瀷
 	 * @throws
 	 */
-	public void addTeamDividents(Long uid, Date preSendTime) {
+	@Transactional(rollbackFor = Exception.class)
+	public void addTeamDividents(Long uid, Date preSendTime, BigDecimal money)
+			throws TeamEincomeRecordException, ParamsException {
+		String day = TimeUtil.getGernalTime(preSendTime.getTime(), "yyyy-MM-dd");
+		TeamEincomeRecord record = TeamEincomeRecordFactory.createTeamDividents(day, uid, money, null);
+		teamEincomeRecordService.addTeamEincomeRecord(record);
+	}
 
+	/**
+	 * 鍒拌处鍒扮敤鎴蜂綑棰�
+	 * @Title: addTOUserAccount
+	 * @Description: 
+	 * @param day
+	 * @param uid 
+	 * void 杩斿洖绫诲瀷
+	 * @throws
+	 */
+	@Transactional(rollbackFor = Exception.class)
+	public void addTOUserAccount(Date preSendTime, Long uid) {
+		Date now = new Date();
+		List<TeamEincomeRecord> list = teamEincomeRecordService.listCanRecieveRecord(preSendTime, uid);
+		BigDecimal money = new BigDecimal(0);
+		for (TeamEincomeRecord record : list) {
+			record = teamEincomeRecordService.selectByPrimaryKeyForUpdate(record.getId());
+			money = money.add(record.getMoney());
+			teamEincomeRecordService.setRecieved(record.getId());
+		}
+
+		// TODO 鍒拌处
+		UserMoneyDetail detail = null;
+		userMoneyService.addUserMoney(uid, money, detail);
+		// 鍙戦�佹秷鎭�
+		BigDecimal balance = userMoneyService.getBalance(uid);
+		userMoneyMsgNotificationService.teamReceive(uid, money, balance, now);
 	}
 
 }

--
Gitblit v1.8.0