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