From 6159dc58f50d3e4680779b7989bbd4d49a76bad5 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 09 五月 2025 19:13:35 +0800 Subject: [PATCH] 添加日志 --- src/main/java/com/taoke/autopay/utils/order/DYOrderApi.java | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 103 insertions(+), 9 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 4cda4e3..d1a448a 100644 --- a/src/main/java/com/taoke/autopay/utils/order/DYOrderApi.java +++ b/src/main/java/com/taoke/autopay/utils/order/DYOrderApi.java @@ -1,12 +1,24 @@ package com.taoke.autopay.utils.order; +import com.google.gson.Gson; +import com.google.gson.reflect.TypeToken; import com.taoke.autopay.dto.DYOrderDto; +import com.taoke.autopay.dto.DYSkuOrderDto; +import com.taoke.autopay.dto.DYSubsidyDto; import com.taoke.autopay.exception.KeyOrderException; +import com.taoke.autopay.utils.Constant; import com.taoke.autopay.utils.HttpUtil; import com.taoke.autopay.utils.JsonUtil; +import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * @author hxh @@ -17,26 +29,108 @@ public class DYOrderApi { private static Logger logger = LoggerFactory.getLogger("dyorderApiLogger"); + private static Gson gson=JsonUtil.getSimpleGson(); + private static String requestByOrderNo1(String orderNo) { String url = String.format("https://api.youihuo.com/open/order.getFreeOrder?apiKey=sTIFFTyunIFZfp5i4V6g19PN9biudl4v&orderId=%s", orderNo); String result = HttpUtil.get(url); + System.out.println(result); return result; } - public static DYOrderDto getOrderDetail(String orderNo) throws KeyOrderException { + private static String requestByOrderNo2(String 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); + return result; + } + + private static DYOrderDto getOrderDetail1(String orderNo) throws KeyOrderException { String result = requestByOrderNo1(orderNo); - JSONObject root = JSONObject.fromObject(result); - if (root.optInt("code") != 1000) { - logger.error(String.format("鎶栭煶璁㈠崟鏌ヨ鍑洪敊锛�%s - %s",orderNo, result)); - throw new KeyOrderException(root.optString("message")); + try { + JSONObject root = JSONObject.fromObject(result); + if (root.optInt("code") != 1000) { + logger.error(String.format("鎶栭煶璁㈠崟鏌ヨ鍑洪敊(瓒呬韩浣�)锛�%s - %s", orderNo, result)); + throw new KeyOrderException(root.optString("message")); + } + JSONObject data = root.optJSONObject("data"); + DYOrderDto dto = JsonUtil.getSimpleGson().fromJson(data.toString(), DYOrderDto.class); + dto.setOrderChannel(Constant.ORDER_CHANNEL_CYX); + return dto; + }catch(Exception e){ + throw new KeyOrderException(e.getMessage()); } - JSONObject data = root.optJSONObject("data"); - return JsonUtil.getSimpleGson().fromJson(data.toString(),DYOrderDto.class); + } + + 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 data = null; + try { + JSONObject root = JSONObject.fromObject(result); + if (root.optInt("errCode") != 0) { + logger.error(String.format("鎶栭煶璁㈠崟鏌ヨ鍑洪敊(鐖嗗搧绀�)锛�%s - %s", orderNo, result)); + throw new KeyOrderException(root.optString("errMsg")); + } + data = root.optJSONObject("data"); + }catch(Exception e){ + + } + if(data==null){ + logger.error(String.format("鎶栭煶璁㈠崟鏌ヨ鏃犳暟鎹�(2)锛�%s - %s",orderNo, result)); + throw new KeyOrderException("璁㈠崟鏌ヨ鏃犳暟鎹�"); + } + if(!data.optBoolean("subsidyFullyCoversOrder")){ + throw new KeyOrderException("涓嶆弧瓒虫敮浠樻潯浠�"); + } + + + JSONObject orderDetailData = data.optJSONObject("orderDetail"); + + 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); + dyOrder.setOrderChannel(Constant.ORDER_CHANNEL_BPS); + return dyOrder; + } + + + public static DYOrderDto getOrderDetail(String orderNo) throws KeyOrderException { + DYOrderDto dto=null; + List<KeyOrderException> exceptions=new ArrayList<>(); + try { + dto = getOrderDetail1(orderNo); + }catch(KeyOrderException e){ + exceptions.add(e); + } + if(dto==null){ + try { + dto = getOrderDetail2(orderNo); + }catch(KeyOrderException e){ + exceptions.add(e); + } + } + + if(dto!=null){ + return dto; + } + String exception=""; + for(KeyOrderException e:exceptions){ + exception+=e.getMessage()+";"; + } + throw new KeyOrderException(exception); } public static void main(String[] args) throws Exception { - DYOrderDto dto = (DYOrderApi.getOrderDetail("6931134387948820382")); - System.out.println("123123"); +// DYOrderDto dto = (DYOrderApi.getOrderDetail("6932591080266339994")); +// DYOrderDto result = getOrderDetail("6933551928932504940"); +// System.out.println(result); + System.out.println(getOrderDetail("6934328696568616274")); } } -- Gitblit v1.8.0