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