From d1f26741bddf6f512d62c0100d42c52be8d37e76 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 06 二月 2021 15:35:40 +0800 Subject: [PATCH] 工具类优化 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java | 30 +++++++++++++++++++++--------- 1 files changed, 21 insertions(+), 9 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 d6d5432..8a3466f 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 @@ -112,8 +112,16 @@ private RocketMQManager rocketMQManager; // 涓嬬骇琚皝绂侊紝绾㈠寘澶辨晥 - private void invalidHongBaoForbidden(Long id) { - HongBaoV2 updateHongBaoV2 = new HongBaoV2(id); + private void invalidHongBaoForbidden(HongBaoV2 hongBaoV2) throws TeamRewardDebtException { + if (hongBaoV2.getState() == HongBaoV2.STATE_SHIXIAO || hongBaoV2.getState() == HongBaoV2.STATE_YILINGQU || hongBaoV2.getState() == HongBaoV2.STATE_LINGQUING) + return; + //濡傛灉鍦ㄥ伩杩橀噷闈㈠氨鍏堝伩杩橈紝鐒跺悗鍐嶅け鏁� + TeamRewardDebt debt = teamRewardDebtService.selectBySourceId(hongBaoV2.getId()); + if (debt != null && debt.getLeftMoney().compareTo(hongBaoV2.getMoney()) <= 0) { + teamRewardDebtService.repayDebt(debt.getId(), hongBaoV2.getMoney(), "灏佺澶辨晥锛屽厛鍋胯繕鍐嶅け鏁�"); + } + + HongBaoV2 updateHongBaoV2 = new HongBaoV2(hongBaoV2.getId()); updateHongBaoV2.setState(HongBaoV2.STATE_SHIXIAO); updateHongBaoV2.setBeizhu("灏佺澶辨晥"); updateHongBaoV2.setUpdateTime(new Date()); @@ -125,7 +133,7 @@ public void inviteSettleTB(Long uid, Date maxPregetTime) throws OrderMoneySettleException { // 鏌ヨUID鐨勪竴浜岀骇閭�璇疯禋 int sourceType = Constant.SOURCE_TYPE_TAOBAO; - inviteSettle(uid,sourceType,maxPregetTime); + inviteSettle(uid, sourceType, maxPregetTime); } @Transactional(rollbackFor = Exception.class) @@ -133,7 +141,7 @@ public void inviteSettleJD(Long uid, Date maxPregetTime) throws OrderMoneySettleException { // 鏌ヨUID鐨勪竴浜岀骇閭�璇疯禋 int sourceType = Constant.SOURCE_TYPE_JD; - inviteSettle(uid,sourceType,maxPregetTime); + inviteSettle(uid, sourceType, maxPregetTime); } @Transactional(rollbackFor = Exception.class) @@ -141,7 +149,7 @@ public void inviteSettlePDD(Long uid, Date maxPregetTime) throws OrderMoneySettleException { // 鏌ヨUID鐨勪竴浜岀骇閭�璇疯禋 int sourceType = Constant.SOURCE_TYPE_PDD; - inviteSettle(uid,sourceType,maxPregetTime); + inviteSettle(uid, sourceType, maxPregetTime); } @Transactional(rollbackFor = Exception.class) @@ -149,7 +157,7 @@ public void inviteSettleVipShop(Long uid, Date maxPregetTime) throws OrderMoneySettleException { // 鏌ヨUID鐨勪竴浜岀骇閭�璇疯禋 int sourceType = Constant.SOURCE_TYPE_VIP; - inviteSettle(uid,sourceType,maxPregetTime); + inviteSettle(uid, sourceType, maxPregetTime); } @@ -158,7 +166,7 @@ public void inviteSettleSuning(Long uid, Date maxPregetTime) throws OrderMoneySettleException { // 鏌ヨUID鐨勪竴浜岀骇閭�璇疯禋 int sourceType = Constant.SOURCE_TYPE_SUNING; - inviteSettle(uid,sourceType,maxPregetTime); + inviteSettle(uid, sourceType, maxPregetTime); } @@ -190,7 +198,11 @@ // 涓婄骇鐢ㄦ埛涓嶆槸姝e父鐢ㄦ埛锛岃鍗曞潎涓嶈兘鍒拌处 UserInfo userInfo = userInfoMapper.selectAvailableByPrimaryKey(co.getUserInfo().getId()); if (userInfo == null || userInfo.getState() != UserInfo.STATE_NORMAL) { - invalidHongBaoForbidden(item.getId()); + try { + invalidHongBaoForbidden(item); + } catch (TeamRewardDebtException e) { + throw new OrderMoneySettleException(10, "鍋胯繕鍑洪敊"); + } hongBaoList.remove(i); i--; } @@ -535,7 +547,7 @@ && money.compareTo(debt.getLeftMoney()) >= 0) { money = money.subtract(debt.getLeftMoney()); // 杩橀挶 - teamRewardDebtService.repayDebt(debt.getId(), debt.getLeftMoney()); + teamRewardDebtService.repayDebt(debt.getId(), debt.getLeftMoney(), null); } invitemoney = invitemoney.add(money); -- Gitblit v1.8.0