From 17caebabf7a6a529b7039c71e21e5a324e31ea20 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 27 九月 2024 16:23:42 +0800
Subject: [PATCH] 代理新功能完善

---
 src/main/java/com/taoke/autopay/utils/order/DYOrderApi.java |   44 ++++++++++++++++----------------------------
 1 files changed, 16 insertions(+), 28 deletions(-)

diff --git a/src/main/java/com/taoke/autopay/utils/order/DYOrderApi.java b/src/main/java/com/taoke/autopay/utils/order/DYOrderApi.java
index 25cb0df..aa25c6e 100644
--- a/src/main/java/com/taoke/autopay/utils/order/DYOrderApi.java
+++ b/src/main/java/com/taoke/autopay/utils/order/DYOrderApi.java
@@ -39,7 +39,7 @@
     }
 
     private static String requestByOrderNo2(String orderNo) {
-        String url = String.format("https://api.bpshe.com/mall/douyinOMS/getSubsidyOrderInfo?orderId=%s", orderNo);
+        String url = String.format("https://api.bpshe.com/mall/douyinOMS/getSubsidyOrderInfo?appKey=cdaef330f1324961a73e15a85ab67fd2&orderId=%s", orderNo);
         Map<String,String> headers=new HashMap<>();
         headers.put("Accept","application/json;charset=utf-8");
         String result = HttpUtil.get(url, headers);
@@ -50,7 +50,7 @@
         String result = requestByOrderNo1(orderNo);
         JSONObject root = JSONObject.fromObject(result);
         if (root.optInt("code") != 1000) {
-            logger.error(String.format("鎶栭煶璁㈠崟鏌ヨ鍑洪敊(1)锛�%s - %s",orderNo, result));
+            logger.error(String.format("鎶栭煶璁㈠崟鏌ヨ鍑洪敊(瓒呬韩浣�)锛�%s - %s",orderNo, result));
             throw new KeyOrderException(root.optString("message"));
         }
         JSONObject data = root.optJSONObject("data");
@@ -61,10 +61,11 @@
 
     private static DYOrderDto getOrderDetail2(String orderNo) throws KeyOrderException {
         String result = requestByOrderNo2(orderNo);
+        logger.info(String.format("鐖嗗搧绀炬帴鍙�%s:%s", orderNo, result));
         System.out.println(result);
         JSONObject root = JSONObject.fromObject(result);
         if (root.optInt("errCode") != 0) {
-            logger.error(String.format("鎶栭煶璁㈠崟鏌ヨ鍑洪敊(2)锛�%s - %s",orderNo, result));
+            logger.error(String.format("鎶栭煶璁㈠崟鏌ヨ鍑洪敊(鐖嗗搧绀�)锛�%s - %s",orderNo, result));
             throw new KeyOrderException(root.optString("errMsg"));
         }
         JSONObject data = root.optJSONObject("data");
@@ -72,33 +73,19 @@
             logger.error(String.format("鎶栭煶璁㈠崟鏌ヨ鏃犳暟鎹�(2)锛�%s - %s",orderNo, result));
             throw new KeyOrderException("璁㈠崟鏌ヨ鏃犳暟鎹�");
         }
+        if(!data.optBoolean("subsidyFullyCoversOrder")){
+            throw new KeyOrderException("涓嶆弧瓒虫敮浠樻潯浠�");
+        }
+
+
         JSONObject orderDetailData = data.optJSONObject("orderDetail");
-        JSONArray subsidyDetailData = data.optJSONArray("subsidyDetail");
-        if(orderDetailData==null||subsidyDetailData==null){
-            logger.error(String.format("璁㈠崟涓庤ˉ璐存棤鏁版嵁(2)锛�%s - %s",orderNo, result));
-            throw new KeyOrderException("璁㈠崟涓庤ˉ璐存棤鏁版嵁");
+
+        if(orderDetailData==null){
+            logger.error(String.format("璁㈠崟鏃犳暟鎹�(2)锛�%s - %s",orderNo, result));
+            throw new KeyOrderException("璁㈠崟鏃犳暟鎹�");
         }
         orderDetailData = orderDetailData.optJSONObject("shop_order_detail");
         DYOrderDto dyOrder =   gson.fromJson(orderDetailData.toString(),DYOrderDto.class);
-        List<DYSubsidyDto> subsidyList = gson.fromJson(subsidyDetailData.toString(), new TypeToken<List<DYSubsidyDto>>(){}.getType());
-        if(subsidyList.size()!=dyOrder.getSku_order_list().size()){
-            throw new KeyOrderException("璁㈠崟鍟嗗搧涓庤ˉ璐村晢鍝佷笉鐩哥瓑");
-        }
-        Map<String, DYSkuOrderDto> skuMap=new HashMap<>();
-        for(DYSkuOrderDto d: dyOrder.getSku_order_list()){
-            skuMap.put(d.getProduct_id()+"", d);
-        }
-        for(DYSubsidyDto d:subsidyList){
-            if(skuMap.get(d.getGoodsId())==null){
-                throw new KeyOrderException("琛ヨ创鍟嗗搧娌″湪璁㈠崟鍟嗗搧涓�");
-            }
-            if(skuMap.get(d.getGoodsId()).getPay_amount()> d.getSubsidyAmount()){
-                throw new KeyOrderException("璁㈠崟鍟嗗搧閲戦楂樹簬琛ヨ创閲戦");
-            }
-            if(!d.getStatus().equalsIgnoreCase("online")){
-                throw new KeyOrderException("琛ヨ创涓嬬嚎");
-            }
-        }
         dyOrder.setOrderChannel(Constant.ORDER_CHANNEL_BPS);
         return  dyOrder;
     }
@@ -132,8 +119,9 @@
 
     public static void main(String[] args) throws Exception {
 //        DYOrderDto dto = (DYOrderApi.getOrderDetail("6932591080266339994"));
-        DYOrderDto result = getOrderDetail("6932676890890213137");
-        System.out.println(result);
+//        DYOrderDto result = getOrderDetail("6933551928932504940");
+//        System.out.println(result);
+        System.out.println(getOrderDetail("6934328696568616274"));
     }
 
 }

--
Gitblit v1.8.0