From e1a62ec62e7331d97af9302e90e1ce44af8235eb Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 27 一月 2021 15:26:55 +0800
Subject: [PATCH] 拼多多授权绑定

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java |   31 ++++++++++++++++++++++++-------
 1 files changed, 24 insertions(+), 7 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java
index 24575f2..a2cac35 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java
@@ -9,6 +9,7 @@
 import javax.annotation.Resource;
 import javax.servlet.http.HttpSession;
 
+import com.yeshi.fanli.service.inter.pdd.PDDAuthService;
 import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
 import org.springframework.core.task.TaskExecutor;
 import org.springframework.stereotype.Controller;
@@ -140,6 +141,10 @@
     @Resource
     private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService;
 
+    @Resource
+    private PDDAuthService pddAuthService;
+
+
     /**
      * 绮樿创鏉夸俊鎭帹鑽�
      *
@@ -259,7 +264,7 @@
                                     TaoBaoGoodsBrief goodsBrief = null;
                                     String specialId = userExtraTaoBaoInfoService.getSpecialIdByUid(uid);
                                     try {
-                                        goodsBrief = TaoKeApiUtil.searchGoodsDetail(goods.getGoodsId(),specialId,null);
+                                        goodsBrief = TaoKeApiUtil.searchGoodsDetail(goods.getGoodsId(), specialId, null);
                                     } catch (TaobaoGoodsDownException e) {
                                         e.printStackTrace();
                                     }
@@ -563,7 +568,7 @@
 
         /*-------- 鎷煎澶氬晢鍝�  -------*/
         if (goodsType.intValue() == Constant.SOURCE_TYPE_PDD) {
-            searchPDDGoods(acceptData, searchkey, page, filter, order, ap, out);
+            searchPDDGoods(acceptData, uid, searchkey, page, filter, order, ap, out);
             return;
         }
 
@@ -650,15 +655,19 @@
         }
 
         // 娣樺疂api鎼滅储鍟嗗搧
-        TaoBaoSearchResult result = TaoBaoUtil.search(sf, specialId, null);
-
+        TaoBaoSearchResult result = taoBaoGoodsCacheUtil.getSearchResult(sf); // TaoBaoUtil.search(sf, specialId, null);
+        if (result == null) {
+            result = TaoBaoUtil.search(sf, specialId, null);
+            taoBaoGoodsCacheUtil.saveSearchResult(sf, result);
+        }
+        TaoBaoSearchResult finalResult = result;
         // 鎼滅储缁撴灉缂撳瓨鍒皉edis
         if (result != null && result.getTaoBaoGoodsBriefs() != null && result.getTaoBaoGoodsBriefs().size() > 0) {
             ThreadUtil.run(new Runnable() {
                 @Override
                 public void run() {
                     // 鏇存柊鍒扮珐瀛�
-                    for (TaoBaoGoodsBrief goods : result.getTaoBaoGoodsBriefs())
+                    for (TaoBaoGoodsBrief goods : finalResult.getTaoBaoGoodsBriefs())
                         taoBaoGoodsCacheUtil.saveCommonTaoBaoGoodsInfo(goods);
                 }
             });
@@ -929,7 +938,7 @@
      * @param ap
      * @param out
      */
-    private void searchPDDGoods(AcceptData acceptData, String key, Integer page, String filter, Integer order,
+    private void searchPDDGoods(AcceptData acceptData, Long uid, String key, Integer page, String filter, Integer order,
                                 AppPageNotification ap, PrintWriter out) {
         PDDSearchFilter pddfilter = new PDDSearchFilter();
         pddfilter.setKw(SearchFilterUtil.filterSearchContent(key));
@@ -973,8 +982,16 @@
         int count = 0;
         JSONObject data = new JSONObject();
         JSONArray array = new JSONArray();
+        String customParams = Constant.PDD_SEARCH_CUSTOMER_PARAMS;
 
-        PDDGoodsResult result = PinDuoDuoApiUtil.searchGoods(pddfilter);
+        if (uid != null) {
+            String cp = pddAuthService.getFanliCustomParams(uid);
+            if (PinDuoDuoApiUtil.isAuth(PinDuoDuoApiUtil.PID_FANLI, cp)) {
+                customParams = cp;
+            }
+        }
+
+        PDDGoodsResult result = PinDuoDuoApiUtil.searchGoods(pddfilter, customParams);
         if (result != null) {
             count = result.getTotalCount();
             Gson gson = JsonUtil.getApiCommonGson();

--
Gitblit v1.8.0