From c1f208bb47427f36f556e27373f72f8e6f2587a8 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期五, 27 九月 2019 14:19:49 +0800 Subject: [PATCH] 品牌轮播图控制 --- fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java | 74 ++++++++++++++++++++++++++++++++++--- 1 files changed, 68 insertions(+), 6 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 e6ac7aa..9396568 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 @@ -14,6 +14,9 @@ import javax.annotation.PostConstruct; import javax.annotation.Resource; +import javax.script.Invocable; +import javax.script.ScriptEngine; +import javax.script.ScriptEngineManager; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; @@ -57,15 +60,15 @@ 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.hongbao.HongBaoManageService; +import com.yeshi.fanli.service.inter.order.config.HongBaoManageService; import com.yeshi.fanli.tag.PageEntity; import com.yeshi.fanli.util.AESUtil; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.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 net.sf.json.JSONArray; import net.sf.json.JSONObject; @@ -705,6 +708,8 @@ tg.setReservePrice(tb.getReservePrice()); tg.setUserType(tb.getUserType()); tg.setShopTitle(tb.getShopTitle()); + tg.setTkRate(tb.getTkRate()); + tg.setSellerId(tb.getSellerId()); tg.setState(tb.getState()); // 鐘舵�侊細2018-12-03 if (tb.getCouponAmount().compareTo(BigDecimal.valueOf(0)) > 0) { @@ -1688,7 +1693,8 @@ MoneyBigDecimalUtil.getWithNoZera(detail.getQuanPrice()))); taoBaoGoods.setCouponLeftCount(detail.getQuanSurplus()); taoBaoGoods.setCouponStartFee(new BigDecimal(detail.getQuanCondition())); - taoBaoGoods.setCouponTotalCount(detail.getQuanSurplus()); + if (detail.getQuanReceive() != null) + taoBaoGoods.setCouponTotalCount(detail.getQuanSurplus() + detail.getQuanReceive()); taoBaoGoods.setPictUrl(detail.getPic()); taoBaoGoods.setPictUrlWhite(detail.getPic()); taoBaoGoods.setSellerId(detail.getSellerId()); @@ -1896,10 +1902,66 @@ return "http://store.taobao.com/shop/view_shop.htm?user_number_id=" + sellerId; } - public static void main(String[] args) { - String s = channelMap.get("3"); - System.out.println(s); + /** + * 鏄惁鍙互鍔犲叆娣樼ぜ閲戠殑棰勯�夊晢鍝佸簱 + * + * @param v2 + * @return + */ + public static boolean canAddToTLJBuyGoods(TaoBaoGoodsBrief goods) { + BigDecimal tljMoney = getShareGoodsHongBaoInfo(goods, TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE); + // 涓嶈兘灏忎簬1鍧� + if (tljMoney.compareTo(new BigDecimal(1)) < 0 || tljMoney.compareTo(new BigDecimal(10)) > 0) + return false; + // 鍒稿悗浠蜂笉鑳藉ぇ浜�150 + if (getAfterUseCouplePrice(goods).compareTo(new BigDecimal(150)) > 0) + return false; + + return true; + } + + /** + * 鏌ヨ澶╃尗鍟嗗搧鍥剧墖銆佹爣棰� + * @param auctionId + * @return + */ + public static TaoBaoGoodsBrief getTmallGoodsInfo(String auctionId) { + TaoBaoGoodsBrief taoBaoGoodsBrief = null; + try { + Connection connect = Jsoup.connect(String.format(TM_PHONE_URL, auctionId)); + Document document = connect.get(); + Elements elements = document.getElementsByTag("script"); + if (elements.size() >= 0) { + for (int i = 0; i < elements.size(); i++) { + String content = elements.get(i).toString(); + if (content.contains("var _DATA_Mdskip")) { + content = content.replace("<script>", ""); + content = content.replace("</script>", ""); + content+=";function getData(){ var json={title:_DATA_Mdskip.item.title,pictUrl:_DATA_Mdskip.item.videoDetail.videoThumbnailURL}; return JSON.stringify(json);}"; + + ScriptEngineManager manager = new ScriptEngineManager(); + ScriptEngine engine = manager.getEngineByName("javascript"); + engine.eval(content); + + if (engine instanceof Invocable) { + Invocable in = (Invocable) engine; + JSONObject json = JSONObject.fromObject(in.invokeFunction("getData")); + Object title = json.get("title"); + Object pictUrl = json.get("pictUrl"); + taoBaoGoodsBrief = new TaoBaoGoodsBrief(); + taoBaoGoodsBrief.setTitle(title.toString()); + taoBaoGoodsBrief.setPictUrl(pictUrl.toString()); + } + + break; + } + } + } + } catch (Exception e) { + e.printStackTrace(); + } + return taoBaoGoodsBrief; } } -- Gitblit v1.8.0