From 651f2856e9ae10aacbfb8327d967aacbb6d58333 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 12 四月 2023 18:13:58 +0800
Subject: [PATCH] 大淘客API修复/唯品会订单爬取策略修改

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java |   40 ++++++++++++++++++++++++++++++++--------
 1 files changed, 32 insertions(+), 8 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 8a3466f..c707697 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,8 @@
 
 import javax.annotation.Resource;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -63,6 +65,8 @@
 
 @Service
 public class OrderMoneySettleServiceImpl implements OrderMoneySettleService {
+
+    Logger logger = LoggerFactory.getLogger(OrderMoneySettleService.class);
 
     @Resource
     private HongBaoV2Mapper hongBaoV2Mapper;
@@ -157,6 +161,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);
     }
 
@@ -272,7 +283,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;
                     }
@@ -316,7 +327,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);
@@ -341,6 +352,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 {
@@ -372,7 +388,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);
@@ -392,6 +408,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)
@@ -530,6 +549,7 @@
 
     private void fanliInvite(List<HongBaoV2> hongBaoList, Long uid, int sourceType, String key, Date maxPreGetTime)
             throws TeamEincomeRecordException, ParamsException, TeamRewardDebtException {
+        logger.info("閭�璇峰閲戦鍒拌处锛歶id-{} sourceType-{} key-{}", new Object[]{uid, sourceType, key});
         List<Long> hbIdList = new ArrayList<>();
         BigDecimal invitemoney = new BigDecimal(0);
         Set<String> inviteOrders = new HashSet<>();
@@ -541,6 +561,7 @@
                 continue;
             hongBao = hongBaoV2Mapper.selectByPrimaryKeyForUpdate(hongBao.getId());
             if (hongBao.getState() == HongBaoV2.STATE_BUKELINGQU || hongBao.getState() == HongBaoV2.STATE_KELINGQU) {
+                logger.info("閭�璇峰閲戦鍒拌处-姣忎釜绾㈠寘-鍒拌处寮�濮嬶細hongbaoid-{}", hongBao.getId());
                 TeamRewardDebt debt = teamRewardDebtService.selectBySourceId(hongBao.getId());
                 BigDecimal money = hongBao.getMoney();
                 if (debt != null && debt.getLeftMoney().compareTo(new BigDecimal(0)) > 0
@@ -548,8 +569,9 @@
                     money = money.subtract(debt.getLeftMoney());
                     // 杩橀挶
                     teamRewardDebtService.repayDebt(debt.getId(), debt.getLeftMoney(), null);
+                    logger.info("閭�璇峰閲戦鍒拌处-姣忎釜绾㈠寘-杩樻锛歨ongbaoid-{} debtId-{} debtMoney-{}", new Object[]{hongBao.getId(), debt.getId(), debt.getLeftMoney()});
                 }
-
+                logger.info("閭�璇峰閲戦鍒拌处-姣忎釜绾㈠寘锛歨ongbaoid-{} money-{}", new Object[]{hongBao.getId(), money});
                 invitemoney = invitemoney.add(money);
                 HongBaoV2 updateHongBao = new HongBaoV2();
                 updateHongBao.setId(hongBao.getId());
@@ -561,6 +583,7 @@
                 hbIdList.add(hongBao.getId());
                 HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByHongBaoId(hongBao.getParent().getId());
                 inviteOrders.add(hongBaoOrder.getCommonOrder().getOrderNo());
+                logger.info("閭�璇峰閲戦鍒拌处-姣忎釜绾㈠寘-鍒拌处鎴愬姛锛歨ongbaoid-{}", hongBao.getId());
             }
         }
 
@@ -568,6 +591,7 @@
         if (invitemoney.compareTo(new BigDecimal(0)) > 0) {
             // 鑾峰彇褰撳墠鐨勬湀浠�
             teamRewardManager.addToEincome(uid, maxPreGetTime, invitemoney, sourceType);
+            logger.info("閭�璇峰閲戦鍒拌处-娣诲姞鍒板洟闃熸敹鐩婃垚鍔燂細uid-{} day-{} money-{} sourceType-{}", new Object[]{uid, maxPreGetTime, invitemoney, sourceType});
         }
 
         hongBaoV2SettleTempService.addTemp(hbIdList, key);
@@ -590,7 +614,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>();
@@ -635,7 +659,7 @@
             // 娣诲姞鏂扮増璇︽儏璁板綍
             try {
                 UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createShare(uid, Constant.SOURCE_TYPE_TAOBAO,
-                        sharemoney, new Date());
+                        sharemoney,recieveMonth);
                 // 娣诲姞璧勯噾
                 userMoneyService.addUserMoney(uid, sharemoney, userMoneyDetail);
 
@@ -680,7 +704,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<>();
@@ -716,7 +740,7 @@
             // 娣诲姞鏂扮増璇︽儏璁板綍
             try {
                 UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createShare(uid, sourceType, sharemoney,
-                        new Date());
+                        recieveMonth);
                 // 娣诲姞璧勯噾
                 userMoneyService.addUserMoney(uid, sharemoney, userMoneyDetail);
 

--
Gitblit v1.8.0