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