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/util/taobao/TaoBaoUtil.java |   94 ++++++++++++++++++++++++++++++++--------------
 1 files changed, 65 insertions(+), 29 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java
index 176f1f8..04e9726 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java
@@ -6,7 +6,6 @@
 import java.net.URLDecoder;
 import java.net.URLEncoder;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -23,6 +22,7 @@
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 
+import com.yeshi.fanli.entity.SystemEnum;
 import org.apache.commons.httpclient.HttpClient;
 import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager;
 import org.apache.commons.httpclient.methods.GetMethod;
@@ -50,31 +50,31 @@
 import com.yeshi.fanli.entity.goods.CommonGoods;
 import com.yeshi.fanli.entity.taobao.SearchFilter;
 import com.yeshi.fanli.entity.taobao.TaoBaoCoupon;
-import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
-import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
-import com.yeshi.fanli.entity.taobao.TaoBaoHead;
-import com.yeshi.fanli.entity.taobao.TaoBaoHongBaoInfo;
+import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief;
+import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBriefExtra;
+import com.yeshi.goods.facade.entity.taobao.TaoBaoHead;
+import com.yeshi.goods.facade.entity.taobao.TaoBaoHongBaoInfo;
 import com.yeshi.fanli.entity.taobao.TaoBaoLink;
 import com.yeshi.fanli.entity.taobao.TaoBaoProvince;
-import com.yeshi.fanli.entity.taobao.TaoBaoQuanInfo;
+import com.yeshi.goods.facade.entity.taobao.TaoBaoQuanInfo;
 import com.yeshi.fanli.entity.taobao.TaoBaoSearchNav;
 import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
-import com.yeshi.fanli.entity.taobao.TaoBaoShop;
+import com.yeshi.common.entity.taobao.TaoBaoShop;
 import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
-import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2;
+import com.yeshi.goods.facade.entity.taobao.dataoke.DaTaoKeDetailV2;
 import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
 import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.inter.goods.TaoBaoLinkService;
 import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
-import com.yeshi.fanli.tag.PageEntity;
+import com.yeshi.common.entity.PageEntity;
 import com.yeshi.fanli.util.AESUtil;
 import com.yeshi.fanli.util.Constant;
-import com.yeshi.fanli.util.MoneyBigDecimalUtil;
+import org.yeshi.utils.MoneyBigDecimalUtil;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.TaoBaoConstant;
 import com.yeshi.fanli.util.TaoBaoHttpUtil;
-import com.yeshi.fanli.util.TimeUtil;
-import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
+import org.yeshi.utils.TimeUtil;
+import com.yeshi.common.vo.ClientTextStyleVO;
 
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
@@ -179,7 +179,7 @@
         urlMap.put(13, TEHUI_URL);
     }
 
-    public static TaoBaoSearchResult search(SearchFilter filter, boolean proxy) {
+    public static TaoBaoSearchResult search(SearchFilter filter, boolean proxy, String specialId, String relationId) {
         if (filter.getKey().startsWith("http://") || filter.getKey().startsWith("https://")) {
             String[] sts = filter.getKey().split("\\?")[1].split("&");
             for (String st : sts) {
@@ -211,7 +211,7 @@
             for (String c : filter.getCateIds().split(","))
                 cateList.add(Long.parseLong(c));
         }
-        return TaoKeApiUtil.searchWuLiao(filter);
+        return TaoKeApiUtil.searchWuLiao(filter, specialId, relationId);
     }
 
     /**
@@ -459,8 +459,8 @@
         return presult;
     }
 
-    public static TaoBaoSearchResult search(SearchFilter filter) {
-        return search(filter, false);
+    public static TaoBaoSearchResult search(SearchFilter filter, String specialId, String relationId) {
+        return search(filter, false, specialId, relationId);
     }
 
     public static TaoBaoSearchResult search2(SearchFilter filter, TaoBaoUnionConfig config) {
@@ -499,7 +499,7 @@
         }
 
         if (1 > 0)
-            return TaoKeApiUtil.searchWuLiao(filter);
+            return TaoKeApiUtil.searchWuLiao(filter, null, null);
 
         Map<String, String> params = new HashMap<String, String>();
         String key = filter.getKey();
@@ -989,7 +989,7 @@
         System.out.println(result);
     }
 
-    public static TaoBaoGoodsBriefExtra getTaoBaoGoodsBriefExtra(TaoBaoGoodsBrief tb, TaoBaoUnionConfig config) {
+    public static TaoBaoGoodsBriefExtra getTaoBaoGoodsBriefExtra(TaoBaoGoodsBrief tb, TaoBaoUnionConfig config, SystemEnum system) {
         TaoBaoGoodsBriefExtra tg = new TaoBaoGoodsBriefExtra();
         tg.setId(tb.getId());
         tg.setAuctionId(tb.getAuctionId());
@@ -1021,7 +1021,7 @@
             tg.setTaoBaoQuanInfo(quanInfo);
         }
 
-        BigDecimal proportion = taoBaoUtil.manageService.getFanLiRate(UserLevelEnum.daRen);
+        BigDecimal proportion = taoBaoUtil.manageService.getFanLiRate(UserLevelEnum.daRen, system);
         TaoBaoHongBaoInfo hongBaoInfo = new TaoBaoHongBaoInfo();
         String tkMktStatus = tb.getTkMktStatus();
         if ("1".equals(tkMktStatus)) {
@@ -1420,11 +1420,17 @@
      * @return
      */
     public static BigDecimal getGoodsHongBaoMoney(TaoBaoGoodsBrief goodsBrief, BigDecimal rate, boolean share) {
+        BigDecimal commissionRate = null;
+        if (goodsBrief.getMinTkRate() != null && !share)
+            commissionRate = goodsBrief.getMinTkRate();
+        else
+            commissionRate = goodsBrief.getTkRate();
+
         BigDecimal money = null;
         if (StringUtil.isNullOrEmpty(goodsBrief.getCouponInfo())
                 || goodsBrief.getCouponInfo().trim().equalsIgnoreCase("鏃�")) {
             money = MoneyBigDecimalUtil.mul(
-                    MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.mul(goodsBrief.getZkPrice(), goodsBrief.getTkRate()),
+                    MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.mul(goodsBrief.getZkPrice(), commissionRate),
                             new BigDecimal("0.01")),
                     MoneyBigDecimalUtil.div(rate, new BigDecimal(100)));
         } else// 鏈夊埜
@@ -1436,18 +1442,19 @@
                     && goodsBrief.getZkPrice().compareTo(couponAccount) > 0) {
                 BigDecimal finalPrice = goodsBrief.getZkPrice().subtract(couponAccount);
                 money = MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil
-                                .mul(MoneyBigDecimalUtil.mul(finalPrice, goodsBrief.getTkRate()), new BigDecimal("0.01")),
+                                .mul(MoneyBigDecimalUtil.mul(finalPrice, commissionRate), new BigDecimal("0.01")),
                         MoneyBigDecimalUtil.div(rate, new BigDecimal(100)));
 
             } else {// 涓嶈兘鐢ㄥ埜
                 money = MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.mul(
-                        MoneyBigDecimalUtil.mul(goodsBrief.getZkPrice(), goodsBrief.getTkRate()),
+                        MoneyBigDecimalUtil.mul(goodsBrief.getZkPrice(), commissionRate),
                         new BigDecimal("0.01")), MoneyBigDecimalUtil.div(rate, new BigDecimal(100)));
             }
         }
 
         if (share)
             money = TaoBaoUtil.getCanShareMoney(new Date(), money);
+
 
         return BigDecimalUtil.getWithNoZera(money);
     }
@@ -2154,10 +2161,10 @@
      */
     public static List<String> getTokenListFromText(String str) {
         String[] marks = taoTokenSymbols;
-        List<String> list=new ArrayList<>();
-        for(String m:marks){
-            for(String m1:marks){
-                list.add(m.split("-")[0]+"-"+m1.split("-")[1]);
+        List<String> list = new ArrayList<>();
+        for (String m : marks) {
+            for (String m1 : marks) {
+                list.add(m.split("-")[0] + "-" + m1.split("-")[1]);
             }
         }
 
@@ -2173,9 +2180,9 @@
     public static List<String> getTokenListFromTextWithKuoHao(String str) {
         String[] marks = taoTokenSymbols;
         List<String> list = new ArrayList<>();
-        for(String m:marks){
-            for(String m1:marks){
-                list.add(m.split("-")[0]+"-"+m1.split("-")[1]);
+        for (String m : marks) {
+            for (String m1 : marks) {
+                list.add(m.split("-")[0] + "-" + m1.split("-")[1]);
             }
         }
 
@@ -2220,6 +2227,7 @@
 
     /**
      * 鎷兼帴娓犻亾ID
+     *
      * @param url
      * @param relationId
      * @return
@@ -2230,4 +2238,32 @@
         return url + "&relationId=" + relationId;
     }
 
+
+    //浠庡埜閾炬帴鑾峰彇鍒窱D
+
+    /**
+     * 浠庡埜閾炬帴涓幏鍙栧埜ID
+     *
+     * @param couponLink
+     * @return
+     */
+    public static String getActivityIdFromCouponLink(String couponLink) {
+        Map<String, String> params = HttpUtil.getPramsFromUrl(couponLink);
+        if (params != null && params.containsKey("activityId"))
+            return params.get("activityId");
+        return null;
+    }
+
+
+    /**
+     * 鑾峰彇娣樺疂鎺堟潈閾炬帴
+     * @param uid
+     * @param source
+     * @return
+     */
+    public static String getTaoBaoAuthLink(Long uid, String source) {
+        return TaoBaoUtil.getTaoBaoUnionAuthUrl(TaoBaoConstant.TAOBAO_AUTH_APPKEY,
+                "http://api.flqapp.com/fanli/client/v1/auth/callback/tb", uid, source);
+    }
+
 }

--
Gitblit v1.8.0