From 28cf328a098334b51a3e9d2d56f983fb8c862211 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 23 五月 2020 09:54:38 +0800 Subject: [PATCH] 足迹、收藏订单兼容新需求 --- fanli/src/main/java/com/yeshi/fanli/service/manger/money/TeamEincomeManager.java | 40 +++++++++++++++++++++++++++++++++++----- 1 files changed, 35 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 caf0b4a..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,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; @@ -13,10 +14,12 @@ 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; /** @@ -90,7 +93,8 @@ } /** - * 鍒拌处鍒扮敤鎴蜂綑棰� + * @throws UserMoneyDetailException + * 鍥㈤槦鏀剁泭 鍒拌处鍒扮敤鎴蜂綑棰� * @Title: addTOUserAccount * @Description: * @param day @@ -99,9 +103,14 @@ * @throws */ @Transactional(rollbackFor = Exception.class) - public void addTOUserAccount(Date preSendTime, Long uid) { + 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()); @@ -109,12 +118,33 @@ teamEincomeRecordService.setRecieved(record.getId()); } - // TODO 鍒拌处 - UserMoneyDetail detail = null; + 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