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