From 2ec42a5aacea35d2918f0e17f07685cf5b4d25c8 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 12 五月 2020 20:20:41 +0800
Subject: [PATCH] 包名引用路径更改

---
 fanli/src/main/java/com/yeshi/fanli/service/manger/money/TeamEincomeManager.java |  106 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 101 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..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,8 +1,26 @@
 package com.yeshi.fanli.service.manger.money;
 
+import java.math.BigDecimal;
+import java.util.ArrayList;
 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.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;
 
 /**
  * 鍥㈤槦鏀剁泭绠$悊
@@ -12,7 +30,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 +50,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 +67,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 +84,67 @@
 	 * 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);
+	}
 
+	/**
+	 * @throws UserMoneyDetailException 
+	 * 鍥㈤槦鏀剁泭 鍒拌处鍒扮敤鎴蜂綑棰�
+	 * @Title: addTOUserAccount
+	 * @Description: 
+	 * @param day
+	 * @param uid 
+	 * void 杩斿洖绫诲瀷
+	 * @throws
+	 */
+	@Transactional(rollbackFor = Exception.class)
+	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, 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.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