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