From 251a533b9c12e7d423b31473721a59580cab5b58 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 25 七月 2020 13:07:13 +0800
Subject: [PATCH] 将商品服务剥离出主项目

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsControllerV2.java |  153 +++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 112 insertions(+), 41 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 091d2e6..7edab46 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
@@ -10,7 +10,9 @@
 import javax.annotation.Resource;
 
 import com.yeshi.fanli.entity.SystemEnum;
+import com.yeshi.fanli.entity.SystemFunction;
 import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
+import com.yeshi.fanli.util.*;
 import org.json.simple.JSONArray;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -86,14 +88,8 @@
 import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
 import com.yeshi.fanli.service.inter.user.vip.UserVipConfigService;
 import com.yeshi.fanli.service.manger.user.UserLevelManager;
-import com.yeshi.fanli.util.Constant;
 import org.yeshi.utils.MoneyBigDecimalUtil;
-import com.yeshi.fanli.util.RedisManager;
-import com.yeshi.fanli.util.StringUtil;
-import com.yeshi.fanli.util.TaoBaoConstant;
-import com.yeshi.fanli.util.ThreadUtil;
 import org.yeshi.utils.TimeUtil;
-import com.yeshi.fanli.util.VersionUtil;
 import com.yeshi.fanli.util.cache.JDGoodsCacheUtil;
 import com.yeshi.fanli.util.cache.PinDuoDuoCacheUtil;
 import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil;
@@ -357,7 +353,7 @@
             try {
                 goods = TaoKeApiUtil.searchGoodsDetail(id, app);
                 if (goods.getTkRate() == null || new BigDecimal(0).compareTo(goods.getTkRate()) == 0) {
-                    TaoBaoGoodsBrief linkInfo = TaoKeApiUtil.specialConvertCoupon(goods.getAuctionId(), app,null,null);
+                    TaoBaoGoodsBrief linkInfo = TaoKeApiUtil.specialConvertCoupon(goods.getAuctionId(), app, null, null);
                     if (linkInfo != null) {
                         goods.setAuctionUrl(linkInfo.getAuctionUrl());
                         goods.setCouponLink(linkInfo.getCouponLink());
@@ -1602,6 +1598,49 @@
         }
     }
 
+
+    /**
+     * 鑾峰彇浜笢棰嗗埜閾炬帴锛堜笉杩斿埄锛�
+     *
+     * @param acceptData
+     * @param id
+     * @param couponUrl
+     * @param source
+     * @param out
+     */
+    private void getJDLinkWithoutFanLi(AcceptData acceptData, Long id, String couponUrl, String source, PrintWriter out) {
+        JDGoods goods = jdGoodsCacheUtil.getGoodsInfo(id);
+        if (goods == null) {
+            out.print(JsonUtil.loadFalseResult(2, "鍟嗗搧宸蹭笅鏋�"));
+            return;
+        }
+        String jumpLink = null;
+        String materialId = "https://item.jd.com/" + id + ".html";
+        if (StringUtil.isNullOrEmpty(couponUrl)) {
+            JDCouponInfo couponInfo = JDUtil.getShowCouponInfo(goods.getCouponInfoList(), goods.getPrice());
+            if (couponInfo != null) {
+                couponUrl = couponInfo.getLink();
+            }
+            jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_COUPON + "",
+                    "");
+            if (jumpLink == null) {
+                jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, null, JDApiUtil.POSITION_COUPON + "",
+                        "");
+            }
+        } else {
+            jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_COUPON + "",
+                    "");
+            if (StringUtil.isNullOrEmpty(jumpLink)) {
+                jumpLink = couponUrl;
+            }
+        }
+
+        JSONObject data = new JSONObject();
+        data.put("native", true);
+        data.put("jumpLink", jumpLink);
+        out.print(JsonUtil.loadTrueResult(data));
+    }
+
     /**
      * 浜笢璐拱閾炬帴
      *
@@ -1614,15 +1653,23 @@
      */
     @RequestMapping(value = "getJDLink")
     public void getJDLink(AcceptData acceptData, Long uid, Long id, String couponUrl, String source, PrintWriter out) {
-        if (uid == null || uid <= 0) {
-            out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛ID涓嶈兘涓虹┖"));
-            return;
-        }
+
 
         if (id == null || id <= 0) {
             out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧ID涓嶈兘涓虹┖"));
             return;
         }
+
+        if (!SystemInfoUtil.hasFunctions(acceptData.getSystem(), SystemFunction.fanli)) {
+            getJDLinkWithoutFanLi(acceptData, id, couponUrl, source, out);
+            return;
+        }
+
+        if (uid == null || uid <= 0) {
+            out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛ID涓嶈兘涓虹┖"));
+            return;
+        }
+
 
         UserInfo user = userInfoService.getUserByIdWithMybatis(uid);
         if (user != null && user.getState() != UserInfo.STATE_NORMAL) {
@@ -1702,21 +1749,32 @@
      */
     @RequestMapping(value = "getPDDLink")
     public void getPDDLink(AcceptData acceptData, Long uid, Long id, String source, PrintWriter out) {
-        if (uid == null || uid <= 0) {
-            out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛ID涓嶈兘涓虹┖"));
-            return;
-        }
+
 
         if (id == null || id <= 0) {
             out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧ID涓嶈兘涓虹┖"));
             return;
         }
 
-        UserInfo user = userInfoService.getUserByIdWithMybatis(uid);
-        if (user != null && user.getState() != UserInfo.STATE_NORMAL) {
-            out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC));
-            return;
+        String pid = PinDuoDuoApiUtil.PID_FANLI;
+        //鍙槸棰嗗埜
+        if (!SystemInfoUtil.hasFunctions(acceptData.getSystem(), SystemFunction.fanli)) {
+            pid = PinDuoDuoApiUtil.PID_COUPON;
+            uid = null;
+        } else {
+            if (uid == null || uid <= 0) {
+                out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛ID涓嶈兘涓虹┖"));
+                return;
+            }
+
+            UserInfo user = userInfoService.getUserByIdWithMybatis(uid);
+            if (user != null && user.getState() != UserInfo.STATE_NORMAL) {
+                out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC));
+                return;
+            }
+
         }
+
 
         PDDGoodsDetail goods = pinDuoDuoCacheUtil.getGoodsInfo(id);
         if (goods == null) {
@@ -1724,10 +1782,9 @@
             return;
         }
 
-        PDDPromotionUrl convertUrl = PinDuoDuoApiUtil.convert(id, PinDuoDuoApiUtil.PID_FANLI + "", uid + "");
+        PDDPromotionUrl convertUrl = PinDuoDuoApiUtil.convert(id, pid + "", uid + "");
         JSONObject data = new JSONObject();
         data.put("native", true);
-
         data.put("jumpLink", convertUrl.getUrl());
         data.put("nativeJumpLink", PinDuoDuoUtil.getAndroidNativeURI(convertUrl.getUrl()));
         out.print(JsonUtil.loadTrueResult(data));
@@ -1747,20 +1804,28 @@
      */
     @RequestMapping(value = "getVIPLink")
     public void getVIPLink(AcceptData acceptData, Long uid, Long id, String source, PrintWriter out) {
-        if (uid == null || uid <= 0) {
-            out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛ID涓嶈兘涓虹┖"));
-            return;
-        }
-
         if (id == null || id <= 0) {
             out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧ID涓嶈兘涓虹┖"));
             return;
         }
 
-        UserInfo user = userInfoService.getUserByIdWithMybatis(uid);
-        if (user != null && user.getState() != UserInfo.STATE_NORMAL) {
-            out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC));
-            return;
+        String tag = null;
+        //鍙槸棰嗗埜
+        if (!SystemInfoUtil.hasFunctions(acceptData.getSystem(), SystemFunction.fanli)) {
+            tag = VipShopUtil.getCouponChanTag();
+        } else {
+            if (uid == null || uid <= 0) {
+                out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛ID涓嶈兘涓虹┖"));
+                return;
+            }
+
+            UserInfo user = userInfoService.getUserByIdWithMybatis(uid);
+            if (user != null && user.getState() != UserInfo.STATE_NORMAL) {
+                out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC));
+                return;
+            }
+
+            tag = VipShopUtil.getBuyChanTag(uid);
         }
 
         VIPGoodsInfo goods = VipShopApiUtil.getGoodsDetail(id + "");
@@ -1769,7 +1834,7 @@
             return;
         }
 
-        VIPConvertResultDTO convertUrl = VipShopApiUtil.convertLink(id + "", VipShopUtil.getBuyChanTag(uid));
+        VIPConvertResultDTO convertUrl = VipShopApiUtil.convertLink(id + "", tag);
         JSONObject data = new JSONObject();
         data.put("native", true);
         data.put("jumpLink", convertUrl.getUrl());
@@ -1782,21 +1847,27 @@
 
     @RequestMapping(value = "getSuningLink")
     public void getSuningLink(AcceptData acceptData, Long uid, String id, String source, PrintWriter out) {
-        if (uid == null || uid <= 0) {
-            out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛ID涓嶈兘涓虹┖"));
-            return;
-        }
-
         if (StringUtil.isNullOrEmpty(id)) {
             out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧ID涓嶈兘涓虹┖"));
             return;
         }
 
-        UserInfo user = userInfoService.getUserByIdWithMybatis(uid);
-        if (user != null && user.getState() != UserInfo.STATE_NORMAL) {
-            out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC));
-            return;
+        String pid = SuningApiUtil.PID_BUY;
+        if (!SystemInfoUtil.hasFunctions(acceptData.getSystem(), SystemFunction.fanli)) {
+            pid=SuningApiUtil.PID_COUPON;
+            uid=null;
+        } else {
+            if (uid == null || uid <= 0) {
+                out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛ID涓嶈兘涓虹┖"));
+                return;
+            }
+            UserInfo user = userInfoService.getUserByIdWithMybatis(uid);
+            if (user != null && user.getState() != UserInfo.STATE_NORMAL) {
+                out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC));
+                return;
+            }
         }
+
 
         String[] sts = SuningUtil.getGoodsIdDetail(id);
         String supplierCode = sts[0];
@@ -1812,7 +1883,7 @@
         if (!StringUtil.isNullOrEmpty(goods.getCouponInfo().getCouponUrl()))
             quanUrl = goods.getCouponInfo().getCouponUrl();
         String link = SuningApiUtil.convertLink(SuningUtil.getProductUrl(supplierCode, goodsCode), quanUrl,
-                SuningApiUtil.PID_BUY, uid + "");
+                pid, uid + "");
         JSONObject data = new JSONObject();
         data.put("native", false);
         data.put("jumpLink", link);

--
Gitblit v1.8.0