admin
2020-05-06 24a8d17e007545f7426c48352109aa1a9c6587ee
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;
@@ -93,7 +94,7 @@
   /**
    * @throws UserMoneyDetailException 
    * 到账到用户余额
    * 团队收益 到账到用户余额
    * @Title: addTOUserAccount
    * @Description: 
    * @param day
@@ -102,9 +103,14 @@
    * @throws
    */
   @Transactional(rollbackFor = Exception.class)
   public void addTOUserAccount(Date preSendTime, Long uid) throws UserMoneyDetailException {
   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());
@@ -120,4 +126,25 @@
      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);
   }
}