From 736a697381d0cc52c1c2213cd66740b83d6d81d9 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 30 四月 2021 19:24:51 +0800
Subject: [PATCH] bug修改

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsControllerV2.java |  167 ++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 132 insertions(+), 35 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsControllerV2.java
index 695f55f..baf7cdc 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsControllerV2.java
@@ -1,7 +1,10 @@
 package com.yeshi.fanli.controller.client.v2;
 
 import java.io.PrintWriter;
+import java.io.UnsupportedEncodingException;
 import java.math.BigDecimal;
+import java.net.URLDecoder;
+import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -11,9 +14,14 @@
 
 import com.yeshi.fanli.entity.SystemEnum;
 import com.yeshi.fanli.entity.SystemFunction;
+import com.yeshi.fanli.exception.pdd.PDDApiException;
 import com.yeshi.fanli.service.inter.pdd.PDDAuthService;
 import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
 import com.yeshi.fanli.util.*;
+import com.yeshi.fanli.vo.common.WXXCXJumpInfoVO;
+import com.yeshi.fanli.vo.pdd.PDDConvertLinkResultVO;
+import com.yeshi.fanli.vo.goods.GoodsJumpLinkVO;
+import com.yeshi.fanli.vo.suning.SuningConvertLinkResult;
 import org.json.simple.JSONArray;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -27,7 +35,6 @@
 import com.yeshi.fanli.dto.jd.JDCouponInfo;
 import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
 import com.yeshi.fanli.dto.pdd.PDDGoodsResult;
-import com.yeshi.fanli.dto.pdd.PDDPromotionUrl;
 import com.yeshi.fanli.dto.pdd.PDDSearchFilter;
 import com.yeshi.fanli.dto.suning.SuningGoodsInfo;
 import com.yeshi.fanli.dto.suning.SuningGoodsInfoRecommend;
@@ -67,23 +74,18 @@
 import com.yeshi.fanli.service.inter.dynamic.GoodsEvaluateService;
 import com.yeshi.fanli.service.inter.goods.CollectionGoodsV2Service;
 import com.yeshi.fanli.service.inter.goods.ScanHistoryV2Service;
-import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
 import com.yeshi.fanli.service.inter.jd.JDGoodsClassService;
-import com.yeshi.fanli.service.inter.money.UserMoneyExtraService;
 import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService;
 import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
-import com.yeshi.fanli.service.inter.redpack.UserTaoLiJinNewbiesService;
 import com.yeshi.fanli.service.inter.taobao.TLJBuyGoodsService;
 import com.yeshi.fanli.service.inter.taobao.TLJFreeBuyGoodsService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
 import com.yeshi.goods.facade.service.DaTaoKeGoodsDetailV2Service;
-import com.yeshi.fanli.service.inter.tlj.ConfigTaoLiJinService;
 import com.yeshi.fanli.service.inter.user.ShamUserService;
 import com.yeshi.fanli.service.inter.user.TBPidService;
 import com.yeshi.fanli.service.inter.user.UserGoodsStorageService;
-import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
 import com.yeshi.fanli.service.inter.user.UserInfoService;
 import com.yeshi.fanli.service.inter.user.integral.IntegralGetService;
 import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
@@ -928,7 +930,18 @@
             return;
         }
 
-        PDDGoodsDetail pddGoods = PinDuoDuoApiUtil.getGoodsDetail(id, PinDuoDuoApiUtil.PID_FANLI, pddAuthService.getFanliCustomParams(uid));
+        PDDGoodsDetail pddGoods = null;
+        try {
+            pddGoods = PinDuoDuoApiUtil.getGoodsDetail(id, PinDuoDuoApiUtil.PID_FANLI, pddAuthService.getFanliCustomParams(uid));
+        } catch (PDDApiException e) {
+            e.printStackTrace();
+            if (e.getCode() == PDDApiException.CODE_NOT_AUTH) {
+                try {
+                    pddGoods = PinDuoDuoApiUtil.getGoodsDetail(id, PinDuoDuoApiUtil.PID_FANLI, Constant.PDD_SEARCH_CUSTOMER_PARAMS);
+                } catch (PDDApiException e1) {
+                }
+            }
+        }
         if (pddGoods == null) {
             out.print(JsonUtil.loadFalseResult(2, "鍟嗗搧涓嶅瓨鍦�"));
             return;
@@ -973,9 +986,9 @@
         goodsDetail.setOtherInfo(otherInfo);
 
         CouponInfoVO couponInfo = goodsDetail.getCouponInfo();
-        PDDPromotionUrl convertUrl = null;
+        PDDConvertLinkResultVO convertUrl = null;
         if (couponInfo != null) {
-            convertUrl = PinDuoDuoApiUtil.convert(id, PinDuoDuoApiUtil.PID_COUPON + "", null, false);
+            convertUrl = PinDuoDuoApiUtil.convert(pddGoods.getGoodsSign(), PinDuoDuoApiUtil.PID_COUPON + "", null, false);
             if (convertUrl != null)
                 couponInfo.setLink(convertUrl.getUrl());
         }
@@ -1097,17 +1110,18 @@
         object.put("goods", JsonUtil.getApiCommonGson().toJson(goodsDetail));
         out.print(JsonUtil.loadTrueResult(object.toString()));
 
+        final PDDGoodsDetail fGoods = pddGoods;
         ThreadUtil.run(new Runnable() {
             public void run() {
                 // 娣诲姞娴忚璁板綍
                 try {
-                    scanHistoryV2Service.addPDDScanHistory(uid, acceptData.getDevice(), pddGoods);
+                    scanHistoryV2Service.addPDDScanHistory(uid, acceptData.getDevice(), fGoods);
                 } catch (Exception e) {
                     e.printStackTrace();
                 }
 
                 try {
-                    goodsEvaluateService.updatePDDGoods(pddGoods);
+                    goodsEvaluateService.updatePDDGoods(fGoods);
                 } catch (Exception e) {
                     e.printStackTrace();
                 }
@@ -1664,9 +1678,21 @@
             }
         }
 
-        JSONObject data = new JSONObject();
-        data.put("native", true);
-        data.put("jumpLink", jumpLink);
+        GoodsJumpLinkVO vo = new GoodsJumpLinkVO();
+        vo.set_native(true);
+        vo.setJumpLink(jumpLink);
+        vo.setNativeJumpLink(jumpLink);
+        try {
+            String wxPage = "pages/union/proxy/proxy?spreadUrl=" + URLEncoder.encode(jumpLink, "UTF-8");
+            WXXCXJumpInfoVO wxxcxJumpInfoVO = new WXXCXJumpInfoVO();
+            wxxcxJumpInfoVO.setUserName("gh_45b306365c3d");
+            wxxcxJumpInfoVO.setPath(wxPage);
+            vo.setWxxcxJumpInfo(wxxcxJumpInfoVO);
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+        JSONObject data = JSONObject.fromObject(new Gson().toJson(vo));
+        data.put("native", vo.is_native());
         out.print(JsonUtil.loadTrueResult(data));
     }
 
@@ -1733,9 +1759,22 @@
             }
         }
 
-        JSONObject data = new JSONObject();
-        data.put("native", true);
-        data.put("jumpLink", jumpLink);
+
+        GoodsJumpLinkVO vo = new GoodsJumpLinkVO();
+        vo.set_native(true);
+        vo.setJumpLink(jumpLink);
+        vo.setNativeJumpLink(jumpLink);
+        try {
+            String wxPage = "pages/union/proxy/proxy?spreadUrl=" + URLEncoder.encode(jumpLink, "UTF-8");
+            WXXCXJumpInfoVO wxxcxJumpInfoVO = new WXXCXJumpInfoVO();
+            wxxcxJumpInfoVO.setUserName("gh_45b306365c3d");
+            wxxcxJumpInfoVO.setPath(wxPage);
+            vo.setWxxcxJumpInfo(wxxcxJumpInfoVO);
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+        JSONObject data = JSONObject.fromObject(new Gson().toJson(vo));
+        data.put("native", vo.is_native());
         out.print(JsonUtil.loadTrueResult(data));
 
         // 鑾峰緱閲戝竵
@@ -1810,15 +1849,29 @@
             return;
         }
 
-        //TODO 鏄惁闇�瑕佽繑鍥炵粦瀹氶摼鎺�
         String customParams = pddAuthService.getFanliCustomParams(uid);
         boolean auth = PinDuoDuoApiUtil.isAuth(pid, customParams);
-        PDDPromotionUrl convertUrl = PinDuoDuoApiUtil.convert(id, pid + "", customParams, !auth);
         JSONObject data = new JSONObject();
-        data.put("native", true);
-        data.put("jumpLink", convertUrl.getUrl());
-        data.put("nativeJumpLink", PinDuoDuoUtil.getAndroidNativeURI(convertUrl.getUrl()));
-        LogHelper.test(String.format("鎷煎澶氳浆閾�:uid:%s data:%s", uid + "", data.toString()));
+        PDDConvertLinkResultVO convertUrl = null;
+        if (!auth) {
+            convertUrl = PinDuoDuoApiUtil.getAuthLink(pid, customParams);
+        } else {
+            convertUrl = PinDuoDuoApiUtil.convert(goods.getGoodsSign(), pid + "", customParams, !auth);
+            LogHelper.test(String.format("鎷煎澶氳浆閾�:uid:%s data:%s", uid + "", data.toString()));
+        }
+
+        GoodsJumpLinkVO vo = new GoodsJumpLinkVO();
+        vo.set_native(true);
+        vo.setNativeJumpLink(PinDuoDuoUtil.getAndroidNativeURI(convertUrl.getUrl()));
+        vo.setJumpLink(convertUrl.getUrl());
+        if (convertUrl.getWe_app_info() != null) {
+            WXXCXJumpInfoVO wxxcxJumpInfoVO = new WXXCXJumpInfoVO();
+            wxxcxJumpInfoVO.setPath(convertUrl.getWe_app_info().getPage_path());
+            wxxcxJumpInfoVO.setUserName(convertUrl.getWe_app_info().getUser_name());
+            vo.setWxxcxJumpInfo(wxxcxJumpInfoVO);
+        }
+        data = JSONObject.fromObject(new Gson().toJson(vo));
+        data.put("native", vo.is_native());
         out.print(JsonUtil.loadTrueResult(data));
 
         // 鑾峰緱閲戝竵
@@ -1826,7 +1879,7 @@
     }
 
     /**
-     * 鎷煎澶氳喘涔伴摼鎺�
+     * 鍞搧浼氳喘涔伴摼鎺�
      *
      * @param acceptData
      * @param uid
@@ -1867,12 +1920,21 @@
         }
 
         VIPConvertResultDTO convertUrl = VipShopApiUtil.convertLink(id + "", tag);
-        JSONObject data = new JSONObject();
-        data.put("native", true);
-        data.put("jumpLink", convertUrl.getUrl());
-        data.put("nativeJumpLink", convertUrl.getDeeplinkUrl());
-        out.print(JsonUtil.loadTrueResult(data));
 
+        GoodsJumpLinkVO vo = new GoodsJumpLinkVO();
+        vo.set_native(true);
+        vo.setJumpLink(convertUrl.getUrl());
+        vo.setNativeJumpLink(convertUrl.getDeeplinkUrl());
+        if (!StringUtil.isNullOrEmpty(convertUrl.getVipWxUrl())) {
+            WXXCXJumpInfoVO wxxcxJumpInfoVO = new WXXCXJumpInfoVO();
+            wxxcxJumpInfoVO.setUserName("gh_8ed2afad9972");
+            wxxcxJumpInfoVO.setPath(convertUrl.getVipWxUrl());
+            vo.setWxxcxJumpInfo(wxxcxJumpInfoVO);
+        }
+
+        JSONObject data = JSONObject.fromObject(new Gson().toJson(vo));
+        data.put("native", vo.is_native());
+        out.print(JsonUtil.loadTrueResult(data));
         // 鑾峰緱閲戝竵
         integralGetService.addCouponRebate(uid);
     }
@@ -1914,12 +1976,31 @@
         String quanUrl = null;
         if (!StringUtil.isNullOrEmpty(goods.getCouponInfo().getCouponUrl()))
             quanUrl = goods.getCouponInfo().getCouponUrl();
-        String link = SuningApiUtil.convertLink(SuningUtil.getProductUrl(supplierCode, goodsCode), quanUrl,
+        SuningConvertLinkResult link = SuningApiUtil.convertLinkNew(goodsCode, supplierCode,
                 pid, uid + "");
-        JSONObject data = new JSONObject();
-        data.put("native", false);
-        data.put("jumpLink", link);
+
+        GoodsJumpLinkVO vo = new GoodsJumpLinkVO();
+        vo.set_native(false);
+        try {
+            vo.setJumpLink(URLDecoder.decode(link.getWapExtendUrl(), "UTF-8"));
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+        if (!StringUtil.isNullOrEmpty(link.getSpPageUrl())) {
+            WXXCXJumpInfoVO wxxcxJumpInfoVO = new WXXCXJumpInfoVO();
+            wxxcxJumpInfoVO.setUserName("gh_1d1e15e90afc");
+            try {
+                wxxcxJumpInfoVO.setPath(URLDecoder.decode(link.getSpPageUrl(), "UTF-8"));
+            } catch (UnsupportedEncodingException e) {
+                e.printStackTrace();
+            }
+            vo.setWxxcxJumpInfo(wxxcxJumpInfoVO);
+        }
+
+        JSONObject data = JSONObject.fromObject(new Gson().toJson(vo));
+        data.put("native", vo.is_native());
         out.print(JsonUtil.loadTrueResult(data));
+
 
         // 鑾峰緱閲戝竵
         integralGetService.addCouponRebate(uid);
@@ -2105,8 +2186,24 @@
 
         link = JDApiUtil.convertLinkWithSubUnionId(link, null, null, JDApiUtil.POSITION_FANLI + "", uid + "");
 
-        JSONObject data = new JSONObject();
-        data.put("link", link);
+
+        GoodsJumpLinkVO vo = new GoodsJumpLinkVO();
+        vo.set_native(true);
+        vo.setJumpLink(link);
+        vo.setNativeJumpLink(link);
+        try {
+            String wxPage = "pages/union/proxy/proxy?spreadUrl=" + URLEncoder.encode(link, "UTF-8");
+            WXXCXJumpInfoVO wxxcxJumpInfoVO = new WXXCXJumpInfoVO();
+            wxxcxJumpInfoVO.setUserName("gh_45b306365c3d");
+            wxxcxJumpInfoVO.setPath(wxPage);
+            vo.setWxxcxJumpInfo(wxxcxJumpInfoVO);
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+
+
+        JSONObject data = JSONObject.fromObject(new Gson().toJson(vo));
+        data.put("native", vo.is_native());
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
     }
 

--
Gitblit v1.8.0