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/CommonOrderServiceImpl.java |  329 ++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 244 insertions(+), 85 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..cfcd0c4 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,19 @@
 
 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.entity.dy.DYOrder;
+import com.yeshi.fanli.service.inter.order.pdd.PDDOrderService;
+import com.yeshi.fanli.util.goods.douyin.CSJCPSApiUtil;
+import com.yeshi.fanli.util.goods.douyin.vo.DYGoodsDetail;
 import org.apache.commons.beanutils.PropertyUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.yeshi.utils.DateUtil;
@@ -107,6 +110,9 @@
 @Service
 public class CommonOrderServiceImpl implements CommonOrderService {
 
+    private Logger logger = LoggerFactory.getLogger(CommonOrderService.class);
+
+
     @Resource
     private CommonOrderMapper commonOrderMapper;
 
@@ -160,6 +166,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 +287,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) {
@@ -347,6 +376,8 @@
                     CommonOrderGoodsVO commonGoodsVO = new CommonOrderGoodsVO();
                     PropertyUtils.copyProperties(commonGoodsVO, goods);
                     commonGoodsVO.setGoodsType(sourceType);
+                    commonGoodsVO.setPlaceOrderTime(TimeUtil.getGernalTime(order.getThirdCreateTime().getTime(), "yyyy.MM.dd HH:mm"));
+
 
                     // 娣樺疂鍟嗗搧鍥剧墖澶勭悊
                     String picture = commonGoodsVO.getPicture();
@@ -363,6 +394,11 @@
                     if (totalSettlement == null || totalSettlement.compareTo(new BigDecimal(0)) <= 0) {
                         totalSettlement = commonOrder.getTotalPayment();
                     }
+                    if (totalSettlement == null || totalSettlement.compareTo(new BigDecimal(0)) <= 0)
+                        commonGoodsVO.setPayState("鏈粯娆�/宸查��娆�");
+                    else
+                        commonGoodsVO.setPayState("宸蹭粯娆�");
+
                     commonGoodsVO.setActualPay("浠樻閲戦锛毬�" + totalSettlement);
 
                     // 閭�璇疯鍗曚俊鎭繚鎶�
@@ -437,38 +473,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);
+                            }
                         }
                     }
                 }
@@ -695,7 +736,7 @@
             Map<String, Object> jump = new HashMap<String, Object>();
             jump.put("type", 1); // 椤甸潰璺宠浆
             jump.put("params", jumpLink);
-            jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("freeCouponDetail"));
+            jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("freeCouponDetail", acceptData.getSystem()));
 
             Map<String, Object> rewardMap = new HashMap<String, Object>();
             rewardMap.put("text", rewardStyleVO);
@@ -724,7 +765,7 @@
             Map<String, Object> jump = new HashMap<String, Object>();
             jump.put("type", 1); // 1 甯歌璺宠浆椤甸潰
             jump.put("params", jumpLink);
-            jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("rewardCouponDetail"));
+            jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("rewardCouponDetail", acceptData.getSystem()));
             rewardMap.put("jump", jump);
             order.setRewardDetail(rewardMap);
         }
@@ -749,7 +790,7 @@
             long limitDate = TimeUtil.convertDateToTemp(Constant.VIP_ONLINE_TIME);
             if (downOrderTime > limitDate) {
                 // 2.1 寮�濮嬫柊鐗�
-                rewardCounponLimitTime(order, accountTime);
+                rewardCounponLimitTime(order, accountTime, acceptData.getSystem());
             } else if (hasRewardCoupon) {
                 // 鍦�2.1鏂扮増涓婄嚎涔嬪墠璁㈠崟-瀛樺湪鍒欐樉绀哄鍔卞埜鍙娇鐢�
                 ClientTextStyleVO rewardStyleVO = new ClientTextStyleVO();
@@ -764,7 +805,7 @@
                 Map<String, Object> jump = new HashMap<String, Object>();
                 jump.put("type", 2); // 寮规
                 jump.put("params", jumpLink);
-                jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("rewardCouponDetail"));
+                jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("rewardCouponDetail", acceptData.getSystem()));
 
                 Map<String, Object> rewardMap = new HashMap<String, Object>();
                 rewardMap.put("text", rewardStyleVO);
@@ -774,7 +815,7 @@
         }
     }
 
-    private void rewardCounponLimitTime(CommonOrderVO order, Date accountTime) throws Exception {
+    private void rewardCounponLimitTime(CommonOrderVO order, Date accountTime, SystemEnum system) throws Exception {
         // 鍊掕鏃堕獙璇�
         Date endDay = DateUtil.plusDayDate(Constant.COUPON_REWARD_LIMIT_DAY, accountTime);
         long currentTime = java.lang.System.currentTimeMillis();
@@ -849,7 +890,7 @@
         Map<String, Object> jump = new HashMap<String, Object>();
         jump.put("type", 2); // 寮瑰嚭妗嗕娇鐢ㄥ埜
         jump.put("params", jumpLink);
-        jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("rewardCouponDetail"));
+        jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("rewardCouponDetail", system));
         rewardMap.put("jump", jump);
         order.setRewardDetail(rewardMap);
     }
@@ -961,6 +1002,7 @@
             } else {
                 cog.setGoodsId(taoBaoOrder.getAuctionId() + "");
                 cog.setGoodsType(Constant.SOURCE_TYPE_TAOBAO);
+                cog.setTitle(taoBaoOrder.getTitle());
                 newCommonOrder.setCommonOrderGoods(cog);
             }
             newCommonOrder.setStateWholeOrder(wholeOrderState);
@@ -978,11 +1020,10 @@
                                         taoBaoGoods.getRootCategoryName(), taoBaoGoods.getLeafName()));
                     } catch (TaobaoGoodsDownException e) {
                         e.printStackTrace();
-                        LogHelper.errorDetailInfo(e, "AUCTIONID:" + taoBaoOrder.getAuctionId(), "");
+                        logger.warn("娣樺疂鍟嗗搧涓嬫灦锛歿}", taoBaoOrder.getAuctionId(), e);
                         try {
                             taoBaoGoods = TaoBaoUtil.getSimpleGoodsBrief(taoBaoOrder.getAuctionId());
                             // 璁板綍鍟嗗搧鍒嗙被
-
                         } catch (Exception e1) {
                             CommonGoods commonGoods = commonGoodsService.getCommonGoodsByGoodsIdAndGoodsType(
                                     taoBaoOrder.getAuctionId(), Constant.SOURCE_TYPE_TAOBAO);
@@ -996,6 +1037,8 @@
                 }
                 cog.setCreateTime(new Date());
                 cog.setUpdateTime(new Date());
+                //瑕嗙洊鍘熸潵鐨勫晢鍝両D
+                cog.setGoodsId(newCommonOrder.getCommonOrderGoods().getGoodsId());
                 commonOrderGoodsMapper.insertSelective(cog);
             }
             newCommonOrder.setUserInfo(new UserInfo(uid));
@@ -1039,7 +1082,7 @@
             if (commonGoodsList.size() <= 0)// 涓嶅瓨鍦ㄥ氨鎻掑叆鍟嗗搧
             {
                 PDDGoodsDetail pddGoods = null;
-                pddGoods = PinDuoDuoApiUtil.getGoodsDetail(Long.parseLong(cog.getGoodsId()));
+                pddGoods = PinDuoDuoApiUtil.getGoodsDetail(cog.getGoodsId());
                 if (pddGoods != null) {
                     cog = CommonOrderGoodsFactory.create(pddGoods);
                 }
@@ -1138,16 +1181,13 @@
                     cog.getGoodsType());
             if (commonGoodsList.size() <= 0)// 涓嶅瓨鍦ㄥ氨鎻掑叆鍟嗗搧
             {
-                JDGoods goods = JDApiUtil.getGoodsDetail(itemOrder.getSkuId());
-                if (goods == null) {
-                    goods = JDUtil.getGoodsFromWeb(itemOrder.getSkuId());
-                }
-
+                JDGoods goods = null;
                 if (goods == null) {
                     goods = new JDGoods();
                     goods.setSkuName(itemOrder.getSkuName());
                     goods.setPrice(itemOrder.getPrice());
                     goods.setSkuId(itemOrder.getSkuId());
+                    goods.setItemId(itemOrder.getItemId());
                 }
 
                 if (goods != null) {
@@ -1158,7 +1198,20 @@
                 cog.setUpdateTime(new Date());
                 commonOrderGoodsMapper.insertSelective(cog);
             } else {
-
+                for (CommonOrderGoods orderGoods : commonGoodsList) {
+                    if (StringUtil.isNullOrEmpty(orderGoods.getGoodsId())) {
+                        JDGoods goods = new JDGoods();
+                        goods.setSkuName(itemOrder.getSkuName());
+                        goods.setPrice(itemOrder.getPrice());
+                        goods.setSkuId(itemOrder.getSkuId());
+                        goods.setItemId(itemOrder.getItemId());
+                        if (goods != null) {
+                            cog = CommonOrderGoodsFactory.create(goods);
+                            cog.setId(orderGoods.getId());
+                            commonOrderGoodsMapper.updateByPrimaryKeySelective(cog);
+                        }
+                    }
+                }
             }
             newCommonOrder.setUserInfo(new UserInfo(uid));
             commonOrderList.add(addCommonOrder(newCommonOrder));
@@ -1267,7 +1320,7 @@
             {
                 SuningGoodsInfo pddGoods = null;
                 // TODO 闇�瑕佽幏鍙�
-                pddGoods = SuningApiUtil.getGoodsDetail(suningOrderInfo.getGoodsNum(), suningOrderInfo.getSellerCode());
+                pddGoods = SuningApiUtil.getGoodsDetail(suningOrderInfo.getGoodsNum(), "0000000000");
                 if (pddGoods != null) {
                     cog = CommonOrderGoodsFactory.create(pddGoods);
                 }
@@ -1282,6 +1335,71 @@
         }
         addConfirmMQMsg(commonOrderList);
         return commonOrderList;
+    }
+
+    @Override
+    public List<CommonOrderAddResultDTO> addDYOrder(DYOrder order, Long uid) throws CommonOrderException {
+        List<CommonOrderAddResultDTO> commonOrderList = new ArrayList<>();
+
+        CommonOrder newCommonOrder = CommonOrderFactory.create(order);
+        CommonOrderGoods cog = new CommonOrderGoods();
+        cog.setGoodsId(order.getProduct_id());
+        cog.setGoodsType(Constant.SOURCE_TYPE_DY);
+        newCommonOrder.setCommonOrderGoods(cog);
+        newCommonOrder.setStateWholeOrder(newCommonOrder.getState());
+        // 璁㈠崟鍟嗗搧鎻掑叆
+        List<CommonOrderGoods> commonGoodsList = commonOrderGoodsMapper.listByGoodsIdAndGoodsType(cog.getGoodsId(),
+                cog.getGoodsType());
+        if (commonGoodsList.size() <= 0)// 涓嶅瓨鍦ㄥ氨鎻掑叆鍟嗗搧
+        {
+            DYGoodsDetail goods = CSJCPSApiUtil.goodsDetail(Long.parseLong(order.getProduct_id()));
+            if (goods == null) {
+                goods = new DYGoodsDetail();
+                goods.setTitle(order.getProduct_name());
+                goods.setPrice(0);
+                goods.setProduct_id(Long.parseLong(order.getProduct_id()));
+                goods.setCover(order.getProduct_img());
+            }
+
+            if (goods != null) {
+                cog = CommonOrderGoodsFactory.create(goods);
+            }
+
+            cog.setCreateTime(new Date());
+            cog.setUpdateTime(new Date());
+            commonOrderGoodsMapper.insertSelective(cog);
+        } else {
+
+        }
+        newCommonOrder.setUserInfo(new UserInfo(uid));
+        commonOrderList.add(addCommonOrder(newCommonOrder));
+
+        addConfirmMQMsg(commonOrderList);
+        return commonOrderList;
+    }
+
+    private boolean needUpdateCommonOrder(CommonOrder oldCommonOrder, CommonOrder newCommonOrder) {
+        // 闈炰含涓滃凡缁忕粨绠楋紝宸茬粡澶辨晥锛岀姸鎬佹湭鏀瑰彉鐨勮鍗曚笉澶勭悊
+        if ((oldCommonOrder.getState() == CommonOrder.STATE_JS
+                && oldCommonOrder.getSourceType() != Constant.SOURCE_TYPE_JD)
+                || oldCommonOrder.getState() == CommonOrder.STATE_SX
+                || oldCommonOrder.getState() == CommonOrder.STATE_WQ) {
+            return false;
+        }
+
+
+        //鐘舵�佺浉鍚屼笖浠樻閲戦锛岀粨绠楅噾棰濅竴鑷存椂鎵嶄笉闇�瑕佹洿鏂�
+        if (oldCommonOrder.getState().intValue() == newCommonOrder.getState()) {
+            if (oldCommonOrder.getPayment().compareTo(newCommonOrder.getPayment()) == 0) {
+                if (oldCommonOrder.getSettlement() == null && newCommonOrder.getSettlement() == null) {
+                    return false;
+                } else if (oldCommonOrder.getSettlement() != null && newCommonOrder.getSettlement() != null && oldCommonOrder.getSettlement().compareTo(newCommonOrder.getSettlement()) == 0) {
+                    return false;
+                }
+            }
+        }
+
+        return true;
     }
 
     /**
@@ -1345,12 +1463,8 @@
                     commonOrder.getTradeId(), new Date(), commonOrder.getSourceType()));
             return new CommonOrderAddResultDTO(commonOrder, CommonOrderAddResultDTO.TYPE_ADD);
         } else {// 淇敼
-            // 闈炰含涓滃凡缁忕粨绠楋紝宸茬粡澶辨晥锛岀姸鎬佹湭鏀瑰彉鐨勮鍗曚笉澶勭悊
-            if ((oldCommonOrder.getState() == CommonOrder.STATE_JS
-                    && oldCommonOrder.getSourceType() != Constant.SOURCE_TYPE_JD)
-                    || oldCommonOrder.getState() == CommonOrder.STATE_SX
-                    || oldCommonOrder.getState() == CommonOrder.STATE_WQ
-                    || (oldCommonOrder.getState().intValue() == commonOrder.getState())) {
+
+            if (!needUpdateCommonOrder(oldCommonOrder, commonOrder)) {
                 return new CommonOrderAddResultDTO(oldCommonOrder, CommonOrderAddResultDTO.TYPE_NOUPDATE);
             }
             // 浜ゆ槗ID涓�鑷存墠淇敼
@@ -1463,16 +1577,16 @@
 
     @Override
     public List<CommonOrderVO> listQuery(long start, int count, Integer keyType, String key, Integer state,
-                                         Integer type, Integer orderState, String startTime, String endTime, Integer source, List<Long> listShopId,
+                                         List<Integer> typeList, Integer orderState, String startTime, String endTime, Integer source, List<Long> listShopId,
                                          List<Long> listGoodsId, Date minTime, BigDecimal money, BigDecimal payment, SystemEnum system) throws CommonOrderException {
 
         List<CommonOrderVO> list = null;
 
         if (StringUtil.isNullOrEmpty(key) || keyType == 1) {// 鎼滅储妗嗘棤鍊兼垨鑰呮寜璁㈠崟鍙锋悳绱㈡椂閮藉彧鎼滅储涓昏鍗�
-            list = commonOrderMapper.listQueryWithNoChild(start, count, keyType, key, state, type, orderState,
+            list = commonOrderMapper.listQueryWithNoChild(start, count, keyType, key, state, typeList, orderState,
                     startTime, endTime, source, payment, system);
         } else {
-            list = commonOrderMapper.listQuery(start, count, keyType, key, state, type, orderState, startTime, endTime,
+            list = commonOrderMapper.listQuery(start, count, keyType, key, state, typeList, orderState, startTime, endTime,
                     source, listShopId, listGoodsId, minTime, money, payment, system);
         }
 
@@ -1658,14 +1772,14 @@
     }
 
     @Override
-    public long countQuery(Integer keyType, String key, Integer state, Integer type, Integer orderState,
+    public long countQuery(Integer keyType, String key, Integer state, List<Integer> typeList, Integer orderState,
                            String startTime, String endTime, Integer source, List<Long> listShopId, List<Long> listGoodsId,
                            Date minTime, BigDecimal money, BigDecimal payment, SystemEnum system) throws CommonOrderException {
         if (StringUtil.isNullOrEmpty(key) || keyType == 1) {// 鎼滅储妗嗘棤鍊兼垨鑰呮寜璁㈠崟鍙锋悳绱㈡椂閮藉彧鎼滅储涓昏鍗�
-            return commonOrderMapper.countQueryWithNoChild(keyType, key, state, type, orderState, startTime, endTime,
+            return commonOrderMapper.countQueryWithNoChild(keyType, key, state, typeList, orderState, startTime, endTime,
                     source, payment, system);
         } else {
-            return commonOrderMapper.countQuery(keyType, key, state, type, orderState, startTime, endTime, source,
+            return commonOrderMapper.countQuery(keyType, key, state, typeList, orderState, startTime, endTime, source,
                     listShopId, listGoodsId, minTime, money, payment, system);
         }
     }
@@ -1719,6 +1833,7 @@
                 } catch (Exception e) {
                     e.printStackTrace();
                 }
+                commonGoodsVO.setPlaceOrderTime(TimeUtil.getGernalTime(commonOrder.getThirdCreateTime().getTime(), "yyyy.MM.dd HH:mm"));
 
                 String picture = commonGoodsVO.getPicture();
                 if (!StringUtil.isNullOrEmpty(picture) && !picture.contains("320x320")) {
@@ -1745,6 +1860,10 @@
                 if (totalSettlement == null || totalSettlement.compareTo(new BigDecimal(0)) <= 0) {
                     totalSettlement = commonOrder.getTotalPayment();
                 }
+                if (totalSettlement == null || totalSettlement.compareTo(new BigDecimal(0)) <= 0)
+                    commonGoodsVO.setPayState("鏈粯娆�/宸查��娆�");
+                else
+                    commonGoodsVO.setPayState("宸蹭粯娆�");
                 // 瀹炰粯娆�
                 commonGoodsVO.setActualPay("浠樻閲戦锛毬�" + totalSettlement);
 
@@ -1768,7 +1887,7 @@
     }
 
     @Override
-    public JSONObject getRewardJumpInfo(String orderNo, Integer goodsType) {
+    public JSONObject getRewardJumpInfo(String orderNo, Integer goodsType, SystemEnum system) {
 
         JSONObject map = new JSONObject();
         // 璁㈠崟鏍囪瘑
@@ -1790,7 +1909,7 @@
         Map<String, Object> jump = new HashMap<String, Object>();
         jump.put("type", 1);
         jump.put("params", jumpLink);
-        jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("rewardCouponDetail"));
+        jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("rewardCouponDetail", system));
 
         Map<String, Object> rewardMap = new HashMap<String, Object>();
         rewardMap.put("text", rewardStyleVO);
@@ -1847,7 +1966,13 @@
 
     @Override
     public List<CommonOrder> getByOrderNo(Long uid, String orderNO) {
-        return commonOrderMapper.getByOrderNo(uid, orderNO);
+        if (uid != null) {
+            return commonOrderMapper.getByOrderNo(uid, orderNO);
+        } else {
+            CommonOrderMapper.DaoQuery daoQuery = new CommonOrderMapper.DaoQuery();
+            daoQuery.orderId = orderNO;
+            return commonOrderMapper.list(daoQuery, 0, 100);
+        }
     }
 
 
@@ -2023,6 +2148,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) {
@@ -2071,6 +2209,7 @@
                     if (commonGoodsVO.getGoodsType() == null) {
                         commonGoodsVO.setGoodsType(sourceType);
                     }
+                    commonGoodsVO.setPlaceOrderTime(TimeUtil.getGernalTime(order.getThirdCreateTime().getTime(), "yyyy.MM.dd HH:mm"));
 
                     // 娣樺疂鍟嗗搧鍥剧墖澶勭悊
                     String picture = commonGoodsVO.getPicture();
@@ -2087,6 +2226,11 @@
                     if (totalSettlement == null || totalSettlement.compareTo(new BigDecimal(0)) <= 0) {
                         totalSettlement = commonOrder.getTotalPayment();
                     }
+                    if (totalSettlement == null || totalSettlement.compareTo(new BigDecimal(0)) <= 0)
+                        commonGoodsVO.setPayState("鏈粯娆�/宸查��娆�");
+                    else
+                        commonGoodsVO.setPayState("宸蹭粯娆�");
+
                     commonGoodsVO.setActualPay("浠樻閲戦锛毬�" + totalSettlement);
 
                     // 閭�璇疯鍗曚俊鎭繚鎶�
@@ -2189,28 +2333,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);
@@ -2388,4 +2536,15 @@
         return commonOrderMapper.listByGoodsIdAndUidAndMinThirdCreateTime(goodsId, uid, minThirdCreateTime, 0, 1000);
     }
 
+    @Override
+    public List<CommonOrder> listPayStateOrder(Integer sourceType, Date minThirdCreateTime, Date maxThirdCreateTime, int page, int pageSize) {
+        CommonOrderMapper.DaoQuery daoQuery = new CommonOrderMapper.DaoQuery();
+        daoQuery.minThirdCreateTime = minThirdCreateTime;
+        daoQuery.maxThirdCreateTime = maxThirdCreateTime;
+        daoQuery.state = CommonOrder.STATE_FK;
+        daoQuery.sourceType = sourceType;
+        daoQuery.sortList = Arrays.asList(new String[]{"co_third_create_time ASC"});
+        return commonOrderMapper.list(daoQuery, (page - 1) * pageSize, pageSize);
+    }
+
 }

--
Gitblit v1.8.0