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/controller/client/v1/GoodsController.java |   67 +++++++++++++++++++++++----------
 1 files changed, 46 insertions(+), 21 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/GoodsController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/GoodsController.java
index 1f24bcd..1a861c7 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/GoodsController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/GoodsController.java
@@ -1,13 +1,18 @@
 package com.yeshi.fanli.controller.client.v1;
 
 import java.io.PrintWriter;
+import java.util.Date;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 
 import com.yeshi.fanli.entity.SystemEnum;
 import com.yeshi.fanli.entity.SystemFunction;
+import com.yeshi.fanli.entity.SystemPIDInfo;
 import com.yeshi.fanli.exception.taobao.TaoBaoConvertLinkException;
+import com.yeshi.fanli.lijin.manager.UserLijinMnager;
+import com.yeshi.fanli.service.inter.user.UserFunctionsLimitService;
+import com.yeshi.fanli.service.manger.PIDManager;
 import com.yeshi.fanli.service.manger.goods.TaoBaoLinkManager;
 import com.yeshi.fanli.util.SystemInfoUtil;
 import org.springframework.stereotype.Controller;
@@ -93,7 +98,16 @@
     @Resource
     private TaoBaoLinkManager taoBaoLinkManager;
 
-    private void doTaoLiJinBuy(AcceptData acceptData, Long uid, Long auctionId, PrintWriter out) {
+    @Resource
+    private PIDManager pidManager;
+
+    @Resource
+    private UserLijinMnager userLijinMnager;
+
+    @Resource
+    private UserFunctionsLimitService userFunctionsLimitService;
+
+    private void doTaoLiJinBuy(AcceptData acceptData, Long uid, String auctionId, PrintWriter out) {
         JSONObject data = new JSONObject();
         TaoBaoLink taoBaoLink = null;
         try {
@@ -131,17 +145,13 @@
     }
 
 
-    private void getTaoBaoLinkWithoutFanLi(AcceptData acceptData, Long auctionId, String from, String source,
+    private void getTaoBaoLinkWithoutFanLi(AcceptData acceptData, String auctionId, String from, String source,
                                            HttpServletRequest request, PrintWriter out) {
 
         try {
-            String pid =  TaoBaoConstant.TAOBAO_COUPON_PID;
+            String pid = pidManager.getPidCache(acceptData.getSystem(), Constant.SOURCE_TYPE_TAOBAO, SystemPIDInfo.PidType.coupon);
 
-            if (acceptData.getSystem() == SystemEnum.yhqjx) {
-                pid="mm_124933865_56750082_19510050154";
-            }
-
-            TaoBaoLink taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForRecieveCoupon(auctionId, null, pid);
+            TaoBaoLink taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForRecieveCoupon(acceptData.getSystem(), auctionId, null, pid);
             JSONObject data = new JSONObject();
             JSONObject link = new JSONObject();
             link.put("clickUrl", taoBaoLink.getClickUrl());
@@ -165,15 +175,21 @@
      * @param out
      */
     @RequestMapping(value = "gettaobaolink")
-    public void getTaoBaoLink(AcceptData acceptData, Long uid, Long auctionId, String from, String source,
+    public void getTaoBaoLink(AcceptData acceptData, Long uid, String auctionId, String from, String source,
                               HttpServletRequest request, PrintWriter out) {
 
-        if (auctionId == null || auctionId <= 0) {
+        if (StringUtil.isNullOrEmpty(auctionId)) {
             out.print(JsonUtil.loadFalseResult(2, "鍟嗗搧ID涓嶈兘涓虹┖"));
             return;
         }
 
         if (!SystemInfoUtil.hasFunctions(acceptData.getSystem(), SystemFunction.fanli)) {
+            getTaoBaoLinkWithoutFanLi(acceptData, auctionId, from, source, request, out);
+            return;
+        }
+
+        //棰嗗埜
+        if (uid == null) {
             getTaoBaoLinkWithoutFanLi(acceptData, auctionId, from, source, request, out);
             return;
         }
@@ -189,6 +205,10 @@
             out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC));
             return;
         }
+        if (userFunctionsLimitService.isLimit(uid, SystemFunction.fanli, new Date())) {
+            out.print(JsonUtil.loadFalseResult(1, "璇ュ姛鑳介檺鍒朵娇鐢�"));
+            return;
+        }
 
         try {
             // 鏃ュ織璁板綍
@@ -201,7 +221,7 @@
         TaoBaoGoodsBrief goods = null;
 
         try {
-            goods = TaoKeApiUtil.getSimpleGoodsInfo(auctionId);
+            goods = TaoKeApiUtil.getSimpleGoodsInfoForOwnBuy(auctionId);
         } catch (TaobaoGoodsDownException e) {
             out.print(JsonUtil.loadFalseResult(3, "鍟嗗搧宸蹭笅鏋�"));
             return;
@@ -222,9 +242,9 @@
 
         String dpid = null;
         if (TaoBaoUtil.isSpecialGoods(goods.getMaterialLibType())) {
-            dpid = TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT;
+            dpid = pidManager.getPid(acceptData.getSystem(), Constant.SOURCE_TYPE_TAOBAO, SystemPIDInfo.PidType.fanli);
         } else {
-            dpid = TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID;
+            dpid = pidManager.getPid(acceptData.getSystem(), Constant.SOURCE_TYPE_TAOBAO, SystemPIDInfo.PidType.fanliChannel);
         }
         String psiteId = dpid.split("_")[2];
         String padzoneId = dpid.split("_")[3];
@@ -256,7 +276,7 @@
             } else
                 isNative = false;
 
-            pid = TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT;
+            pid = pidManager.getPid(acceptData.getSystem(), Constant.SOURCE_TYPE_TAOBAO, SystemPIDInfo.PidType.fanli);
 
         } else {// 灏氭湭缁戝畾
             isNative = true;
@@ -278,7 +298,7 @@
                     }
 
                     if (taoBaoLink == null) {
-                        taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForBuy(uid, auctionId, specialId, null);
+                        taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForBuy(acceptData.getSystem(), uid, auctionId, specialId, null);
                         if (taoBaoLink != null)
                             clientTBPid = null;
                     }
@@ -293,7 +313,7 @@
                             taoBaoLink = shareGoodsService.getTaoBaoLink(uid, auctionId,
                                     tbPidService.getIOSDefault().getPid());
                     } else
-                        taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForBuy(uid, auctionId, specialId, null);
+                        taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForBuy(acceptData.getSystem(), uid, auctionId, specialId, null);
                     LogHelper.test("璐拱杞摼:榛樿PID杞摼-" + uid + "锛�" + auctionId);
                 }
             } else {// 涓嶆槸杩斿埄搴撶殑鍟嗗搧锛岀敤鐗规畩PID鏇夸唬
@@ -305,10 +325,10 @@
                 if (!StringUtil.isNullOrEmpty(relationId)) {//
                     if (source != null && "taolijin_free_buy".equals(source)) {
                         taoBaoLink = taoBaoLinkManager.getTaoLiJinLinkForBuy(uid, auctionId,
-                                TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID);
+                                pidManager.getPid(acceptData.getSystem(), Constant.SOURCE_TYPE_TAOBAO, SystemPIDInfo.PidType.fanliChannel));
                     } else {
-                        taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForShare(uid, auctionId, relationId,
-                                TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID);
+                        taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForShare(acceptData.getSystem(), uid, auctionId, relationId,
+                                pidManager.getPid(acceptData.getSystem(), Constant.SOURCE_TYPE_TAOBAO, SystemPIDInfo.PidType.fanliChannel));
                     }
 
                     data.put("native", true);
@@ -330,6 +350,9 @@
             data.put("link", link);
             if (clientTBPid != null)
                 data.put("tbPidInfo", clientTBPid);
+
+            data.put("userLevel", userLijinMnager.getUserLevelInfo(uid, acceptData.getSystem()));
+
             out.print(JsonUtil.loadTrueResult(data));
 
             TaoKeLogHelper.convertLinkInfo(
@@ -393,6 +416,8 @@
                     data.put("native", true);
                 }
 
+                data.put("userLevel", userLijinMnager.getUserLevelInfo(uid, acceptData.getSystem()));
+
                 out.print(JsonUtil.loadTrueResult(data));
             } else {
                 out.print(JsonUtil.loadFalseResult(1, "璇锋眰澶辫触"));
@@ -426,7 +451,7 @@
         if ("TB".equalsIgnoreCase(goodsType)) {
             TaoBaoGoodsBrief goods = null;
             try {
-                goods = TaoKeApiUtil.getSimpleGoodsInfo(Long.parseLong(goodsId));
+                goods = TaoKeApiUtil.getSimpleGoodsInfo(goodsId);
             } catch (NumberFormatException e) {
                 e.printStackTrace();
             } catch (TaobaoGoodsDownException e) {
@@ -458,7 +483,7 @@
      * @param out
      */
     @RequestMapping(value = "deleteRecommendGoods")
-    public void deleteRecommendGoods(AcceptData acceptData, Long goodsId, Integer source, Long uid, String reason,
+    public void deleteRecommendGoods(AcceptData acceptData, String goodsId, Integer source, Long uid, String reason,
                                      PrintWriter out) {
         if (goodsId == null) {
             out.print(JsonUtil.loadFalseResult(1, "璇蜂笂浼犲晢鍝�"));

--
Gitblit v1.8.0