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/util/jd/JDApiUtil.java |  103 +++++++++++++++++++++++++++++++++------------------
 1 files changed, 67 insertions(+), 36 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/util/jd/JDApiUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/jd/JDApiUtil.java
index c10db1d..7048cee 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/jd/JDApiUtil.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/jd/JDApiUtil.java
@@ -37,12 +37,8 @@
 
     public static String APP_ID = "1864778416";
     public static String APP_KEY = "388f5133d13a5ea290aa5c44f3ebcc00";
-    public static String SECRET_KEY = "e22367fc866746d98b50d47b4c521781";
+    public static String SECRET_KEY = "270eefea04d44e33b5c21511aa857458";
     private static String SERVER_URL = "https://router.jd.com/api";
-
-//    public static long POSITION_FANLI = 1869704794L;
-//    public static long POSITION_SHARE = 1869542990L;
-//    public static long POSITION_COUPON = 1869704796L;
 
     // 璁㈠崟鏌ヨ绫诲瀷
     public static int ORDER_TYPE_CREATETIME = 1;// 涓嬪崟鏃堕棿
@@ -177,13 +173,13 @@
         return resultJson.optJSONObject("data").optString("shortURL");
     }
 
-    public static JDGoods queryGoodsDetail(Long skuId) {
-        List<Long> skuIdList = new ArrayList<>();
-        skuIdList.add(skuId);
+    public static JDGoods queryGoodsDetail(String itemId) {
+        List<String> itemIdList = new ArrayList<>();
+        itemIdList.add(itemId);
         JDFilter filter = new JDFilter();
         filter.setPageIndex(1);
         filter.setPageSize(20);
-        filter.setListId(skuIdList);
+        filter.setListItemId(itemIdList);
         JDSearchResult searchResult = queryByKey(filter);
         if (searchResult != null) {
             List<JDGoods> list = searchResult.getGoodsList();
@@ -193,11 +189,11 @@
         return null;
     }
 
-    public static List<JDGoods> queryGoodsDetail(List<Long> skuIdList) {
+    public static List<JDGoods> queryGoodsDetail(List<String> itemIdList) {
         JDFilter filter = new JDFilter();
         filter.setPageIndex(1);
         filter.setPageSize(20);
-        filter.setListId(skuIdList);
+        filter.setListItemId(itemIdList);
         JDSearchResult searchResult = queryByKey(filter);
         if (searchResult != null) {
             List<JDGoods> list = searchResult.getGoodsList();
@@ -210,12 +206,12 @@
     /**
      * 閫氳繃鍟嗗搧鎼滅储鎺ュ彛鎵归噺鑾峰彇璇︽儏
      *
-     * @param skuIds
+     * @param itemIds
      * @return
      */
-    public static List<JDGoods> listGoodsDetail(List<Long> skuIds) {
+    public static List<JDGoods> listGoodsDetail(List<String> itemIds) {
         JDFilter filter = new JDFilter();
-        filter.setListId(skuIds);
+        filter.setListItemId(itemIds);
         JDSearchResult result = queryByKey(filter);
         return result.getGoodsList();
     }
@@ -227,7 +223,7 @@
      * @return
      */
     public static JDSearchResult queryByKey(JDFilter filter) {
-        logger.info(String.format("queryByKey:%s  %s", filter.getKeyword(), StringUtil.concat(filter.getListId(), ",")));
+        logger.info(String.format("queryByKey:%s  %s", filter.getKeyword(), StringUtil.concat(filter.getListItemId(), ",")));
 
         JDSearchResult searchResult = new JDSearchResult();
 
@@ -235,6 +231,8 @@
         JSONObject json = new JSONObject();
         json.put("pageIndex", filter.getPageIndex());
         json.put("pageSize", filter.getPageSize());
+//        json.put("sceneId", 1);
+
 
         if (filter.getCid1() != null)
             json.put("cid1", filter.getCid1());
@@ -269,8 +267,8 @@
         if (filter.getIsCoupon() != null)
             json.put("isCoupon", filter.getIsCoupon());
 
-        if (filter.getListId() != null)
-            json.put("skuIds", "[" + StringUtil.concat(filter.getListId(), ",") + "]");
+        if (filter.getListItemId() != null)
+            json.put("itemIds", new Gson().toJson(filter.getListItemId()));
 
         if (filter.getIsPG() != null)
             json.put("isPG", filter.getIsPG());
@@ -309,6 +307,7 @@
             String message = resultJson.optString("message");
             if ("SUCCESS".equalsIgnoreCase(message)) {
                 JSONArray array = resultJson.optJSONArray("data");
+                System.out.println(array.toString());
                 if (array != null) {
                     for (int i = 0; i < array.size(); i++) {
                         JDGoods goods = parseJDGoods(array.optJSONObject(i));
@@ -381,7 +380,7 @@
         } else {
             return null;
         }
-
+        goods.setItemId(json.optString("itemId"));
         goods.setComments(json.optLong("comments"));
         goods.setBrandCode(json.optString("brandCode"));
         goods.setBrandName(json.optString("brandName"));
@@ -390,6 +389,7 @@
         goods.setOwner(json.optString("owner"));
         goods.setMaterialUrl(json.optString("materialUrl"));
         goods.setSkuId(json.optLong("skuId"));
+        goods.setSpuid(json.optLong("spuid"));
         goods.setSkuName(json.optString("skuName"));
         goods.setIsHot(json.optInt("isHot"));
 
@@ -614,13 +614,13 @@
     /**
      * 鑾峰彇鎺ㄥ箍鍟嗗搧淇℃伅鎺ュ彛
      *
-     * @param skuIdList
+     * @param itemIdList
      * @return
      */
-    public static List<JDGoods> getGoodsDetail(List<Long> skuIdList) {
+    public static List<JDGoods> getGoodsDetail(List<String> itemIdList) {
         List<JDGoods> list = new ArrayList<>();
         JSONObject json = new JSONObject();
-        json.put("skuIds", StringUtil.concat(skuIdList, ","));
+        json.put("itemIds", StringUtil.concat(itemIdList, ","));
         String result = baseRequest2("jd.union.open.goods.promotiongoodsinfo.query", null, json);
         System.out.println(result);
         JSONObject resultJson = JSONObject.fromObject(result);
@@ -778,9 +778,9 @@
         return list;
     }
 
-    public static JDGoods getGoodsDetail(Long skuId) {
-        List<Long> skuIdList = new ArrayList<>();
-        skuIdList.add(skuId);
+    public static JDGoods getGoodsDetail(String itemId) {
+        List<String> skuIdList = new ArrayList<>();
+        skuIdList.add(itemId);
         List<JDGoods> list = getGoodsDetail(skuIdList);
         if (list != null && list.size() > 0)
             return list.get(0);
@@ -819,28 +819,29 @@
                 List<JDOrder> orderList = new Gson().fromJson(data.toString(), typeToken);
                 if (orderList != null)
                     for (JDOrder order : orderList) {
-                        Map<Long, List<JDOrderItem>> map = new HashMap<>();
+                        Map<String, List<JDOrderItem>> map = new HashMap<>();
                         for (int i = 0; i < order.getOrderItemList().size(); i++) {
                             JDOrderItem orderItem = order.getOrderItemList().get(i);
-                            if (map.get(orderItem.getSkuId()) == null)
-                                map.put(orderItem.getSkuId(), new ArrayList<>());
-                            map.get(orderItem.getSkuId()).add(orderItem);
+                            String goodsId = getGoodsId(orderItem, order.getOrderItemList().size());
+                            if (map.get(goodsId) == null)
+                                map.put(goodsId, new ArrayList<>());
+                            map.get(goodsId).add(orderItem);
 
                             order.getOrderItemList().get(i)
-                                    .setTradeId(order.getOrderId() + "-" + order.getOrderItemList().get(i).getSkuId());
+                                    .setTradeId(order.getOrderId() + "-" + getGoodsId(order.getOrderItemList().get(i),order.getOrderItemList().size()));
                             order.getOrderItemList().get(i).setOrderId(order.getOrderId());
                             order.getOrderItemList().get(i).setOrderBy(i + 1);
                         }
                         // 鏌ヨ鍟嗗搧ID鐩稿悓鐨勫瓙璁㈠崟
-                        for (Iterator<Long> its = map.keySet().iterator(); its.hasNext(); ) {
-                            Long skuId = its.next();
-                            if (map.get(skuId).size() > 1) {
+                        for (Iterator<String> its = map.keySet().iterator(); its.hasNext(); ) {
+                            String goodsId = its.next();
+                            if (map.get(goodsId).size() > 1) {
                                 int skuOrderBy = 1;
                                 for (int i = 0; i < order.getOrderItemList().size(); i++) {
                                     JDOrderItem orderItem = order.getOrderItemList().get(i);
-                                    if (orderItem.getSkuId().longValue() == skuId) {
+                                    if (getGoodsId(orderItem,order.getOrderItemList().size()).equalsIgnoreCase(goodsId)) {
                                         order.getOrderItemList().get(i).setTradeId(order.getOrderId() + "-"
-                                                + order.getOrderItemList().get(i).getSkuId() + "-" + skuOrderBy++);
+                                                + getGoodsId(order.getOrderItemList().get(i), order.getOrderItemList().size()) + "-" + skuOrderBy++);
                                     }
                                 }
                             }
@@ -851,6 +852,16 @@
             }
         }
         return null;
+    }
+
+    private static String getGoodsId(JDOrderItem item, int itemCount) {
+        if (itemCount <= 1) {
+            return item.getSkuId() + "";
+        }
+        if (item.getSkuId() != null) {
+            return item.getSkuId() + "";
+        }
+        return item.getItemId().split("_")[1];
     }
 
 
@@ -964,8 +975,28 @@
     }
 
     public static void main(String[] args) {
-        List<Long> ids=new ArrayList<>();
-        ids.add(100067115976L);
+        Date startTime = new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24L);
+        // 涓�涓皬鏃朵负涓�涓闀�
+        List<JDOrder> tempOrderList = new ArrayList<>();
+        for (int i = 0; i < 24; i++) {
+            Date da = new Date(startTime.getTime() + 1000 * 60 * 60L * i);
+            if (da.getTime() >System.currentTimeMillis())
+                break;
+
+
+            int pageSize = 200;
+            int page = 1;
+            JDOrderResult result = JDApiUtil.getOrderList(page++, pageSize, da, JDApiUtil.ORDER_TYPE_UPDATETIME);
+            if (result != null) {
+                tempOrderList.addAll(result.getOrderList());
+                while (result != null && result.isHasMore()) {
+                    result = JDApiUtil.getOrderList(page++, pageSize, da, JDApiUtil.ORDER_TYPE_UPDATETIME);
+                    if (result != null)
+                        tempOrderList.addAll(result.getOrderList());
+                }
+            }
+        }
+        System.out.println(tempOrderList.size());
     }
 
 }

--
Gitblit v1.8.0