From 733281fcb5f1ab01e1196b542b7e07b49b3e44c4 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 25 十月 2019 17:02:55 +0800 Subject: [PATCH] 订单消息,返利消息,返利券使用,邀请订单补贴 --- fanli/src/main/java/com/yeshi/fanli/service/impl/money/tb/TaoBaoWeiQuanDrawBackServiceImpl.java | 42 +++++++++++++++++++++++++++++++++++++++++- 1 files changed, 41 insertions(+), 1 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 f71c207..fa0afc5 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 @@ -22,25 +22,29 @@ import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoWeiQuanDrawBackMapper; 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.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.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.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.UserMoneyDebtService; 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.tb.TaoBaoWeiQuanOrderService; import com.yeshi.fanli.util.Constant; -import com.yeshi.fanli.util.MoneyBigDecimalUtil; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.factory.UserMoneyDetailFactory; import com.yeshi.fanli.vo.order.CommonOrderVO; @@ -79,6 +83,12 @@ @Resource private UserMoneyService userMoneyService; + + @Resource + private InviteOrderSubsidyService inviteOrderSubsidyService; + + @Resource + private InviteOrderSubsidyDebtService inviteOrderSubsidyDebtService; @Override public void addWeiQuanDrawBack(TaoBaoWeiQuanDrawBack taoBaoWeiQuanDrawBack) { @@ -506,6 +516,9 @@ weiQuanDrawBack.setUser(child.getUserInfo()); taoBaoWeiQuanDrawBackMapper.insertSelective(weiQuanDrawBack);// 鍔犲叆杩旇繕璁板綍 + // 鍔犲叆閭�璇疯ˉ璐磋繑杩樿褰� + doInviteOrderSubsidy(orderId, Constant.SOURCE_TYPE_TAOBAO, uid, settleMent, wqMoney); + // 濡傛灉璧勯噾澶т簬0鎵嶆墸闄� if (drawBackMoney != null && drawBackMoney.compareTo(new BigDecimal(0)) > 0) { @@ -545,6 +558,33 @@ } } + /** + * 閭�璇疯鍗曡ˉ璐寸淮鏉冨鐞� + * + * @param orderId + * @param sourceType + */ + private void doInviteOrderSubsidy(String orderId, int sourceType, Long uid, BigDecimal settleMent, + BigDecimal weiQuanMoney) throws TaoBaoWeiQuanException { + InviteOrderSubsidy subSidy = inviteOrderSubsidyService.getByOrderNoAndType(uid, orderId, sourceType); + if (subSidy != null)// 娣诲姞鍊熻捶鍏崇郴 + { + BigDecimal drawBackMoney = computeDrawBackMoney(settleMent, weiQuanMoney, subSidy.getOriginalMoney()); + if (drawBackMoney.compareTo(new BigDecimal(0)) <= 0) + return; + InviteOrderSubsidyDebt debt = new InviteOrderSubsidyDebt(); + debt.setBeiZhu("璁㈠崟缁存潈:" + orderId + "-" + sourceType); + debt.setOriginMoney(drawBackMoney); + debt.setUid(uid); + debt.setCreateTime(new Date()); + try { + inviteOrderSubsidyDebtService.addDebt(debt); + } catch (InviteOrderSubsidyDebtException e) { + throw new TaoBaoWeiQuanException(101, "閭�璇疯鍗曡ˉ璐村紓甯�"); + } + } + } + @Override public TaoBaoWeiQuanDrawBack selectByOrderItemId(String orderItemId) { List<TaoBaoWeiQuanDrawBack> list = taoBaoWeiQuanDrawBackMapper.selectByOrderItemId(orderItemId); -- Gitblit v1.8.0