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/pinduoduo/PinDuoDuoUtil.java |   75 +++++++++++++++++++++++++++++++++++--
 1 files changed, 71 insertions(+), 4 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/util/pinduoduo/PinDuoDuoUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/pinduoduo/PinDuoDuoUtil.java
index c48ed5c..6e6dd03 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/pinduoduo/PinDuoDuoUtil.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/pinduoduo/PinDuoDuoUtil.java
@@ -8,7 +8,9 @@
 import java.math.BigDecimal;
 import java.net.URLEncoder;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -20,6 +22,7 @@
 import org.apache.commons.httpclient.Header;
 import org.apache.commons.httpclient.HttpClient;
 import org.apache.commons.httpclient.HttpException;
+import org.apache.commons.httpclient.methods.GetMethod;
 import org.apache.commons.httpclient.methods.PostMethod;
 import org.jsoup.Jsoup;
 import org.jsoup.nodes.Document;
@@ -99,13 +102,14 @@
         return BigDecimalUtil.getWithNoZera(money).setScale(2);
     }
 
+
     /**
      * 璁$畻鍟嗗搧鍒稿悗浠凤紝娌℃湁鍒稿垯杩斿洖鍘熶环
      *
      * @param goodsBrief
      * @return
      */
-    public static BigDecimal getQuanPrice(PDDGoodsDetail goods) {
+    public static BigDecimal getCouponPrice(PDDGoodsDetail goods) {
         BigDecimal hundred = new BigDecimal(100);
         BigDecimal price = MoneyBigDecimalUtil.div(new BigDecimal(goods.getMinGroupPrice()), hundred);
         Boolean hasCoupon = goods.getHasCoupon();
@@ -549,11 +553,26 @@
 
     }
 
+    /**
+     * 鏄惁涓烘嫾澶氬鐨勯摼鎺�
+     *
+     * @param link
+     * @return
+     */
+    public static boolean isPDDLink(String link) {
+        return link.contains("://p.pinduoduo.com/") || link.contains("yangkeduo.com/");
+    }
+
+    public static boolean isPDDShortLink(String link) {
+        return link.contains("://p.pinduoduo.com/");
+    }
+
     public static String getPDDGoodsId(String url) {
         if (url == null)
             return null;
         String link = url;
-        if (link.contains("://p.pinduoduo.com/")) {// 鎷煎澶氱殑鐭摼
+
+        if (isPDDShortLink(link)) {// 鎷煎澶氱殑鐭摼
             HttpClient client = new HttpClient();
             client.getHttpConnectionManager().getParams().setConnectionTimeout(5000);
             PostMethod pm = new PostMethod(link);
@@ -647,11 +666,59 @@
     }
 
     public static String getCustomParams(Long uid) {
-        return uid + "_" + TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyyMMdd");
+        return uid + "" + TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyyMMdd");
     }
 
     public static String getUidFromCustomParams(String params) {
-        return params.split("_")[0];
+        if (params.contains("_")) {
+            return params.split("_")[0];
+        } else {
+            if (params.length() > 12) {
+                return params.substring(0, params.length() - 8);
+            } else {
+                return params;
+            }
+        }
+    }
+
+    public static void main(String[] args) {
+        String link = "https://mobile.yangkeduo.com/goods.html?ps=Xy6iPwbIKZ";
+        HttpClient client = new HttpClient();
+        client.getHttpConnectionManager().getParams().setConnectionTimeout(5000);
+        GetMethod pm = new GetMethod(link);
+        pm.setRequestHeader("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36");
+        //pm.setRequestHeader("Sec-Fetch-Site","same-origin");
+        pm.setRequestHeader("Upgrade-Insecure-Requests","1");
+        pm.setRequestHeader("Referer","https://mobile.yangkeduo.com/goods.html?ps=Xy6iPwbIKZ");
+        //pm.setRequestHeader("Priority","u=0, i");
+        pm.setRequestHeader(":authority","mobile.yangkeduo.com");
+        //pm.setRequestHeader("Cookie","api_uid=CkilZ2ZPIkIbkQBWBOpQAg==; _nano_fp=Xpman5TjX5gYX5XyX9_~Ae2Gbs0pL8h6jt_96NPO; webp=1; jrpl=KlZOYnFydoAazGlzTaZsZppQwiLSz3OM; njrpl=KlZOYnFydoAazGlzTaZsZppQwiLSz3OM; dilx=C2L6L~2oOr3ElrZKZ4_YW; pdd_vds=gaeAuFISuzLSnVdWuVbgspGgwjOXGqdpNMuzbXyFeJOXypsMOMlkLJnMGpOH");
+        pm.setRequestHeader("Sec-Ch-Ua","\"Chromium\";v=\"124\", \"Google Chrome\";v=\"124\", \"Not-A.Brand\";v=\"99\"");
+        pm.setRequestHeader("Sec-Ch-Ua-Mobile","?0");
+        pm.setRequestHeader("Sec-Ch-Ua-Platform","\"Windows\"");
+        pm.setRequestHeader("Sec-Fetch-Dest","document");
+        pm.setRequestHeader("Sec-Fetch-Mode","navigate");
+//        pm.setRequestHeader("","");
+//        pm.setRequestHeader("","");
+
+        try {
+            client.executeMethod(pm);
+            Header[]  headers = pm.getRequestHeaders();
+            for(Header header:headers ){
+
+                System.out.println(header.toString());
+            }
+            Header location = pm.getResponseHeader("Location");
+            if (location != null) {
+                link = location.getValue();
+                System.out.println(link);
+            }
+            System.out.println(pm.getResponseBodyAsString());
+        } catch (HttpException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
     }
 
 }

--
Gitblit v1.8.0