From 3824cbcaec6e6c67418d5280a53e9c2fedeef6f9 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 11 七月 2019 16:34:13 +0800 Subject: [PATCH] 订单bug,分享爆款自购修改 --- fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoWeiQuanDrawBackServiceImpl.java | 37 ++++++++++++++++++++++--------------- 1 files changed, 22 insertions(+), 15 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoWeiQuanDrawBackServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoWeiQuanDrawBackServiceImpl.java index 76db6ac..63607eb 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoWeiQuanDrawBackServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoWeiQuanDrawBackServiceImpl.java @@ -36,14 +36,13 @@ import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.money.UserMoneyDebtService; import com.yeshi.fanli.service.inter.msg.UserMoneyMsgNotificationService; -import com.yeshi.fanli.service.inter.order.CommonOrderService; import com.yeshi.fanli.service.inter.taobao.TaoBaoWeiQuanDrawBackService; import com.yeshi.fanli.service.inter.taobao.TaoBaoWeiQuanOrderService; +import com.yeshi.fanli.service.inter.user.UserMoneyService; import com.yeshi.fanli.service.inter.user.UserNotificationService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.MoneyBigDecimalUtil; import com.yeshi.fanli.util.StringUtil; -import com.yeshi.fanli.util.TaoBaoConstant; import com.yeshi.fanli.util.factory.UserMoneyDetailFactory; import com.yeshi.fanli.vo.order.CommonOrderVO; @@ -81,6 +80,9 @@ @Resource private UserMoneyDebtService userMoneyDebtService; + + @Resource + private UserMoneyService userMoneyService; @Override public void addWeiQuanDrawBack(TaoBaoWeiQuanDrawBack taoBaoWeiQuanDrawBack) { @@ -210,6 +212,8 @@ // 閫�娆鹃噾棰� BigDecimal drawBackMoney = MoneyBigDecimalUtil.div(userGetMoney.multiply(fanMoney), sumFee); + if (drawBackMoney.compareTo(userGetMoney) > 0) + drawBackMoney = userGetMoney;// 閫�娆鹃噾棰濅笉鑳芥瘮鑾峰緱鐨勯噾棰濆ぇ // 璁$畻璧勯噾鏄惁鍏呰冻 UserInfo user = userInfoMapper.selectByPKey(uid); if (user != null && user.getMyHongBao().compareTo(drawBackMoney) < 0)// 璧勯噾涓嶈冻 @@ -243,12 +247,10 @@ continue; } - userInfoMapper.subHongBaoByUid(uid, drawBackMoney); + UserMoneyDetail userMoneyDetail = null; // 鏂扮増璧勯噾璁板綍 try { - UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createFanLiWeiQuan(uid, weiQuanDrawBack, - drawBackMoney); - userMoneyDetailMapper.insert(userMoneyDetail); + userMoneyDetail = UserMoneyDetailFactory.createFanLiWeiQuan(uid, weiQuanDrawBack, drawBackMoney); } catch (UserMoneyDetailException e) { try { LogHelper.errorDetailInfo(e); @@ -256,6 +258,7 @@ e1.printStackTrace(); } } + userMoneyService.subUserMoney(uid, drawBackMoney, userMoneyDetail); // 鏂扮増閫氱煡 userMoneyMsgNotificationService.fanliOrderWeiQuan(uid, orderId, drawBackMoney, @@ -363,6 +366,8 @@ // 閫�娆鹃噾棰� BigDecimal drawBackMoney = MoneyBigDecimalUtil.div(userGetMoney.multiply(fanMoney), sumFee); + if (drawBackMoney.compareTo(userGetMoney) > 0) + drawBackMoney = userGetMoney; for (TaoBaoWeiQuanDrawBack drawBack : newWeiQuanDrawBackList) taoBaoWeiQuanDrawBackMapper.insertSelective(drawBack); @@ -418,12 +423,10 @@ continue; } - userInfoMapper.subHongBaoByUid(uid, drawBackMoney); + UserMoneyDetail userMoneyDetail = null; // 鏂扮増璧勯噾璁板綍 try { - UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createShareWeiQuan(uid, weiQuanDrawBack, - drawBackMoney); - userMoneyDetailMapper.insert(userMoneyDetail); + userMoneyDetail = UserMoneyDetailFactory.createShareWeiQuan(uid, weiQuanDrawBack, drawBackMoney); } catch (UserMoneyDetailException e) { try { LogHelper.errorDetailInfo(e); @@ -431,6 +434,7 @@ e1.printStackTrace(); } } + userMoneyService.subUserMoney(uid, drawBackMoney, userMoneyDetail); userMoneyMsgNotificationService.shareOrderWeiQuan(uid, orderId, drawBackMoney, userInfoMapper.selectByPrimaryKey(uid).getMyHongBao()); @@ -484,6 +488,8 @@ if (weiQuanDrawBack != null) continue; BigDecimal drawBackMoney = MoneyBigDecimalUtil.div(child.getMoney().multiply(fanMoney), sumFee); + if (drawBackMoney.compareTo(child.getMoney()) > 0) + drawBackMoney = child.getMoney(); weiQuanDrawBack = new TaoBaoWeiQuanDrawBack(); weiQuanDrawBack.setCreateTime(new Date()); weiQuanDrawBack.setDrawBackMoney(drawBackMoney); @@ -504,13 +510,11 @@ continue; } - userInfoMapper.subHongBaoByUid(uid, drawBackMoney); - + UserMoneyDetail userMoneyDetail = null; // 鏂扮増璧勯噾璁板綍 try { - UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createInviteWeiQuan(uid, - weiQuanDrawBack, drawBackMoney); - userMoneyDetailMapper.insert(userMoneyDetail); + userMoneyDetail = UserMoneyDetailFactory.createInviteWeiQuan(uid, weiQuanDrawBack, + drawBackMoney); } catch (UserMoneyDetailException e) { try { LogHelper.errorDetailInfo(e); @@ -518,6 +522,9 @@ e1.printStackTrace(); } } + + userMoneyService.subUserMoney(uid, drawBackMoney, userMoneyDetail); + // 鏂扮増閫氱煡 userMoneyMsgNotificationService.inviteOrderWeiQuan(uid, orderId, drawBackMoney, userInfoMapper.selectByPrimaryKey(uid).getMyHongBao()); -- Gitblit v1.8.0