From 1340beb67a9b6d777821d0139bcc7c9b0896ed4e Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 05 九月 2020 10:59:26 +0800
Subject: [PATCH] 拼多多比价修改

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java |  151 ++++++++++++++++++++++++++++++++------------------
 1 files changed, 97 insertions(+), 54 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
index 947a89f..6e21610 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
@@ -2,16 +2,14 @@
 
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 import javax.annotation.Resource;
 
 import com.yeshi.fanli.entity.SystemEnum;
+import com.yeshi.fanli.service.inter.order.pdd.PDDOrderService;
 import org.apache.commons.beanutils.PropertyUtils;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.yeshi.utils.DateUtil;
@@ -161,6 +159,10 @@
     @Resource
     private RocketMQManager rocketMQManager;
 
+    @Lazy
+    @Resource
+    private PDDOrderService pddOrderService;
+
     // 濂栧姳璁㈠崟鍥剧墖
     public final static String PIC_REWARD = "http://img.flqapp.com/resource/order/order_state_reward.png";
 
@@ -277,6 +279,25 @@
                 listPDD.add(commonOrderVO.getOrderNo());
             }
         }
+        //鏌ヨ鎷煎澶氱殑璁㈠崟璇︽儏
+        List<String> pddOrderSnList = new ArrayList<>();
+        if (listPDD != null && listPDD.size() > 0) {
+            for (String orderSn : listPDD)
+                pddOrderSnList.add(orderSn);
+        }
+        List<PDDOrder> pddOrderList = pddOrderService.listByOrderSns(listPDD);
+        Set<String> bjOrders = new HashSet<>();
+        if (pddOrderList != null) {
+            for (PDDOrder pdd : pddOrderList)
+                if (pdd.getFailReason() != null && pdd.getFailReason().contains("姣斾环"))
+                    bjOrders.add(pdd.getOrderSn());
+        }
+        for (CommonOrderVO commonOrderVO : listOrder) {
+            if (commonOrderVO.getSourceType() == Constant.SOURCE_TYPE_PDD && bjOrders.contains(commonOrderVO.getOrderNo())) {
+                commonOrderVO.setOrderStateDesc("姣斾环璁㈠崟");
+            }
+        }
+
 
         List<UserSystemCouponRecord> listRecordTB = null;
         if (listTB.size() > 0) {
@@ -437,38 +458,43 @@
                 hongBao = new BigDecimal(0);
             }
 
-            if (CommonOrder.STATE_FK == orderState) {
-                orderStateContent = "宸蹭粯娆�";
-            } else if (CommonOrder.STATE_JS == orderState) {
-                orderStateContent = "宸叉敹璐�";
-            } else if (CommonOrder.STATE_SX == orderState) {
-                orderStateContent = "鏈粯娆�/宸查��娆�";
-            } else if (CommonOrder.STATE_WQ == orderState) {
-                orderStateContent = "宸插敭鍚�";
-                if (sourceType != null && sourceType == Constant.SOURCE_TYPE_TAOBAO) {
-                    /* 璁㈠崟缁存潈 鍒ゆ柇鏄惁鍏ㄩ儴缁存潈 */
-                    List<TaoBaoWeiQuanOrder> listWQ = taoBaoWeiQuanOrderMapper
-                            .selectListByOrderIdAndState(order.getOrderNo(), "缁存潈鎴愬姛");
+            //鍒ゆ柇鐘舵�佹槸鍚﹂璁句簡鐨�
+            if (!StringUtil.isNullOrEmpty(order.getOrderStateDesc())) {
+                orderStateContent = order.getOrderStateDesc();
+            } else {
+                if (CommonOrder.STATE_FK == orderState) {
+                    orderStateContent = "宸蹭粯娆�";
+                } else if (CommonOrder.STATE_JS == orderState) {
+                    orderStateContent = "宸叉敹璐�";
+                } else if (CommonOrder.STATE_SX == orderState) {
+                    orderStateContent = "鏈粯娆�/宸查��娆�";
+                } else if (CommonOrder.STATE_WQ == orderState) {
+                    orderStateContent = "宸插敭鍚�";
+                    if (sourceType != null && sourceType == Constant.SOURCE_TYPE_TAOBAO) {
+                        /* 璁㈠崟缁存潈 鍒ゆ柇鏄惁鍏ㄩ儴缁存潈 */
+                        List<TaoBaoWeiQuanOrder> listWQ = taoBaoWeiQuanOrderMapper
+                                .selectListByOrderIdAndState(order.getOrderNo(), "缁存潈鎴愬姛");
 
-                    boolean isPart = false;// 榛樿澶辨晥
-                    BigDecimal weiQuanMoney = getWeiQuanMoney(listWQ, sourceType, uid);
+                        boolean isPart = false;// 榛樿澶辨晥
+                        BigDecimal weiQuanMoney = getWeiQuanMoney(listWQ, sourceType, uid);
 
-                    if (!VersionUtil.greaterThan_1_6_0(acceptData.getPlatform(), acceptData.getVersion())) {
-                        if (isPart) {
-                            hongBaoState = HongBaoV2.STATE_BUFENSHIXIAO; // 閮ㄥ垎澶辨晥
+                        if (!VersionUtil.greaterThan_1_6_0(acceptData.getPlatform(), acceptData.getVersion())) {
+                            if (isPart) {
+                                hongBaoState = HongBaoV2.STATE_BUFENSHIXIAO; // 閮ㄥ垎澶辨晥
+                            } else {
+                                hongBaoState = HongBaoV2.STATE_SHIXIAO; // 鍏ㄩ儴澶辨晥
+                            }
                         } else {
-                            hongBaoState = HongBaoV2.STATE_SHIXIAO; // 鍏ㄩ儴澶辨晥
-                        }
-                    } else {
-                        // 2019.8.1 杩斿洖缁存潈淇℃伅
-                        if (settleTime != null && august != null && settleTime.getTime() > august.getTime()) {
-                            orderStateContent = "鍞悗鎴愬姛";
-                            WeiQuanInfo weiQuanInfo = new WeiQuanInfo();
-                            weiQuanInfo.setOldHongBao("楼" + hongBao.setScale(2, BigDecimal.ROUND_DOWN).toString());
-                            weiQuanInfo
-                                    .setWqHongBao("鍞悗锛�-楼" + weiQuanMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
-                            hongBao = MoneyBigDecimalUtil.sub(hongBao, weiQuanMoney);
-                            order.setWeiQuanInfo(weiQuanInfo);
+                            // 2019.8.1 杩斿洖缁存潈淇℃伅
+                            if (settleTime != null && august != null && settleTime.getTime() > august.getTime()) {
+                                orderStateContent = "鍞悗鎴愬姛";
+                                WeiQuanInfo weiQuanInfo = new WeiQuanInfo();
+                                weiQuanInfo.setOldHongBao("楼" + hongBao.setScale(2, BigDecimal.ROUND_DOWN).toString());
+                                weiQuanInfo
+                                        .setWqHongBao("鍞悗锛�-楼" + weiQuanMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
+                                hongBao = MoneyBigDecimalUtil.sub(hongBao, weiQuanMoney);
+                                order.setWeiQuanInfo(weiQuanInfo);
+                            }
                         }
                     }
                 }
@@ -2023,6 +2049,19 @@
                 listSuNing.add(order.getOrderNo());
             }
         }
+        //鏌ヨ鎷煎澶氱殑璁㈠崟璇︽儏
+        List<PDDOrder> pddOrderList = pddOrderService.listByOrderSns(listPDD);
+        Set<String> bjOrders = new HashSet<>();
+        if (pddOrderList != null) {
+            for (PDDOrder pdd : pddOrderList)
+                if (pdd.getFailReason() != null && pdd.getFailReason().contains("姣斾环"))
+                    bjOrders.add(pdd.getOrderSn());
+        }
+        for (CommonOrderVO commonOrderVO : listOrder) {
+            if (commonOrderVO.getSourceType() == Constant.SOURCE_TYPE_PDD && bjOrders.contains(commonOrderVO.getOrderNo())) {
+                commonOrderVO.setOrderStateDesc("姣斾环璁㈠崟");
+            }
+        }
 
         List<UserSystemCouponRecord> listRecordTB = null;
         if (listTB.size() > 0) {
@@ -2189,28 +2228,32 @@
 
             /* 璁㈠崟鐘舵�� 杞崲澶勭悊 */
             String orderStateContent = "";
-            if (CommonOrder.STATE_FK == orderState) {
-                orderStateContent = "宸蹭粯娆�";
-            } else if (CommonOrder.STATE_JS == orderState) {
-                orderStateContent = "宸叉敹璐�";
-            } else if (CommonOrder.STATE_SX == orderState) {
-                orderStateContent = "鏈粯娆�/宸查��娆�";
-            } else if (CommonOrder.STATE_WQ == orderState) {
-                orderStateContent = "宸插敭鍚�";
-                if (sourceType == Constant.SOURCE_TYPE_TAOBAO) {
-                    /* 璁㈠崟缁存潈 鍒ゆ柇鏄惁鍏ㄩ儴缁存潈 */
-                    List<TaoBaoWeiQuanOrder> listWQ = taoBaoWeiQuanOrderMapper
-                            .selectListByOrderIdAndState(order.getOrderNo(), "缁存潈鎴愬姛");
-                    BigDecimal weiQuanMoney = getWeiQuanMoney(listWQ, sourceType, uid);
+            if(!StringUtil.isNullOrEmpty(order.getOrderStateDesc()))
+                orderStateContent=order.getOrderStateDesc();
+            else {
+                if (CommonOrder.STATE_FK == orderState) {
+                    orderStateContent = "宸蹭粯娆�";
+                } else if (CommonOrder.STATE_JS == orderState) {
+                    orderStateContent = "宸叉敹璐�";
+                } else if (CommonOrder.STATE_SX == orderState) {
+                    orderStateContent = "鏈粯娆�/宸查��娆�";
+                } else if (CommonOrder.STATE_WQ == orderState) {
+                    orderStateContent = "宸插敭鍚�";
+                    if (sourceType == Constant.SOURCE_TYPE_TAOBAO) {
+                        /* 璁㈠崟缁存潈 鍒ゆ柇鏄惁鍏ㄩ儴缁存潈 */
+                        List<TaoBaoWeiQuanOrder> listWQ = taoBaoWeiQuanOrderMapper
+                                .selectListByOrderIdAndState(order.getOrderNo(), "缁存潈鎴愬姛");
+                        BigDecimal weiQuanMoney = getWeiQuanMoney(listWQ, sourceType, uid);
 
-                    if (settleTime != null) {
-                        orderStateContent = "鍞悗鎴愬姛";
-                        WeiQuanInfo weiQuanInfo = new WeiQuanInfo();
-                        weiQuanInfo.setOldHongBao("楼" + hongBao.setScale(2, BigDecimal.ROUND_DOWN).toString());
-                        weiQuanInfo.setWqHongBao("鍞悗锛�-楼" + weiQuanMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
-                        order.setWeiQuanInfo(weiQuanInfo);
+                        if (settleTime != null) {
+                            orderStateContent = "鍞悗鎴愬姛";
+                            WeiQuanInfo weiQuanInfo = new WeiQuanInfo();
+                            weiQuanInfo.setOldHongBao("楼" + hongBao.setScale(2, BigDecimal.ROUND_DOWN).toString());
+                            weiQuanInfo.setWqHongBao("鍞悗锛�-楼" + weiQuanMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
+                            order.setWeiQuanInfo(weiQuanInfo);
+                        }
+                        hongBao = MoneyBigDecimalUtil.sub(hongBao, weiQuanMoney);
                     }
-                    hongBao = MoneyBigDecimalUtil.sub(hongBao, weiQuanMoney);
                 }
             }
             orderStateMap.put("content", orderStateContent);

--
Gitblit v1.8.0