From f15acf7f2d57db3a32c574b0dfc21f564dca6024 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期二, 24 三月 2020 12:01:40 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div --- fanli/src/main/java/com/yeshi/fanli/service/impl/money/tb/TaoBaoWeiQuanDrawBackServiceImpl.java | 51 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 49 insertions(+), 2 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/money/tb/TaoBaoWeiQuanDrawBackServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/money/tb/TaoBaoWeiQuanDrawBackServiceImpl.java index 271cde1..dd22ec2 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/money/tb/TaoBaoWeiQuanDrawBackServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/money/tb/TaoBaoWeiQuanDrawBackServiceImpl.java @@ -23,27 +23,32 @@ import com.yeshi.fanli.entity.bus.user.HongBaoV2; import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.entity.money.InviteOrderSubsidyDebt; +import com.yeshi.fanli.entity.money.OrderTeamRewardDebt; import com.yeshi.fanli.entity.money.UserMoneyDebt; import com.yeshi.fanli.entity.money.UserMoneyDebt.UserMoneyDebtTypeEnum; import com.yeshi.fanli.entity.money.UserMoneyDetail; import com.yeshi.fanli.entity.order.CommonOrder; import com.yeshi.fanli.entity.order.HongBaoOrder; import com.yeshi.fanli.entity.order.InviteOrderSubsidy; +import com.yeshi.fanli.entity.order.OrderTeamReward; import com.yeshi.fanli.entity.taobao.TaoBaoOrder; import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanDrawBack; import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder; import com.yeshi.fanli.exception.money.InviteOrderSubsidyDebtException; +import com.yeshi.fanli.exception.money.OrderTeamRewardDebtException; import com.yeshi.fanli.exception.money.UserMoneyDebtException; import com.yeshi.fanli.exception.money.UserMoneyDetailException; import com.yeshi.fanli.exception.order.TaoBaoWeiQuanException; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.money.InviteOrderSubsidyDebtService; +import com.yeshi.fanli.service.inter.money.OrderTeamRewardDebtService; import com.yeshi.fanli.service.inter.money.UserMoneyDebtService; import com.yeshi.fanli.service.inter.money.UserMoneyDetailService; import com.yeshi.fanli.service.inter.money.UserMoneyService; import com.yeshi.fanli.service.inter.money.msg.UserMoneyMsgNotificationService; import com.yeshi.fanli.service.inter.money.tb.TaoBaoWeiQuanDrawBackService; import com.yeshi.fanli.service.inter.order.InviteOrderSubsidyService; +import com.yeshi.fanli.service.inter.order.OrderTeamRewardService; import com.yeshi.fanli.service.inter.order.tb.TaoBaoWeiQuanOrderService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; @@ -88,7 +93,13 @@ private InviteOrderSubsidyService inviteOrderSubsidyService; @Resource + private OrderTeamRewardService orderTeamRewardService; + + @Resource private InviteOrderSubsidyDebtService inviteOrderSubsidyDebtService; + + @Resource + private OrderTeamRewardDebtService orderTeamRewardDebtService; @Resource private UserMoneyDetailService userMoneyDetailService; @@ -527,7 +538,8 @@ taoBaoWeiQuanDrawBackMapper.insertSelective(weiQuanDrawBack);// 鍔犲叆杩旇繕璁板綍 // 鍔犲叆閭�璇疯ˉ璐磋繑杩樿褰� - doInviteOrderSubsidy(orderId, Constant.SOURCE_TYPE_TAOBAO, uid, settleMent, wqMoney); + doInviteOrderSubsidy(orderId, Constant.SOURCE_TYPE_TAOBAO, uid, settleMent, wqMoney, + weiQuanOrder.getOrderItemId()); // 濡傛灉璧勯噾澶т簬0鎵嶆墸闄� @@ -575,7 +587,7 @@ * @param sourceType */ private void doInviteOrderSubsidy(String orderId, int sourceType, Long uid, BigDecimal settleMent, - BigDecimal weiQuanMoney) throws TaoBaoWeiQuanException { + BigDecimal weiQuanMoney, String tradeId) throws TaoBaoWeiQuanException { InviteOrderSubsidy subSidy = inviteOrderSubsidyService.getByOrderNoAndType(uid, orderId, sourceType); if (subSidy != null)// 娣诲姞鍊熻捶鍏崇郴 { @@ -587,14 +599,49 @@ debt.setOriginMoney(drawBackMoney); debt.setUid(uid); debt.setCreateTime(new Date()); + debt.setSourceId(subSidy.getId()); + debt.setTradeId(tradeId); try { inviteOrderSubsidyDebtService.addDebt(debt); } catch (InviteOrderSubsidyDebtException e) { throw new TaoBaoWeiQuanException(101, "閭�璇疯鍗曡ˉ璐村紓甯�"); } + + doOrderTeamReard(subSidy.getId(), settleMent, weiQuanMoney, tradeId); } } + /** + * 鍥㈤槦濂栧姳缁存潈澶勭悊 + * @Title: doOrderTeamReard + * @Description: + * @param subsidyId + * void 杩斿洖绫诲瀷 + * @throws + */ + private void doOrderTeamReard(Long subsidyId, BigDecimal settleMent, BigDecimal weiQuanMoney, String tradeId) + throws TaoBaoWeiQuanException { + List<OrderTeamReward> list = orderTeamRewardService.listBySubsidyId(subsidyId); + if (list != null) + for (OrderTeamReward reward : list) { + BigDecimal drawBackMoney = computeDrawBackMoney(settleMent, weiQuanMoney, reward.getOriginalMoney()); + if (drawBackMoney.compareTo(new BigDecimal(0)) <= 0) + return; + OrderTeamRewardDebt debt = new OrderTeamRewardDebt(); + debt.setBeiZhu("璁㈠崟鍞悗"); + debt.setOriginMoney(drawBackMoney); + debt.setUid(reward.getUid()); + debt.setCreateTime(new Date()); + debt.setTradeId(tradeId); + debt.setSourceId(reward.getId()); + try { + orderTeamRewardDebtService.addDebt(debt); + } catch (OrderTeamRewardDebtException e) { + throw new TaoBaoWeiQuanException(102, "鍥㈤槦濂栧姳寮傚父"); + } + } + } + @Override public TaoBaoWeiQuanDrawBack selectByOrderItemId(String orderItemId) { List<TaoBaoWeiQuanDrawBack> list = taoBaoWeiQuanDrawBackMapper.selectByOrderItemId(orderItemId); -- Gitblit v1.8.0