From 17e98d7bcc27072f97976d24eb504abb02914891 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 11 四月 2020 09:20:14 +0800 Subject: [PATCH] 消息 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java | 80 ++++++++++++++++++++++----------------- 1 files changed, 45 insertions(+), 35 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java index d4d5d56..9251ff7 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java @@ -37,7 +37,6 @@ import com.yeshi.fanli.entity.order.HongBaoOrder; import com.yeshi.fanli.entity.order.HongBaoV2SettleTemp; import com.yeshi.fanli.entity.order.InviteOrderSubsidy; -import com.yeshi.fanli.entity.taobao.TaoBaoOrder; import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder; import com.yeshi.fanli.exception.money.InviteOrderSubsidyDebtException; import com.yeshi.fanli.exception.money.OrderMoneySettleException; @@ -47,6 +46,7 @@ import com.yeshi.fanli.service.inter.hongbao.AccountDetailsHongBaoMapService; import com.yeshi.fanli.service.inter.hongbao.HongBaoV2SettleTempService; import com.yeshi.fanli.service.inter.money.InviteOrderSubsidyDebtService; +import com.yeshi.fanli.service.inter.money.OrderTeamRewardDebtService; 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; @@ -62,7 +62,6 @@ import com.yeshi.fanli.util.factory.UserMoneyDetailFactory; import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory; import com.yeshi.fanli.util.rocketmq.MQTopicName; -import com.yeshi.fanli.util.taobao.TaoKeOrderApiUtil; @Service public class OrderMoneySettleServiceImpl implements OrderMoneySettleService { @@ -114,7 +113,20 @@ @Resource private HongBaoV2SettleTempService hongBaoV2SettleTempService; - @Transactional(rollbackFor=Exception.class) + + @Resource + private OrderTeamRewardDebtService orderTeamRewardDebtService; + + // 涓嬬骇琚皝绂侊紝绾㈠寘澶辨晥 + private void invalidHongBaoForbidden(Long id) { + HongBaoV2 updateHongBaoV2 = new HongBaoV2(id); + updateHongBaoV2.setState(HongBaoV2.STATE_SHIXIAO); + updateHongBaoV2.setBeizhu("灏佺澶辨晥"); + updateHongBaoV2.setUpdateTime(new Date()); + hongBaoV2Mapper.updateByPrimaryKeySelective(updateHongBaoV2); + } + + @Transactional(rollbackFor = Exception.class) @Override public void inviteSettleTB(Long uid) throws OrderMoneySettleException { // 鏌ヨUID鐨勪竴浜岀骇閭�璇疯禋 @@ -145,6 +157,7 @@ // 涓婄骇鐢ㄦ埛涓嶆槸姝e父鐢ㄦ埛锛岃鍗曞潎涓嶈兘鍒拌处 UserInfo userInfo = userInfoMapper.selectAvailableByPrimaryKey(co.getUserInfo().getId()); if (userInfo == null || userInfo.getState() != UserInfo.STATE_NORMAL) { + invalidHongBaoForbidden(item.getId()); hongBaoList.remove(i); i--; } @@ -179,7 +192,7 @@ System.out.println(new Gson().toJson(mqMsg)); } - @Transactional(rollbackFor=Exception.class) + @Transactional(rollbackFor = Exception.class) @Override public void inviteSettleJD(Long uid) throws OrderMoneySettleException { // 鏌ヨUID鐨勪竴浜岀骇閭�璇疯禋 @@ -210,6 +223,7 @@ // 涓婄骇鐢ㄦ埛涓嶆槸姝e父鐢ㄦ埛锛岃鍗曞潎涓嶈兘鍒拌处 UserInfo userInfo = userInfoMapper.selectAvailableByPrimaryKey(co.getUserInfo().getId()); if (userInfo == null || userInfo.getState() != UserInfo.STATE_NORMAL) { + invalidHongBaoForbidden(item.getId()); hongBaoList.remove(i); i--; } @@ -238,7 +252,7 @@ } } - @Transactional(rollbackFor=Exception.class) + @Transactional(rollbackFor = Exception.class) @Override public void inviteSettlePDD(Long uid) throws OrderMoneySettleException { // 鏌ヨUID鐨勪竴浜岀骇閭�璇疯禋 @@ -269,6 +283,7 @@ // 涓婄骇鐢ㄦ埛涓嶆槸姝e父鐢ㄦ埛锛岃鍗曞潎涓嶈兘鍒拌处 UserInfo userInfo = userInfoMapper.selectAvailableByPrimaryKey(co.getUserInfo().getId()); if (userInfo == null || userInfo.getState() != UserInfo.STATE_NORMAL) { + invalidHongBaoForbidden(item.getId()); hongBaoList.remove(i); i--; } @@ -297,7 +312,7 @@ } } - @Transactional(rollbackFor=Exception.class) + @Transactional(rollbackFor = Exception.class) @Override public void shareSettleTB(Long uid) throws OrderMoneySettleException { /** @@ -342,7 +357,7 @@ } } - @Transactional(rollbackFor=Exception.class) + @Transactional(rollbackFor = Exception.class) @Override public void shareSettleJD(Long uid) throws OrderMoneySettleException { /** @@ -383,7 +398,7 @@ } } - @Transactional(rollbackFor=Exception.class) + @Transactional(rollbackFor = Exception.class) @Override public void shareSettlePDD(Long uid) throws OrderMoneySettleException { /** @@ -424,7 +439,7 @@ } } - @Transactional(rollbackFor=Exception.class) + @Transactional(rollbackFor = Exception.class) @Override public void ziGouSettle(String orderId, int sourceType, String taskKey) throws OrderMoneySettleException { // 鏌ヨ鍚屼竴璁㈠崟鍙风殑绾㈠寘 @@ -467,6 +482,25 @@ userHongBao.put(uid, new ArrayList<>()); userHongBao.get(uid).add(hb); } + } + } + + // 鑾峰彇缁存潈璧勯噾 + if (sourceType == Constant.SOURCE_TYPE_TAOBAO) { + try { + Map<Long, BigDecimal> userSubMoneyMap = taoBaoWeiQuanDrawBackService.doWeiQuanFanli(orderId, false); + if (userSubMoneyMap != null) { + for (Iterator<Long> its = userMoney.keySet().iterator(); its.hasNext();) { + Long uid = its.next(); + if (userSubMoneyMap.get(uid) != null) { + // 鍑忓幓缁存潈璧勯噾 + userMoney.put(uid, userMoney.get(uid).subtract(userSubMoneyMap.get(uid))); + } + } + } + } catch (Exception e) { + LogHelper.errorDetailInfo(e); + throw new OrderMoneySettleException(2, "缁存潈璁㈠崟鍑洪敊"); } } @@ -521,31 +555,6 @@ userSystemCouponService.updateStateByArrivalAccount(orderId); } catch (Exception e) { e.printStackTrace(); - } - - // 缁存潈鎵f锛�2018-08-05鍚庡紑濮嬪疄琛岋級 - - try { - if (sourceType == Constant.SOURCE_TYPE_TAOBAO) - taoBaoWeiQuanDrawBackService.doWeiQuanFanli(orderId); - } catch (TaoBaoWeiQuanException e) { - if (e.getCode() == TaoBaoWeiQuanException.CODE_NEDD_UPDATE_ORDER) { - List<TaoBaoOrder> olist = taoBaoOrderService.getTaoBaoOrderByOrderId(orderId); - if (olist != null && olist.size() > 0) { - long time = TimeUtil.convertToTimeTemp(olist.get(0).getCreateTime(), "yyyy-MM-dd HH:mm:ss"); - olist = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(time, time + 1000 * 2L, 1); - if (olist != null && olist.size() > 0) { - for (int i = 0; i < olist.size(); i++) { - if (!olist.get(i).getOrderId().equalsIgnoreCase(orderId)) {// 鍒犻櫎鏃犲叧璁㈠崟 - olist.remove(i); - i--; - } - } - taoBaoOrderService.addTaoBaoOrderList(olist); - } - } - } else - throw new OrderMoneySettleException(e.getCode(), "缁存潈澶勭悊鍑洪敊:" + e.getMsg()); } // 娣诲姞缁撶畻鏄犲皠 @@ -956,7 +965,7 @@ * @param orderId * @param sourceType */ - @Transactional(rollbackFor=Exception.class) + @Transactional(rollbackFor = Exception.class) @Override public void inviteSubsidySettle(Long uid, String taskKey) throws OrderMoneySettleException { // 鏌ヨkey @@ -1058,4 +1067,5 @@ } return debtMoney; } + } -- Gitblit v1.8.0