From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 25 二月 2025 16:41:22 +0800
Subject: [PATCH] 淘宝转链接口更新

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java |   44 ++++++++++++++++++++++++++++++++------------
 1 files changed, 32 insertions(+), 12 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 c2e3091..af55571 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
@@ -13,6 +13,7 @@
 
 import javax.annotation.Resource;
 
+import com.yeshi.fanli.util.mq.rabbit.RabbitmqManager;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
@@ -115,13 +116,16 @@
     @Resource
     private RocketMQManager rocketMQManager;
 
+    @Resource
+    private HongBaoRecieveCMQManager hongBaoRecieveCMQManager;
+
     // 涓嬬骇琚皝绂侊紝绾㈠寘澶辨晥
     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) {
+        if (debt != null &&debt.getLeftMoney().compareTo(new BigDecimal(0))>0  && debt.getLeftMoney().compareTo(hongBaoV2.getMoney()) <= 0) {
             teamRewardDebtService.repayDebt(debt.getId(), hongBaoV2.getMoney(), "灏佺澶辨晥锛屽厛鍋胯繕鍐嶅け鏁�");
         }
 
@@ -161,6 +165,13 @@
     public void inviteSettleVipShop(Long uid, Date maxPregetTime) throws OrderMoneySettleException {
         // 鏌ヨUID鐨勪竴浜岀骇閭�璇疯禋
         int sourceType = Constant.SOURCE_TYPE_VIP;
+        inviteSettle(uid, sourceType, maxPregetTime);
+    }
+
+    @Override
+    public void inviteSettleDY(Long uid, Date maxPregetTime) throws OrderMoneySettleException {
+        // 鏌ヨUID鐨勪竴浜岀骇閭�璇疯禋
+        int sourceType = Constant.SOURCE_TYPE_DY;
         inviteSettle(uid, sourceType, maxPregetTime);
     }
 
@@ -205,6 +216,7 @@
                             try {
                                 invalidHongBaoForbidden(item);
                             } catch (TeamRewardDebtException e) {
+                                e.printStackTrace();
                                 throw new OrderMoneySettleException(10, "鍋胯繕鍑洪敊");
                             }
                             hongBaoList.remove(i);
@@ -276,7 +288,7 @@
                 @Override
                 public TransactionStatus execute(Message arg0, Object arg1) {
                     try {
-                        fanLiShareTB(hongBaoList, uid, taskKey);
+                        fanLiShareTB(hongBaoList, uid, taskKey,maxPregetTime);
                     } catch (TaoBaoWeiQuanException e) {
                         return TransactionStatus.RollbackTransaction;
                     }
@@ -320,7 +332,7 @@
             orderTransactionProducer.send(msg, new LocalTransactionExecuter() {
                 @Override
                 public TransactionStatus execute(Message arg0, Object arg1) {
-                    fanLiShareOther(hongBaoList, uid, sourceType, taskKey);
+                    fanLiShareOther(hongBaoList, uid, sourceType, taskKey,maxPregetTime);
                     return TransactionStatus.CommitTransaction;
                 }
             }, null);
@@ -345,6 +357,11 @@
     @Override
     public void shareSettleSuning(Long uid, Date maxPregetTime) throws OrderMoneySettleException {
         shareSettle(Constant.SOURCE_TYPE_SUNING, uid, maxPregetTime);
+    }
+
+    @Override
+    public void shareSettleDY(Long uid, Date maxPregetTime) throws OrderMoneySettleException {
+        shareSettle(Constant.SOURCE_TYPE_DY, uid, maxPregetTime);
     }
 
     private void shareSettle(int sourceType, Long uid, Date maxPregetTime) throws OrderMoneySettleException {
@@ -376,7 +393,7 @@
             orderTransactionProducer.send(msg, new LocalTransactionExecuter() {
                 @Override
                 public TransactionStatus execute(Message arg0, Object arg1) {
-                    fanLiShareOther(hongBaoList, uid, sourceType, taskKey);
+                    fanLiShareOther(hongBaoList, uid, sourceType, taskKey,maxPregetTime);
                     return TransactionStatus.CommitTransaction;
                 }
             }, null);
@@ -396,6 +413,9 @@
         Map<Long, Integer> userGoodsCount = new HashMap<>();
         for (CommonOrder co : orderList) {
             HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByCommonOrderId(co.getId());
+            if (hongBaoOrder == null) {
+                continue;
+            }
             hongBaoList.add(hongBaoOrder.getHongBaoV2());
             Long uid = co.getUserInfo().getId();
             if (userGoodsCount.get(uid) == null)
@@ -481,7 +501,7 @@
                 hbIdList.add(v2.getId());
                 accountDetailsHongBaoMapService.saveAccountDetailsHongBaoMap(v2.getId(), userMoneyDetail.getId());
                 try {
-                    HongBaoRecieveCMQManager.getInstance().addHongBaoRecieveMsg(v2.getId());
+                    hongBaoRecieveCMQManager.addHongBaoRecieveMsg(v2.getId());
                 } catch (Exception e) {
                     LogHelper.errorDetailInfo(e);
                 }
@@ -585,7 +605,7 @@
         for (Long hongBaoId : hbIdList) {
             try {
                 if (Constant.ENABLE_MQ)
-                    HongBaoRecieveCMQManager.getInstance().addHongBaoRecieveMsg(hongBaoId);
+                    hongBaoRecieveCMQManager.addHongBaoRecieveMsg(hongBaoId);
             } catch (Exception e) {
                 LogHelper.errorDetailInfo(e);
             }
@@ -599,7 +619,7 @@
      * @param uid
      * @throws TaoBaoWeiQuanException
      */
-    private void fanLiShareTB(List<HongBaoV2> hongBaoList, Long uid, String key) throws TaoBaoWeiQuanException {
+    private void fanLiShareTB(List<HongBaoV2> hongBaoList, Long uid, String key,Date recieveMonth) throws TaoBaoWeiQuanException {
         BigDecimal sharemoney = new BigDecimal(0);
         List<Long> hbIdList = new ArrayList<>();
         Set<String> drawBackOrders = new HashSet<String>();
@@ -644,7 +664,7 @@
             // 娣诲姞鏂扮増璇︽儏璁板綍
             try {
                 UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createShare(uid, Constant.SOURCE_TYPE_TAOBAO,
-                        sharemoney, new Date());
+                        sharemoney,recieveMonth);
                 // 娣诲姞璧勯噾
                 userMoneyService.addUserMoney(uid, sharemoney, userMoneyDetail);
 
@@ -674,7 +694,7 @@
         for (Long hongBaoId : recieveHongBaoIds) {
             try {
                 if (Constant.ENABLE_MQ)
-                    HongBaoRecieveCMQManager.getInstance().addHongBaoRecieveMsg(hongBaoId);
+                    hongBaoRecieveCMQManager.addHongBaoRecieveMsg(hongBaoId);
             } catch (Exception e) {
                 LogHelper.errorDetailInfo(e);
             }
@@ -689,7 +709,7 @@
      * @param uid
      * @param sourceType
      */
-    private void fanLiShareOther(List<HongBaoV2> hongBaoList, Long uid, int sourceType, String key) {
+    private void fanLiShareOther(List<HongBaoV2> hongBaoList, Long uid, int sourceType, String key,Date recieveMonth) {
         BigDecimal sharemoney = new BigDecimal(0);
         List<Long> hbIdList = new ArrayList<>();
         List<Long> recieveHongBaoIds = new ArrayList<>();
@@ -725,7 +745,7 @@
             // 娣诲姞鏂扮増璇︽儏璁板綍
             try {
                 UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createShare(uid, sourceType, sharemoney,
-                        new Date());
+                        recieveMonth);
                 // 娣诲姞璧勯噾
                 userMoneyService.addUserMoney(uid, sharemoney, userMoneyDetail);
 
@@ -751,7 +771,7 @@
         for (Long hongBaoId : recieveHongBaoIds) {
             try {
                 if (Constant.ENABLE_MQ)
-                    HongBaoRecieveCMQManager.getInstance().addHongBaoRecieveMsg(hongBaoId);
+                    hongBaoRecieveCMQManager.addHongBaoRecieveMsg(hongBaoId);
             } catch (Exception e) {
                 LogHelper.errorDetailInfo(e);
             }

--
Gitblit v1.8.0