From dd5b15229cb15459fa7c31ccea77dac28cbfafbd Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 13 四月 2020 10:04:20 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div --- fanli/src/main/java/com/yeshi/fanli/service/manger/order/TeamDividentsManager.java | 41 +++++++++++++++++++++++++++++++---------- 1 files changed, 31 insertions(+), 10 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/manger/order/TeamDividentsManager.java b/fanli/src/main/java/com/yeshi/fanli/service/manger/order/TeamDividentsManager.java index 6a14fc8..1ef7474 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/manger/order/TeamDividentsManager.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/manger/order/TeamDividentsManager.java @@ -16,15 +16,17 @@ import com.yeshi.fanli.entity.bus.user.ThreeSale; import com.yeshi.fanli.entity.bus.user.vip.TeamUserLevelStatistic; import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum; -import com.yeshi.fanli.entity.money.UserMoneyDetail; +import com.yeshi.fanli.entity.order.CommonOrder; import com.yeshi.fanli.entity.order.dividents.TeamDividentsDebt; import com.yeshi.fanli.entity.order.dividents.TeamDividentsRecord; import com.yeshi.fanli.entity.order.dividents.TeamDividentsSourceOrder; import com.yeshi.fanli.entity.order.dividents.TeamDividentsSourceUser; import com.yeshi.fanli.exception.ParamsException; import com.yeshi.fanli.exception.money.TeamDividentsDebtException; +import com.yeshi.fanli.exception.money.TeamEincomeRecordException; import com.yeshi.fanli.exception.money.UserMoneyDetailException; import com.yeshi.fanli.exception.order.dividents.TeamDividentsRecordException; +import com.yeshi.fanli.exception.order.dividents.TeamDividentsSourceOrderException; import com.yeshi.fanli.service.inter.money.TeamDividentsDebtService; import com.yeshi.fanli.service.inter.money.UserMoneyService; import com.yeshi.fanli.service.inter.order.config.HongBaoManageService; @@ -33,10 +35,12 @@ import com.yeshi.fanli.service.inter.order.dividents.TeamDividentsSourceUserService; import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce; import com.yeshi.fanli.service.inter.user.vip.TeamUserLevelStatisticService; +import com.yeshi.fanli.service.manger.money.TeamEincomeManager; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.MoneyBigDecimalUtil; import com.yeshi.fanli.util.TimeUtil; -import com.yeshi.fanli.util.factory.UserMoneyDetailFactory; +import com.yeshi.fanli.util.factory.order.dividents.TeamDividentsSourceOrderFactory; +import com.yeshi.fanli.util.user.UserLevelUtil; /** * 鍥㈤槦鍒嗙孩绠$悊 @@ -69,6 +73,25 @@ @Resource private HongBaoManageService hongBaoManageService; + + @Resource + private TeamEincomeManager teamEincomeManager; + + @Transactional(rollbackFor = Exception.class) + public void addDividentsSourceOrder(List<CommonOrder> commonOrderList) throws TeamDividentsSourceOrderException { + UserLevelEnum level = UserLevelUtil.getByOrderRank(commonOrderList.get(0).getUrank()); + if (level == null) + level = UserLevelEnum.daRen; + BigDecimal rate = getSourceOrderDividentsRate(level); + TeamDividentsSourceOrder order = TeamDividentsSourceOrderFactory.create(commonOrderList, rate); + try { + teamDividentsSourceOrderService.addTeamDividentsSourceOrder(order); + } catch (TeamDividentsSourceOrderException e) { + e.printStackTrace(); + } catch (ParamsException e) { + e.printStackTrace(); + } + } /** * 寮�濮嬪垎绾� @@ -233,11 +256,12 @@ * @throws */ @Transactional(rollbackFor = Exception.class) - public void addDividents(Long uid, String day) - throws TeamDividentsRecordException, TeamDividentsDebtException, UserMoneyDetailException, ParamsException { + public void addToTeamEincome(Long uid, String day) throws TeamDividentsRecordException, TeamDividentsDebtException, + UserMoneyDetailException, ParamsException, TeamEincomeRecordException { + Date preSendTime = new Date(TimeUtil.convertToTimeTemp(day, "yyyy-MM-dd")); BigDecimal money = teamDividentsSourceUserService.sumMoneyByUidAndDay(uid, day); // 鏌ヨ闇�瑕佹墸闄ょ殑璧勯噾 - List<TeamDividentsDebt> list = teamDividentsDebtService.listNeedRepayDebt(uid, 1, 1000); + List<TeamDividentsDebt> list = teamDividentsDebtService.listNeedRepayDebt(uid, preSendTime, 1, 1000); for (TeamDividentsDebt debt : list) { if (money.subtract(debt.getLeftMoney()).compareTo(new BigDecimal(0)) >= 0) {// 杩樻湁閽辫繕 money = money.subtract(debt.getLeftMoney()); @@ -259,12 +283,9 @@ // 鏈夊垎绾㈡墠鏄剧ず璧勯噾鏄庣粏 if (money.compareTo(new BigDecimal(0)) > 0) { - UserMoneyDetail detail = UserMoneyDetailFactory.createOrderTeamDividents(uid, money, new Date()); - // 澧炲姞璧勯噾 - userMoneyService.addUserMoney(uid, money, detail); - // TODO 鍔犲叆閫氱煡 - } + teamEincomeManager.addTeamDividents(uid, preSendTime, money); + } } /** -- Gitblit v1.8.0