From 3727469752a977dde6327e2c48d761b20b565d3d Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 15 七月 2022 09:19:21 +0800
Subject: [PATCH] 商品ID字符串化

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ShareControllerV2.java |   67 +++++++++++++++++++++------------
 1 files changed, 43 insertions(+), 24 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ShareControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ShareControllerV2.java
index 7707486..bc8fcec 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ShareControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ShareControllerV2.java
@@ -22,6 +22,8 @@
 import com.yeshi.fanli.service.manger.goods.TaoBaoLinkManager;
 import com.yeshi.fanli.util.*;
 import com.yeshi.fanli.util.StringUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
@@ -93,6 +95,9 @@
 @Controller
 @RequestMapping("api/v2/share")
 public class ShareControllerV2 {
+
+    Logger logger = LoggerFactory.getLogger(ShareControllerV2.class);
+
     @Resource
     private ShareGoodsService shareGoodsService;
 
@@ -227,7 +232,7 @@
 
         // 娣樺疂
         if (goodsType == null || goodsType == Constant.SOURCE_TYPE_TAOBAO) {
-            createTaoBaoShare(acceptData, uid, Long.parseLong(goodsId), totalNum, source, needGoods, request, out);
+            createTaoBaoShare(acceptData, uid, goodsId, totalNum, source, needGoods, request, out);
             return;
         }
 
@@ -306,7 +311,7 @@
      * @param request
      * @param out
      */
-    public void createTaoBaoShare(AcceptData acceptData, Long uid, Long goodsId, Integer totalNum, String source,
+    public void createTaoBaoShare(AcceptData acceptData, Long uid, String goodsId, Integer totalNum, String source,
                                   Boolean needGoods, HttpServletRequest request, PrintWriter out) {
         if (needGoods == null)
             needGoods = false;
@@ -353,7 +358,7 @@
      * @param request
      * @param out
      */
-    public void createTaoLijin(Long uid, Long auctionId, int totalNum, String relationId, AcceptData acceptData, HttpServletRequest request,
+    public void createTaoLijin(Long uid, String auctionId, int totalNum, String relationId, AcceptData acceptData, HttpServletRequest request,
                                PrintWriter out) {
         try {
             TaoBaoGoodsBrief goods = null;
@@ -524,7 +529,7 @@
         }
     }
 
-    public void createCommonTaoBaoShare(String platform, String version, Long goodsId, String inviteCode, Long uid,
+    public void createCommonTaoBaoShare(String platform, String version, String goodsId, String inviteCode, Long uid,
                                         boolean needGoods, String relationId, AcceptData acceptData, PrintWriter out) {
 
         SystemEnum system = SystemInfoUtil.getSystem(acceptData);
@@ -769,9 +774,18 @@
         }
         String materialId = "https://item.jd.com/" + goodsId + ".html";
         String pid = pidManager.getPidCache(acceptData.getSystem(), Constant.SOURCE_TYPE_JD, SystemPIDInfo.PidType.share);
-        String jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, null, pid, uid + "");
+        String jumpLink = null;
+        try {
+            jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, null, pid, uid + "");
+        } catch (Exception e) {
+            logger.warn(String.format("浜笢杞摼鍑洪敊锛歮aterialId-%s  couponUrl-%s", materialId, couponUrl), e);
+        }
         if (StringUtil.isNullOrEmpty(jumpLink)) {
-            jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, null, null, pid, uid + "");
+            try {
+                jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, null, null, pid, uid + "");
+            } catch (Exception e) {
+                logger.warn(String.format("浜笢杞摼鍑洪敊锛歮aterialId-%s  couponUrl-%s", materialId, couponUrl), e);
+            }
         }
 
         ShareInfoVO shareInfo = new ShareInfoVO();
@@ -818,7 +832,7 @@
         BigDecimal shareMoney = JDUtil.getGoodsFanLiMoney(jdGoods, shareRate);
         shareInfo.setShareMoney("楼" + shareMoney.toString());
         try {
-            ShareGoodsRecordDTO shareRecord = userShareGoodsRecordService.addRecordGoodsDetail(uid, goodsId,
+            ShareGoodsRecordDTO shareRecord = userShareGoodsRecordService.addRecordGoodsDetail(uid, goodsId+"",
                     Constant.SOURCE_TYPE_JD, false);
             shareInfo.setShareId(shareRecord.getRedisKey());
         } catch (Exception e) {
@@ -894,7 +908,7 @@
                 history.setTkCode(null);
                 history.setLink(null);
                 history.setQuanLink(null);
-                history.setGoodsId(goodsId);
+                history.setGoodsId(goodsId+"");
                 history.setPostPicture(goods.getPicUrl());
                 history.setShareImg(jumpLinkNew);
 
@@ -1008,7 +1022,7 @@
         shareInfo.setShareMoney("楼" + shareMoney.toString());
 
         try {
-            ShareGoodsRecordDTO shareRecord = userShareGoodsRecordService.addRecordGoodsDetail(uid, goodsId,
+            ShareGoodsRecordDTO shareRecord = userShareGoodsRecordService.addRecordGoodsDetail(uid, goodsId+"",
                     Constant.SOURCE_TYPE_PDD, false);
             shareInfo.setShareId(shareRecord.getRedisKey());
         } catch (Exception e) {
@@ -1083,7 +1097,7 @@
                 history.setTkCode(null);
                 history.setLink(null);
                 history.setQuanLink(null);
-                history.setGoodsId(goodsId);
+                history.setGoodsId(goodsId+"");
                 history.setPostPicture(goods.getGoodsImageUrl());
                 history.setShareImg(jumpLink);
                 List<String> imgList = null;
@@ -1163,7 +1177,7 @@
         shareInfo.setShareMoney("楼" + shareMoney.toString());
 
         try {
-            ShareGoodsRecordDTO shareRecord = userShareGoodsRecordService.addRecordGoodsDetail(uid, goodsId,
+            ShareGoodsRecordDTO shareRecord = userShareGoodsRecordService.addRecordGoodsDetail(uid, goodsId+"",
                     Constant.SOURCE_TYPE_VIP, false);
             shareInfo.setShareId(shareRecord.getRedisKey());
         } catch (Exception e) {
@@ -1212,7 +1226,7 @@
                 history.setTkCode(null);
                 history.setLink(null);
                 history.setQuanLink(null);
-                history.setGoodsId(goodsId);
+                history.setGoodsId(goodsId+"");
                 history.setPostPicture(goods.getGoodsThumbUrl());
                 history.setShareImg(jumpLink.getUrl());
                 List<String> imgList = goods.getGoodsDetailPictures();
@@ -1307,7 +1321,7 @@
 
         try {
             ShareGoodsRecordDTO shareRecord = userShareGoodsRecordService.addRecordGoodsDetail(uid,
-                    Long.parseLong(sts[1]), Constant.SOURCE_TYPE_SUNING, false);
+                    Long.parseLong(sts[1])+"", Constant.SOURCE_TYPE_SUNING, false);
             shareInfo.setShareId(shareRecord.getRedisKey());
         } catch (Exception e) {
             try {
@@ -1393,7 +1407,7 @@
                 history.setTkCode(null);
                 history.setLink(null);
                 history.setQuanLink(null);
-                history.setGoodsId(Long.parseLong(sts[1]));
+                history.setGoodsId(Long.parseLong(sts[1])+"");
                 if (goods.getCommodityInfo().getPictureUrl() != null
                         && goods.getCommodityInfo().getPictureUrl().size() > 0)
                     history.setPostPicture(goods.getCommodityInfo().getPictureUrl().get(0).getPicUrl());
@@ -1434,7 +1448,7 @@
         }
 
         if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
-            createTaoBaoViewText(acceptData.getSystem(), goodsType, uid, template, Long.parseLong(goodsId), tljId, hasCoupon, out);
+            createTaoBaoViewText(acceptData.getSystem(), goodsType, uid, template, goodsId, tljId, hasCoupon, out);
             return;
         }
 
@@ -1470,7 +1484,7 @@
      * @param hasCoupon
      * @param out
      */
-    private void createTaoBaoViewText(SystemEnum system, Integer goodsType, Long uid, String template, Long goodsId, Long tljId,
+    private void createTaoBaoViewText(SystemEnum system, Integer goodsType, Long uid, String template, String goodsId, Long tljId,
                                       Boolean hasCoupon, PrintWriter out) {
         TaoBaoGoodsBrief goods = taoBaoGoodsCacheUtil.getCommonTaoBaoGoodsInfo(goodsId);
         if (goods == null)
@@ -1559,8 +1573,13 @@
             couponUrl = couponInfo.getLink();
         }
         String materialId = "https://item.jd.com/" + goodsId + ".html";
-        String shortLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, null, pidManager.getPidCache(system, Constant.SOURCE_TYPE_JD, SystemPIDInfo.PidType.share),
-                uid + "");
+        String shortLink = null;
+        try {
+            shortLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, null, pidManager.getPidCache(system, Constant.SOURCE_TYPE_JD, SystemPIDInfo.PidType.share),
+                    uid + "");
+        } catch (Exception e) {
+            logger.warn(String.format("浜笢杞摼鍑洪敊锛歮aterialId-%s  couponUrl-%s", materialId, couponUrl), e);
+        }
 
         String content = shareGoodsTextTemplateService.createContentJD(template, goods, shortLink, hasCoupon);
         JSONObject data = new JSONObject();
@@ -1874,7 +1893,7 @@
 
         // API缃戠粶鎺ュ彛楠岃瘉鏄惁鍦ㄥ敭
         List<TaoBaoGoodsBrief> listTaoKeGoods = null;
-        List<Long> listGid = new ArrayList<Long>();
+        List<String> listGid = new ArrayList<>();
         for (UserShareGoodsGroup goodsGroup : list) {
             CommonGoods commonGoods = goodsGroup.getCommonGoods();
             Integer goodsType = commonGoods.getGoodsType();
@@ -1913,10 +1932,10 @@
             if (listTaoKeGoods != null && listTaoKeGoods.size() > 0 && goodsType != null
                     && goodsType == Constant.SOURCE_TYPE_TAOBAO) {
                 int state = 1; // 榛樿鍋滃敭
-                Long goodsId = commonGoods.getGoodsId();
+                String goodsId = commonGoods.getGoodsId();
                 for (TaoBaoGoodsBrief taoKeGoods : listTaoKeGoods) {
-                    Long auctionId = taoKeGoods.getAuctionId();
-                    if (goodsId == auctionId || goodsId.equals(auctionId)) {
+                    String auctionId = taoKeGoods.getAuctionId();
+                    if (TaoBaoUtil.isEqual(goodsId , auctionId)) {
                         state = 0; // 鍦ㄥ敭
                         break;
                     }
@@ -1974,10 +1993,10 @@
         paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(acceptData.getSystem()));
 
         if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
-            TaoBaoGoodsBrief goods = taoBaoGoodsCacheUtil.getCommonTaoBaoGoodsInfo(Long.parseLong(goodsId));
+            TaoBaoGoodsBrief goods = taoBaoGoodsCacheUtil.getCommonTaoBaoGoodsInfo(goodsId);
             if (goods == null) {
                 try {
-                    goods = redisManager.getTaoBaoGoodsBrief(Long.parseLong(goodsId));
+                    goods = redisManager.getTaoBaoGoodsBrief(goodsId);
                 } catch (TaobaoGoodsDownException e) {
                     goods = null;
                 }

--
Gitblit v1.8.0