From dc5be7d38446f70e6ff86df311119c32b41fe7f8 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 28 十一月 2020 16:37:05 +0800
Subject: [PATCH] 大淘客搜索接口升级

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsControllerV2.java |  287 +++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 178 insertions(+), 109 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 b891c76..5cdab23 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
@@ -9,6 +9,10 @@
 
 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;
@@ -26,7 +30,7 @@
 import com.yeshi.fanli.dto.pdd.PDDSearchFilter;
 import com.yeshi.fanli.dto.suning.SuningGoodsInfo;
 import com.yeshi.fanli.dto.suning.SuningGoodsInfoRecommend;
-import com.yeshi.fanli.dto.taobao.DaTaoKeFilterResult;
+import com.yeshi.goods.facade.dto.taobao.dataoke.DaTaoKeFilterResult;
 import com.yeshi.fanli.dto.vip.VIPConvertResultDTO;
 import com.yeshi.fanli.dto.vip.goods.VIPGoodsInfo;
 import com.yeshi.fanli.entity.accept.AcceptData;
@@ -47,10 +51,10 @@
 import com.yeshi.fanli.entity.taobao.ClientTBPid;
 import com.yeshi.fanli.entity.taobao.TLJBuyGoods;
 import com.yeshi.fanli.entity.taobao.TLJFreeBuyGoods;
-import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
-import com.yeshi.fanli.entity.taobao.TaoBaoShop;
+import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief;
+import com.yeshi.common.entity.taobao.TaoBaoShop;
 import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
-import com.yeshi.fanli.entity.taobao.TaoKeAppInfo;
+import com.yeshi.common.entity.taobao.TaoKeAppInfo;
 import com.yeshi.fanli.exception.taobao.TaoKeApiException;
 import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
 import com.yeshi.fanli.exception.taobao.TaobaoGoodsUpdateException;
@@ -73,7 +77,7 @@
 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.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service;
+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;
@@ -84,18 +88,12 @@
 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 com.yeshi.fanli.util.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 com.yeshi.fanli.util.TimeUtil;
-import com.yeshi.fanli.util.VersionUtil;
+import org.yeshi.utils.MoneyBigDecimalUtil;
+import org.yeshi.utils.TimeUtil;
 import com.yeshi.fanli.util.cache.JDGoodsCacheUtil;
 import com.yeshi.fanli.util.cache.PinDuoDuoCacheUtil;
 import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil;
-import com.yeshi.fanli.util.dataoke.DaTaoKeApiUtil;
+import com.yeshi.goods.facade.utils.taobao.DaTaoKeApiUtil;
 import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
 import com.yeshi.fanli.util.factory.goods.ShopInfoVOFactory;
 import com.yeshi.fanli.util.jd.JDApiUtil;
@@ -117,7 +115,7 @@
 import com.yeshi.fanli.vo.goods.RewardCouponVO;
 import com.yeshi.fanli.vo.goods.ShareVO;
 import com.yeshi.fanli.vo.goods.ShopInfoVO;
-import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
+import com.yeshi.common.vo.ClientTextStyleVO;
 import com.yeshi.fanli.vo.tlj.NewUserHongBao;
 import com.yeshi.fanli.vo.tlj.ReduceHongBao;
 
@@ -140,9 +138,6 @@
     private TaoBaoGoodsCacheUtil taoBaoGoodsCacheUtil;
 
     @Resource
-    private RedisManager redisManager;
-
-    @Resource
     private TaoBaoShopService taoBaoShopService;
 
     @Resource
@@ -150,9 +145,6 @@
 
     @Resource
     private CollectionGoodsV2Service collectionGoodsV2Service;
-
-    @Resource
-    private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
 
     @Resource
     private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService;
@@ -171,15 +163,6 @@
 
     @Resource
     private UserGoodsStorageService userGoodsStorageService;
-
-    @Resource
-    private ConfigTaoLiJinService configTaoLiJinService;
-
-    @Resource
-    private UserInfoExtraService userInfoExtraService;
-
-    @Resource
-    private UserMoneyExtraService userMoneyExtraService;
 
     @Resource
     private ScanHistoryV2Service scanHistoryV2Service;
@@ -208,8 +191,6 @@
     @Resource
     private TLJFreeBuyGoodsService tljFreeBuyGoodsService;
 
-    @Resource
-    private UserTaoLiJinNewbiesService userTaoLiJinNewbiesService;
 
     @Resource
     private UserVIPInfoService userVIPInfoService;
@@ -226,7 +207,10 @@
     @Resource
     private HongBaoManageService hongBaoManageService;
 
-    private ConfigParamsDTO getParamsDTO(String platform, String version, Long uid) {
+    @Resource
+    private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService;
+
+    private ConfigParamsDTO getParamsDTO(String platform, String version, Long uid, SystemEnum system) {
         UserLevelEnum level = UserLevelEnum.daRen;
         if (uid != null && uid > 0) {
             level = userLevelManager.getUserLevel(uid);
@@ -237,7 +221,8 @@
         }
         if (level == null)
             level = UserLevelEnum.daRen;
-        return orderHongBaoMoneyComputeService.getShowComputeRate(platform, version, level);
+
+        return orderHongBaoMoneyComputeService.getShowComputeRate(platform, version, level, system);
     }
 
     private TaoBaoGoodsBrief filterDaTaoKeGoodsInfo(TaoBaoGoodsBrief goods) {
@@ -289,7 +274,7 @@
         }
 
         BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
-                acceptData.getPackages());
+                acceptData.getPackages(), acceptData.getSystem());
         if (system == null) {
             out.print(JsonUtil.loadFalseResult(1, "绯荤粺涓嶅瓨鍦�"));
             return;
@@ -368,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);
+                    TaoBaoGoodsBrief linkInfo = TaoKeApiUtil.specialConvertCoupon(goods.getAuctionId(), app, null, null);
                     if (linkInfo != null) {
                         goods.setAuctionUrl(linkInfo.getAuctionUrl());
                         goods.setCouponLink(linkInfo.getCouponLink());
@@ -405,6 +390,7 @@
 
         TaoBaoGoodsBrief tb = goods;
 
+
         if (tb == null) {
             out.print(JsonUtil.loadFalseResult(2, "鍟嗗搧涓嶅瓨鍦�"));
             return;
@@ -414,7 +400,14 @@
             tb.setImgList(new ArrayList<>());
         }
 
-        // tb.getImgList().add(0, tb.getPictUrl());
+
+        if (uid != null && uid > 0) {
+            String specialId = userExtraTaoBaoInfoService.getSpecialIdByUid(uid);
+            //鑾峰彇鏈�鏂扮殑姣斾緥
+            TaoBaoGoodsBrief rateGoods = TaoKeApiUtil.specialConvertCoupon(tb.getAuctionId(), TaoBaoConstant.getSpecialAuthAppInfo(), specialId, null);
+            if (rateGoods != null)
+                tb.setMinTkRate(rateGoods.getTkRate());
+        }
 
         List<String> finalImgList = new ArrayList<>();
         for (String img : tb.getImgList()) {
@@ -447,14 +440,14 @@
             LogHelper.errorDetailInfo(e);
         }
 
-        ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), uid);
-        paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
+        ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), uid, acceptData.getSystem());
+        paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(acceptData.getSystem()));
 
         GoodsDetailVO goodsDetail = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO);
         if (goodsDetail != null && goodsDetail.getMoneyInfo() != null && userVIPInfoService.isVIP(uid)) {
             goodsDetail.getMoneyInfo().setFanliMoney(goodsDetail.getMoneyInfo().getMaxMoney());
             goodsDetail.getMoneyInfo().setShareMoney("楼" + TaoBaoUtil.getGoodsHongBaoMoney(goods,
-                    hongBaoManageService.getShareRate(UserLevelEnum.superVIP), true));
+                    hongBaoManageService.getShareRate(UserLevelEnum.superVIP, acceptData.getSystem()), true));
             goodsDetail.getMoneyInfo().setRateInfo(goodsDetail.getMoneyInfo().getMaxRateInfo());
             goodsDetail.getMoneyInfo().setCompositionInfo(goodsDetail.getMoneyInfo().getMaxCompositionInfo());
         }
@@ -696,7 +689,7 @@
         // uid=2255993L;
         // 绯荤粺楠岃瘉
         BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
-                acceptData.getPackages());
+                acceptData.getPackages(), acceptData.getSystem());
         if (system == null) {
             out.print(JsonUtil.loadFalseResult(1, "绯荤粺涓嶅瓨鍦�"));
             return;
@@ -722,13 +715,13 @@
         // 淇濆瓨缂撳瓨
         jdGoodsCacheUtil.saveGoodsInfo(jdGoods);
 
-        ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), uid);
-        paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
+        ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), uid, acceptData.getSystem());
+        paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(acceptData.getSystem()));
         GoodsDetailVO goodsDetail = GoodsDetailVOFactory.convertJDGoods(jdGoods, paramsDTO);
         if (goodsDetail != null && goodsDetail.getMoneyInfo() != null && userVIPInfoService.isVIP(uid)) {
             goodsDetail.getMoneyInfo().setFanliMoney(goodsDetail.getMoneyInfo().getMaxMoney());
             goodsDetail.getMoneyInfo().setShareMoney("楼"
-                    + JDUtil.getGoodsFanLiMoney(jdGoods, hongBaoManageService.getShareRate(UserLevelEnum.superVIP)));
+                    + JDUtil.getGoodsFanLiMoney(jdGoods, hongBaoManageService.getShareRate(UserLevelEnum.superVIP, acceptData.getSystem())));
             goodsDetail.getMoneyInfo().setRateInfo(goodsDetail.getMoneyInfo().getMaxRateInfo());
             goodsDetail.getMoneyInfo().setCompositionInfo(goodsDetail.getMoneyInfo().getMaxCompositionInfo());
         }
@@ -752,12 +745,12 @@
                     jdGoods.setCommissionPlus(threeClass.getSelfComm());
                     // plus杩斿埄
                     BigDecimal fanliMoneyPlus = JDUtil.getGoodsFanLiMoneyPlus(jdGoods,
-                            hongBaoManageService.getFanLiRate());
+                            hongBaoManageService.getFanLiRate(acceptData.getSystem()));
                     otherInfo.setFanliMoneyPlus("浜笢plus杩斅�" + fanliMoneyPlus);
                     // 浣跨敤濂栧姳鍒告渶楂樿繑
                     if (VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion())) {
                         maxMoneyPlus = "锛堜含涓減lus杩斅�" + JDUtil.getGoodsFanLiMoneyPlus(jdGoods,
-                                hongBaoManageService.getFanLiRate(UserLevelEnum.superVIP)) + "锛�";
+                                hongBaoManageService.getFanLiRate(UserLevelEnum.superVIP, acceptData.getSystem())) + "锛�";
                     } else
                         maxMoneyPlus = "锛堜含涓減lus鏈�楂樿繑楼"
                                 + fanliMoneyPlus.add(MoneyBigDecimalUtil.mul(fanliMoneyPlus, Constant.MAX_REWARD_RATE))
@@ -797,7 +790,7 @@
         if (couponInfo != null) {
             // 鍒搁摼鎺ュ鐞�
             String materialId = "https://item.jd.com/" + id + ".html";
-            String url = JDApiUtil.convertLinkWithSubUnionId(materialId, couponInfo.getLink(),
+            String url = JDApiUtil.convertLinkWithSubUnionId(materialId, couponInfo.getLink(),null,
                     JDApiUtil.POSITION_COUPON + "", null);
             couponInfo.setLink(url);
         }
@@ -924,26 +917,26 @@
     public void getDetialPDD(AcceptData acceptData, Long id, Long uid, String from, PrintWriter out) {
         // 绯荤粺楠岃瘉
         BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
-                acceptData.getPackages());
+                acceptData.getPackages(), acceptData.getSystem());
         if (system == null) {
             out.print(JsonUtil.loadFalseResult(1, "绯荤粺涓嶅瓨鍦�"));
             return;
         }
 
-        PDDGoodsDetail pddGoods = PinDuoDuoApiUtil.getGoodsDetail(id);
+        PDDGoodsDetail pddGoods = PinDuoDuoApiUtil.getGoodsDetail(id,PinDuoDuoApiUtil.PID_FANLI,uid+"");
         if (pddGoods == null) {
             out.print(JsonUtil.loadFalseResult(2, "鍟嗗搧涓嶅瓨鍦�"));
             return;
         }
 
-        ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), uid);
-        paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
+        ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), uid, acceptData.getSystem());
+        paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(acceptData.getSystem()));
 
         GoodsDetailVO goodsDetail = GoodsDetailVOFactory.convertPDDGoods(pddGoods, paramsDTO);
         if (goodsDetail != null && goodsDetail.getMoneyInfo() != null && userVIPInfoService.isVIP(uid)) {
             goodsDetail.getMoneyInfo().setFanliMoney(goodsDetail.getMoneyInfo().getMaxMoney());
-            goodsDetail.getMoneyInfo().setShareMoney("楼" + PinDuoDuoUtil.getGoodsFanLiMoney(pddGoods,
-                    hongBaoManageService.getShareRate(UserLevelEnum.superVIP)));
+            goodsDetail.getMoneyInfo().setShareMoney("楼" + PinDuoDuoUtil.getGoodsShareMoney(pddGoods,
+                    hongBaoManageService.getShareRate(UserLevelEnum.superVIP, acceptData.getSystem())));
             goodsDetail.getMoneyInfo().setRateInfo(goodsDetail.getMoneyInfo().getMaxRateInfo());
             goodsDetail.getMoneyInfo().setCompositionInfo(goodsDetail.getMoneyInfo().getMaxCompositionInfo());
         }
@@ -977,7 +970,7 @@
         CouponInfoVO couponInfo = goodsDetail.getCouponInfo();
         PDDPromotionUrl convertUrl = null;
         if (couponInfo != null) {
-            convertUrl = PinDuoDuoApiUtil.convert(id, PinDuoDuoApiUtil.PID_COUPON + "", null);
+            convertUrl = PinDuoDuoApiUtil.convert(id, PinDuoDuoApiUtil.PID_COUPON + "", null, false);
             if (convertUrl != null)
                 couponInfo.setLink(convertUrl.getUrl());
         }
@@ -1122,7 +1115,7 @@
     public void getDetialVIP(AcceptData acceptData, Long id, Long uid, String from, PrintWriter out) {
         // 绯荤粺楠岃瘉
         BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
-                acceptData.getPackages());
+                acceptData.getPackages(), acceptData.getSystem());
         if (system == null) {
             out.print(JsonUtil.loadFalseResult(1, "绯荤粺涓嶅瓨鍦�"));
             return;
@@ -1134,14 +1127,14 @@
             return;
         }
 
-        ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), uid);
-        paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
+        ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), uid, acceptData.getSystem());
+        paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(acceptData.getSystem()));
 
         GoodsDetailVO goodsDetail = GoodsDetailVOFactory.convertVIPGoods(vipGoodsInfo, paramsDTO);
         if (goodsDetail != null && goodsDetail.getMoneyInfo() != null && userVIPInfoService.isVIP(uid)) {
             goodsDetail.getMoneyInfo().setFanliMoney(goodsDetail.getMoneyInfo().getMaxMoney());
             goodsDetail.getMoneyInfo().setShareMoney("楼" + VipShopUtil.getGoodsFanLiMoney(vipGoodsInfo,
-                    hongBaoManageService.getShareRate(UserLevelEnum.superVIP)));
+                    hongBaoManageService.getShareRate(UserLevelEnum.superVIP, acceptData.getSystem())));
             goodsDetail.getMoneyInfo().setRateInfo(goodsDetail.getMoneyInfo().getMaxRateInfo());
             goodsDetail.getMoneyInfo().setCompositionInfo(goodsDetail.getMoneyInfo().getMaxCompositionInfo());
         }
@@ -1251,7 +1244,7 @@
     public void getDetialSuning(AcceptData acceptData, String id, Long uid, String from, PrintWriter out) {
         // 绯荤粺楠岃瘉
         BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
-                acceptData.getPackages());
+                acceptData.getPackages(), acceptData.getSystem());
         if (system == null) {
             out.print(JsonUtil.loadFalseResult(1, "绯荤粺涓嶅瓨鍦�"));
             return;
@@ -1266,14 +1259,14 @@
             return;
         }
 
-        ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), uid);
-        paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
+        ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), uid, acceptData.getSystem());
+        paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(acceptData.getSystem()));
 
         GoodsDetailVO goodsDetail = GoodsDetailVOFactory.convertSuningGoods(suningGoodsInfo, paramsDTO);
         if (goodsDetail != null && goodsDetail.getMoneyInfo() != null && userVIPInfoService.isVIP(uid)) {
             goodsDetail.getMoneyInfo().setFanliMoney(goodsDetail.getMoneyInfo().getMaxMoney());
             goodsDetail.getMoneyInfo().setShareMoney("楼" + SuningUtil.getGoodsFanLiMoney(suningGoodsInfo,
-                    hongBaoManageService.getShareRate(UserLevelEnum.superVIP)));
+                    hongBaoManageService.getShareRate(UserLevelEnum.superVIP, acceptData.getSystem())));
             goodsDetail.getMoneyInfo().setRateInfo(goodsDetail.getMoneyInfo().getMaxRateInfo());
             goodsDetail.getMoneyInfo().setCompositionInfo(goodsDetail.getMoneyInfo().getMaxCompositionInfo());
         }
@@ -1464,7 +1457,7 @@
                     list = list.subList(0, 10);
                 }
 
-                ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), null);
+                ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), null, acceptData.getSystem());
                 List<GoodsDetailVO> listDetailVO = new ArrayList<GoodsDetailVO>();
 
                 for (JDGoods goods : list) {
@@ -1496,7 +1489,7 @@
                     Long[] strings = new Long[goodsIdList.size()];
                     pddfilter.setGoodsIdList(goodsIdList.toArray(strings));
 
-                    PDDGoodsResult result = PinDuoDuoApiUtil.searchGoods(pddfilter);
+                    PDDGoodsResult result = PinDuoDuoApiUtil.searchGoods(pddfilter,Constant.PDD_SEARCH_CUSTOMER_PARAMS);
                     if (result != null) {
                         List<PDDGoodsDetail> goodsList = result.getGoodsList();
                         if (goodsList != null && goodsList.size() > 0) {
@@ -1506,7 +1499,7 @@
                             }
 
                             ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(),
-                                    null);
+                                    null, acceptData.getSystem());
                             for (PDDGoodsDetail goods : goodsList) {
                                 listDetailVO.add(GoodsDetailVOFactory.convertPDDGoods(goods, paramsDTO));
                             }
@@ -1552,7 +1545,7 @@
                 if (resultList != null) {
                     if (resultList != null && resultList.size() > 0) {
                         ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(),
-                                acceptData.getVersion());
+                                acceptData.getVersion(), acceptData.getSystem());
 
                         for (SuningGoodsInfo goods : resultList) {
                             GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertSuningGoods(goods, paramsDTO);
@@ -1575,7 +1568,7 @@
             }
 
             List<GoodsDetailVO> listExtra = new ArrayList<GoodsDetailVO>();
-            ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), null);
+            ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), null, acceptData.getSystem());
             goodsList.parallelStream().forEach(goods -> {
                 if (goods != null) {
                     listExtra.add(GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO));
@@ -1605,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, null,JDApiUtil.POSITION_COUPON + "",
+                    "");
+            if (jumpLink == null) {
+                jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, null, null,JDApiUtil.POSITION_COUPON + "",
+                        "");
+            }
+        } else {
+            jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, null,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));
+    }
+
     /**
      * 浜笢璐拱閾炬帴
      *
@@ -1617,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) {
@@ -1646,14 +1690,14 @@
             if (couponInfo != null) {
                 couponUrl = couponInfo.getLink();
             }
-            jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_FANLI + "",
+            jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, null,JDApiUtil.POSITION_FANLI + "",
                     uid + "");
             if (jumpLink == null) {
-                jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, null, JDApiUtil.POSITION_FANLI + "",
+                jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, null, null,JDApiUtil.POSITION_FANLI + "",
                         uid + "");
             }
         } else {
-            jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_FANLI + "",
+            jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, null,JDApiUtil.POSITION_FANLI + "",
                     uid + "");
             if (StringUtil.isNullOrEmpty(jumpLink)) {
                 jumpLink = couponUrl;
@@ -1683,7 +1727,7 @@
         String jumpLink = null;
         String materialId = "https://item.jd.com/" + id + ".html";
 
-        jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_FANLI + "", null);
+        jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, null,JDApiUtil.POSITION_FANLI + "", null);
         if (StringUtil.isNullOrEmpty(jumpLink)) {
             jumpLink = couponUrl;
         }
@@ -1705,21 +1749,31 @@
      */
     @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) {
@@ -1727,12 +1781,13 @@
             return;
         }
 
-        PDDPromotionUrl convertUrl = PinDuoDuoApiUtil.convert(id, PinDuoDuoApiUtil.PID_FANLI + "", uid + "");
+        boolean auth = PinDuoDuoApiUtil.isAuth(pid, uid + "");
+        PDDPromotionUrl convertUrl = PinDuoDuoApiUtil.convert(id, pid + "", uid + "", !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()));
         out.print(JsonUtil.loadTrueResult(data));
 
         // 鑾峰緱閲戝竵
@@ -1750,20 +1805,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 + "");
@@ -1772,7 +1835,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());
@@ -1785,21 +1848,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];
@@ -1815,7 +1884,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);
@@ -1940,9 +2009,9 @@
 
         Map<String, GoodsDetailVO> tempGoodsList = new HashMap<>();
 
-        ConfigParamsDTO params = new ConfigParamsDTO(hongBaoManageService.getFanLiRate(),
-                hongBaoManageService.getShareRate(), new BigDecimal(80),
-                hongBaoManageService.getFanLiRate(UserLevelEnum.superVIP));
+        ConfigParamsDTO params = new ConfigParamsDTO(hongBaoManageService.getFanLiRate(acceptData.getSystem()),
+                hongBaoManageService.getShareRate(acceptData.getSystem()), new BigDecimal(80),
+                hongBaoManageService.getFanLiRate(UserLevelEnum.superVIP, acceptData.getSystem()));
 
         if (tbGoodsList.size() > 0) {
             List<TaoBaoGoodsBrief> goodsList = null;
@@ -2003,7 +2072,7 @@
             return;
         }
 
-        link = JDApiUtil.convertLinkWithSubUnionId(link, null, JDApiUtil.POSITION_FANLI + "", uid + "");
+        link = JDApiUtil.convertLinkWithSubUnionId(link, null, null,JDApiUtil.POSITION_FANLI + "", uid + "");
 
         JSONObject data = new JSONObject();
         data.put("link", link);

--
Gitblit v1.8.0