From c31b9a70e3787b47bccc15e40abf0710478fbb3a Mon Sep 17 00:00:00 2001 From: Administrator <Administrator@Admin> Date: 星期三, 19 十二月 2018 17:09:51 +0800 Subject: [PATCH] 动态分享添加返回返利金额 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java | 28 +++++++++++++++++++++++++--- 1 files changed, 25 insertions(+), 3 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java index 1e2fae5..9f426ce 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java @@ -45,6 +45,8 @@ import com.yeshi.fanli.exception.OrderItemException; import com.yeshi.fanli.exception.TaoBaoWeiQuanException; import com.yeshi.fanli.log.LogHelper; +import com.yeshi.fanli.service.inter.hongbao.AccountDetailsHongBaoMapService; +import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService; import com.yeshi.fanli.service.inter.hongbao.HongBaoService; import com.yeshi.fanli.service.inter.order.LostOrderService; import com.yeshi.fanli.service.inter.order.OrderItemServcie; @@ -135,6 +137,12 @@ @Resource private TaoBaoWeiQuanOrderMapper taoBaoWeiQuanOrderMapper; + + @Resource + private HongBaoManageService hongBaoManageService; + + @Resource + private AccountDetailsHongBaoMapService accountDetailsHongBaoMapService; @Override public void processOrder(Map<String, List<TaoBaoOrder>> orders) { @@ -417,7 +425,7 @@ orderMapper.updateByPrimaryKeySelective(updateOrder); Order order = oldOrder; // 璁㈠崟杩斿埄姣斾緥 - BigDecimal rate = new BigDecimal(hongBaoManageMapper.selectByKey("hongbao_goods_proportion").getValue()); + BigDecimal rate = hongBaoManageService.getFanLiRate(); // 鏌ユ壘鏄惁瀛樺湪绾㈠寘 List<HongBao> hongBaoList = hongBaoMapper.selectByOid(order.getId()); @@ -500,6 +508,9 @@ AccountDetails accountDetails = AccountDetailsFactory.create("+" + hb.getMoney(), AccountDetailsFactory.FANLI, orderItem, null, hb.getUserInfo()); accountDetailsMapper.insertSelective(accountDetails); + + // 娣诲姞璧勯噾鏄庣粏涓庣孩鍖呯殑鏄犲皠鍏崇郴 + accountDetailsHongBaoMapService.saveAccountDetailsHongBaoMap(hb.getId(), accountDetails.getId()); // 缁存潈鎵f锛�2018-08-05鍚庡紑濮嬪疄琛岋級 if (hb.getBalanceTime() != null @@ -596,6 +607,8 @@ // 鏌ヨUID鐨勯個璇疯禋璁㈠崟 List<HongBao> hongBaoList = hongBaoMapper.selectCanBalanceHongBaoByChildHongBaoAndUid(uid); + List<Long> hbIdList = new ArrayList<>(); + BigDecimal money = new BigDecimal(0); // 闇�瑕佸垽鏂��娆剧殑璁㈠崟鍙� Set<String> drawBackOrders = new HashSet<String>(); @@ -603,7 +616,7 @@ hongBao = filterWeiQuanINGHongBao(hongBao); if (hongBao == null) continue; - + hongBao = hongBaoMapper.selectByPrimaryKeyForUpdate(hongBao.getId()); if (hongBao.getState() == HongBao.STATE_BUKELINGQU || hongBao.getState() == HongBao.STATE_KELINGQU) { money = money.add(hongBao.getMoney()); @@ -612,6 +625,8 @@ updateHongBao.setGetTime(System.currentTimeMillis()); updateHongBao.setState(HongBao.STATE_YILINGQU); hongBaoMapper.updateByPrimaryKeySelective(updateHongBao); + // 娣诲姞鍒扮孩鍖呰繑鍒╄褰曢泦鍚� + hbIdList.add(hongBao.getId()); // 2018-08-05 杩囧悗鐨勮鍗曟墠澶勭悊缁存潈 Date balanceTime = null; if (hongBao.getParent() != null) @@ -646,6 +661,8 @@ updateHongBao.setGetTime(System.currentTimeMillis()); updateHongBao.setState(HongBao.STATE_YILINGQU); hongBaoMapper.updateByPrimaryKeySelective(updateHongBao); + // 娣诲姞鍒扮孩鍖呰繑鍒╄褰曢泦鍚� + hbIdList.add(hongBao.getId()); // 2018-08-05 杩囧悗鐨勮鍗曟墠澶勭悊缁存潈 Date balanceTime = null; if (hongBao.getParent() != null) @@ -675,7 +692,6 @@ if (hbList != null && hbList.size() > 0) totalHongBaoList.addAll(hbList); - for (HongBao hb : totalHongBaoList) { if (hb.getState() == HongBao.STATE_BUKELINGQU || hb.getState() == HongBao.STATE_KELINGQU) { hb = filterWeiQuanINGHongBao(hb); @@ -687,6 +703,8 @@ updateHongBao.setGetTime(System.currentTimeMillis()); updateHongBao.setState(HongBao.STATE_YILINGQU); hongBaoMapper.updateByPrimaryKeySelective(updateHongBao); + // 娣诲姞鍒扮孩鍖呰繑鍒╄褰曢泦鍚� + hbIdList.add(hb.getId()); if (!StringUtil.isNullOrEmpty(hb.getOrderId())) drawBackOrders.add(hb.getOrderId()); } @@ -702,6 +720,10 @@ AccountDetails accountDetails = AccountDetailsFactory.create("+" + money, AccountDetailsFactory.TICHENG, null, null, new UserInfo(uid)); accountDetailsMapper.insertSelective(accountDetails); + // 璁板綍杩斿埄绾㈠寘涓庤祫閲戣鎯呯殑瀵瑰簲鍏崇郴 + + // 娣诲姞鍒扮孩鍖呰繑鍒╄褰曢泦鍚� + accountDetailsHongBaoMapService.saveAccountDetailsHongBaoMap(hbIdList, accountDetails.getId()); // 鍙戦�佹帹閫� try { -- Gitblit v1.8.0