From 81da61b828e29b7745e1382dfbbaeb685dc083ef Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 23 一月 2024 17:17:55 +0800
Subject: [PATCH] 抖音转链修改

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java |  161 +++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 153 insertions(+), 8 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
index 9d206de..31e7355 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
@@ -1,6 +1,7 @@
 package com.yeshi.fanli.service.impl.order;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
@@ -15,8 +16,10 @@
 
 import com.yeshi.fanli.entity.SystemEnum;
 import com.yeshi.fanli.entity.SystemPIDInfo;
+import com.yeshi.fanli.entity.dy.DYOrder;
 import com.yeshi.fanli.service.manger.PIDManager;
 import com.yeshi.fanli.service.manger.order.TeamRewardManager;
+import com.yeshi.fanli.util.goods.douyin.DYUtil;
 import com.yeshi.fanli.util.pinduoduo.PinDuoDuoUtil;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
@@ -686,7 +689,7 @@
     }
 
     @Override
-    public void fanliShare(Date maxTime) {
+    public int fanliShare(Date maxTime) {
         // 鏌ュ嚭閭�璇疯禋鐨勭敤鎴稩D
         List<Integer> typeList = new ArrayList<>();
         typeList.add(HongBaoV2.TYPE_SHARE_GOODS);
@@ -717,6 +720,7 @@
             }
         }
 
+        return uidSets.size();
     }
 
     @Override
@@ -752,6 +756,12 @@
         } catch (OrderMoneySettleException e) {
             e.printStackTrace();
         }
+
+        try {
+            orderMoneySettleService.inviteSettleDY(uid, maxPreGetTime);
+        } catch (OrderMoneySettleException e) {
+            e.printStackTrace();
+        }
     }
 
     @Override
@@ -784,6 +794,12 @@
 
         try {
             orderMoneySettleService.shareSettleSuning(uid, maxPreGetTime);
+        } catch (OrderMoneySettleException e) {
+            e.printStackTrace();
+        }
+
+        try {
+            orderMoneySettleService.shareSettleDY(uid, maxPreGetTime);
         } catch (OrderMoneySettleException e) {
             e.printStackTrace();
         }
@@ -976,10 +992,13 @@
     public void processJDOrder(JDOrder order) {
         if (order == null || order.getOrderItemList() == null || order.getOrderItemList().size() == 0)
             return;
-        // 鎷嗗崟鐨勪笉鍋氬鐞�
-        if (order.getValidCode() == 2)
-            return;
-
+        // 鎷嗗崟涓斾笉鍦╟ommonorder涓殑涓嶅仛澶勭悊
+        if (order.getValidCode() == 2) {
+            List<CommonOrder> list=  commonOrderService.listBySourceTypeAndOrderId(Constant.SOURCE_TYPE_JD,order.getOrderId()+"");
+            if(list==null||list.size()==0) {
+                return;
+            }
+        }
         // 鏍规嵁ext1涓巗ubUnionId璺熷崟
         String uidStr = order.getExt1();
         if (StringUtil.isNullOrEmpty(uidStr))
@@ -1301,7 +1320,7 @@
     }
 
     /**
-     * 澶勭悊浜笢杩斿埄璁㈠崟
+     * 澶勭悊鍞搧浼氳繑鍒╄鍗�
      *
      * @param vipShopOrder
      * @param uid
@@ -1437,8 +1456,10 @@
         }
     }
 
+
+
     /**
-     * 澶勭悊鎷煎澶氳嚜璐繑鍒╄鍗�
+     * 澶勭悊鑻忓畞鑷喘杩斿埄璁㈠崟
      *
      * @param suningOrder
      * @param uid
@@ -1514,7 +1535,7 @@
     }
 
     /**
-     * 澶勭悊鎷煎澶氬垎浜鍗�
+     * 澶勭悊鑻忓畞鍒嗕韩璁㈠崟
      *
      * @param suningOrder
      * @param uid
@@ -1546,6 +1567,130 @@
         }
     }
 
+
+    @Override
+    public void processDYOrder(DYOrder order) {
+        if (order == null)
+            return;
+
+
+        // 鏍规嵁ext1涓巗ubUnionId璺熷崟
+        String extra_info = order.getExternal_info();
+
+        Long uid = DYUtil.getUid(extra_info);
+        String type = DYUtil.getTypeFromExtraInfo(extra_info);
+        if ("buy".equalsIgnoreCase(type))// 杩斿埄璁㈠崟
+        {
+            processFanLiDYOrder(order, uid);
+            lostOrderService.processSuceess(order.getOrder_id() + "", Constant.SOURCE_TYPE_DY);
+        } else if ("share".equalsIgnoreCase(type)) {// 鍒嗕韩璁㈠崟
+            if (uid == null)// 鍒嗕韩璁㈠崟涓嶅厑璁告壘鍥�
+                return;
+            processShareDYOrder(order, uid);
+        } else {// 澶勭悊鏄惁鏈夎鍗曟壘鍥炵殑鐘舵��
+            processFanLiDYOrder(order, null);
+        }
+    }
+
+    /**
+     * 澶勭悊鎶栭煶杩斿埄璁㈠崟
+     *
+     * @param dyOrder
+     * @param uid
+     */
+    private void processFanLiDYOrder(DYOrder dyOrder, Long uid) {
+
+        BigDecimal totalMoney = new BigDecimal(dyOrder.getTotal_pay_amount()).divide(new BigDecimal(100),2, RoundingMode.FLOOR);
+
+        // 鍔犲叆璁㈠崟
+        Order oldOrder = orderMapper.selectOrderByOrderIdAndOrderType(dyOrder.getOrder_id() + "",
+                Constant.SOURCE_TYPE_DY);
+        if (uid == null && oldOrder != null && oldOrder.getBeizhu() != null && oldOrder.getBeizhu().contains("琛ュ崟"))
+            uid = oldOrder.getUserInfo().getId();
+
+        if (uid == null)
+            return;
+
+        if (oldOrder == null)// 鏂板
+        {
+            Order order = new Order();
+            order.setBeizhu("鎶栭煶杩斿埄璁㈠崟");
+            order.setCreatetime(System.currentTimeMillis());
+            order.setOrderId(dyOrder.getOrder_id() + "");
+            order.setOrderType(Constant.SOURCE_TYPE_DY);
+            order.setState(
+                    (dyOrder.getFlow_point().equalsIgnoreCase(DYOrder.FLOW_POINT_REFUND)) ? Order.STATE_SHIXIAO : Order.STATE_YIZHIFU);
+            order.setUserInfo(new UserInfo(uid));
+            order.setVersion(2);
+            order.setThirdCreateTime(new Date(TimeUtil.convertToTimeTemp(dyOrder.getPay_success_time(),"yyyy-MM-dd HH:mm:ss")));
+            order.setMoney(totalMoney);
+            // 鍔犲叆鍒拌鍗曡〃
+            orderMapper.insertSelective(order);
+        } else {
+            Order updateOrder = new Order();
+            updateOrder.setId(oldOrder.getId());
+            updateOrder.setMoney(totalMoney);
+            orderMapper.updateByPrimaryKeySelective(updateOrder);
+        }
+
+        try {
+            List<CommonOrderAddResultDTO> commonOrderList = commonOrderService.addDYOrder(dyOrder, uid);
+            addHongBaoWithMQ(commonOrderList, dyOrder.getOrder_id() + "", uid, Constant.SOURCE_TYPE_DY,
+                    HongBaoV2.TYPE_ZIGOU);
+
+            if (isCommonOrderAllAdd(commonOrderList)) {
+                Order order = new Order();
+                order.setOrderId(dyOrder.getOrder_id());
+                order.setOrderType(Constant.SOURCE_TYPE_DY);
+                order.setUserInfo(new UserInfo(uid));
+                try {
+                    if (Constant.ENABLE_MQ)
+                        PlaceOrderCMQManager.getInstance().addPlaceOrderMsg(order);
+                } catch (Exception e) {
+                }
+            }
+        } catch (CommonOrderException e) {
+            try {
+                LogHelper.errorDetailInfo(e, "addDYOrder鎴朼ddHongBao鍑洪敊", "璁㈠崟鍙�:" + dyOrder.getOrder_id());
+            } catch (Exception e1) {
+                e1.printStackTrace();
+            }
+        }
+    }
+
+    /**
+     * 澶勭悊鎶栭煶鍒嗕韩璁㈠崟
+     *
+     * @param dyOrder
+     * @param uid
+     */
+    private void processShareDYOrder(DYOrder dyOrder, Long uid) {
+        try {
+            List<CommonOrderAddResultDTO> commonOrderList = commonOrderService.addDYOrder(dyOrder, uid);
+            addHongBaoWithMQ(commonOrderList, dyOrder.getOrder_id() + "", uid, Constant.SOURCE_TYPE_DY,
+                    HongBaoV2.TYPE_SHARE_GOODS);
+            if (isCommonOrderAllAdd(commonOrderList)) {
+                Order order = new Order();
+                order.setOrderId(dyOrder.getOrder_id());
+                order.setOrderType(Constant.SOURCE_TYPE_DY);
+                order.setUserInfo(new UserInfo(uid));
+                try {
+                    if (Constant.ENABLE_MQ)
+                        PlaceOrderCMQManager.getInstance().addPlaceOrderMsg(order);
+                } catch (Exception e) {
+                }
+            }
+        } catch (CommonOrderException e) {
+            try {
+                LogHelper.errorDetailInfo(e, "addDYOrder鎴朼ddHongBao鍑洪敊", "璁㈠崟鍙�:" + dyOrder.getOrder_id());
+            } catch (Exception e1) {
+                e1.printStackTrace();
+            }
+        }
+    }
+
+
+
     @Override
     public void repairCommonOrderByByTaoBaoOrder(String orderId) {
         // 鏍规嵁璁㈠崟鍙锋煡璇㈡窐瀹濊鍗�

--
Gitblit v1.8.0