From b3da9f82b7740d39742fef1a81a56c22fe1c8b9c Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期一, 08 六月 2020 17:27:02 +0800 Subject: [PATCH] 券后价调整 --- fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java | 106 ++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 77 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 edf39f4..51e2656 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 @@ -7,6 +7,7 @@ import java.net.URLEncoder; import java.util.ArrayList; import java.util.Arrays; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -26,7 +27,6 @@ import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager; import org.apache.commons.httpclient.methods.GetMethod; import org.apache.commons.httpclient.params.HttpMethodParams; -import org.hibernate.cache.spi.NaturalIdCacheKey; import org.jsoup.Connection; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; @@ -45,6 +45,7 @@ import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.reflect.TypeToken; +import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum; import com.yeshi.fanli.entity.common.ImageInfo; import com.yeshi.fanli.entity.goods.CommonGoods; import com.yeshi.fanli.entity.taobao.SearchFilter; @@ -739,7 +740,7 @@ hongBaoInfo.setRate("鏈�楂�40%"); - String hongbao = getGoodsHongBaoInfo(tb, new BigDecimal(proportion)); + String hongbao = getGoodsHongBaoInfo(tb, new BigDecimal(proportion), false); if (hongbao.contains("鏈�楂�")) { hongBaoInfo.setType(1); hongBaoInfo.setHongbao(new BigDecimal(0)); @@ -1022,7 +1023,7 @@ tg.setTaoBaoQuanInfo(quanInfo); } - BigDecimal proportion = taoBaoUtil.manageService.getFanLiRate(); + BigDecimal proportion = taoBaoUtil.manageService.getFanLiRate(UserLevelEnum.daRen); TaoBaoHongBaoInfo hongBaoInfo = new TaoBaoHongBaoInfo(); String tkMktStatus = tb.getTkMktStatus(); if ("1".equals(tkMktStatus)) { @@ -1031,7 +1032,7 @@ hongBaoInfo.setRate("鏈�楂�40%"); - String hongbao = getGoodsHongBaoInfo(tb, proportion); + String hongbao = getGoodsHongBaoInfo(tb, proportion, false); if (!hongbao.contains("鏈�楂�")) hongBaoInfo.setHongbao(new BigDecimal(hongbao.replace("楼", ""))); else @@ -1076,16 +1077,11 @@ } /** - * 鑾峰彇鏈弬涓庢帹骞跨殑娣樺疂鍟嗗搧璇︽儏 - * @Title: getTaoBaoGoodsBrief - * @Description: - * @param id - * @return - * TaoBaoGoodsBrief 鍖呭惈锛堟爣棰樹笌鍥剧墖锛� - * @throws + * 鑾峰彇鏈弬涓庢帹骞跨殑娣樺疂鍟嗗搧璇︽儏 @Title: getTaoBaoGoodsBrief @Description: @param + * id @return TaoBaoGoodsBrief 鍖呭惈锛堟爣棰樹笌鍥剧墖锛� @throws */ public static TaoBaoGoodsBrief getTaoBaoGoodsBriefNotInPub(Long id) { - TaoBaoGoodsBrief tb = TaoBaoUtil.getTmallGoodsInfo(id+""); + TaoBaoGoodsBrief tb = TaoBaoUtil.getTmallGoodsInfo(id + ""); return tb; } @@ -1412,12 +1408,12 @@ * 鐢ㄦ埛鍐嶆鍒嗘垚姣斾緥锛�0-100锛� * @return */ - public static String getGoodsHongBaoInfo(TaoBaoGoodsBrief goodsBrief, BigDecimal rate) { + public static String getGoodsHongBaoInfo(TaoBaoGoodsBrief goodsBrief, BigDecimal rate, boolean share) { // if (goodsBrief != null && goodsBrief.getMaterialLibType() != null && // goodsBrief.getMaterialLibType() == 0) // return "楼0.00"; // else - return "楼" + getGoodsHongBaoMoney(goodsBrief, rate).toString(); + return "楼" + getGoodsHongBaoMoney(goodsBrief, rate, share).toString(); } /** @@ -1427,7 +1423,7 @@ * @param rate * @return */ - public static BigDecimal getGoodsHongBaoMoney(TaoBaoGoodsBrief goodsBrief, BigDecimal rate) { + public static BigDecimal getGoodsHongBaoMoney(TaoBaoGoodsBrief goodsBrief, BigDecimal rate, boolean share) { BigDecimal money = null; if (StringUtil.isNullOrEmpty(goodsBrief.getCouponInfo()) || goodsBrief.getCouponInfo().trim().equalsIgnoreCase("鏃�")) { @@ -1453,6 +1449,10 @@ new BigDecimal("0.01")), MoneyBigDecimalUtil.div(rate, new BigDecimal(100))); } } + + if (share) + money = TaoBaoUtil.getCanShareMoney(new Date(), money); + return BigDecimalUtil.getWithNoZera(money); } @@ -1487,7 +1487,7 @@ */ public static BigDecimal getShareGoodsHongBaoInfo(TaoBaoGoodsBrief goodsBrief, BigDecimal rate) { - return getGoodsHongBaoMoney(goodsBrief, rate); + return getGoodsHongBaoMoney(goodsBrief, rate, true); } /** @@ -1756,15 +1756,27 @@ TaoBaoGoodsBrief taoBaoGoods = new TaoBaoGoodsBrief(); taoBaoGoods.setAuctionId(detail.getGoodsId()); taoBaoGoods.setBiz30day(detail.getMonthSales()); + // 鍒哥浉鍏宠浆鎹� taoBaoGoods.setCouponAmount(detail.getCouponPrice()); - taoBaoGoods.setCouponInfo(String.format("婊�%s鍏冨噺%s鍏�", detail.getCouponConditions(), + taoBaoGoods.setCouponInfo(String.format("婊�%s鍏冨噺%s鍏�", detail.getOriginalPrice(), MoneyBigDecimalUtil.getWithNoZera(detail.getCouponPrice()))); if (detail.getCouponTotalNum() != null && detail.getCouponReceiveNum() != null) taoBaoGoods.setCouponLeftCount(detail.getCouponTotalNum() - detail.getCouponReceiveNum()); else taoBaoGoods.setCouponLeftCount(0); taoBaoGoods.setCouponStartFee(detail.getOriginalPrice()); + try { + taoBaoGoods.setCouponStartFee(detail.getOriginalPrice()); + } catch (Exception e) { + } + taoBaoGoods.setCouponTotalCount(detail.getCouponTotalNum()); + taoBaoGoods.setCouponLink(detail.getCouponLink()); + taoBaoGoods.setCouponEffectiveStartTime(TimeUtil.getGernalTime( + TimeUtil.convertToTimeTemp(detail.getCouponStartTime(), "yyyy-MM-dd HH:mm:ss"), "yyyy-MM-dd")); + taoBaoGoods.setCouponEffectiveEndTime(TimeUtil.getGernalTime( + TimeUtil.convertToTimeTemp(detail.getCouponEndTime(), "yyyy-MM-dd HH:mm:ss"), "yyyy-MM-dd")); + taoBaoGoods.setPictUrl(detail.getMainPic()); taoBaoGoods.setPictUrlWhite(detail.getMainPic()); if (taoBaoGoods.getPictUrl() != null && !taoBaoGoods.getPictUrl().startsWith("http")) @@ -2008,14 +2020,14 @@ if (elements.size() >= 0) { for (int i = 0; i < elements.size(); i++) { String content = elements.get(i).toString(); - if (content.contains("var _DATA_Mdskip")) { + if (content.contains("var _DATA_Detail")) { content = content.replace("<script>", ""); content = content.replace("</script>", ""); if (content.contains("videoDetail")) { - content += ";function getData(){ var json={title:_DATA_Mdskip.item.title,pictUrl:_DATA_Mdskip.item.videoDetail.videoThumbnailURL}; return JSON.stringify(json);}"; + content += ";function getData(){ var json={title:_DATA_Detail.item.title,pictUrl:_DATA_Detail.item.images[0]}; return JSON.stringify(json);}"; } else { - content += ";function getData(){ var json={title:_DATA_Mdskip.item.title,pictUrl:_DATA_Mdskip.item.videos[0].videoThumbnailURL}; return JSON.stringify(json);}"; + content += ";function getData(){ var json={title:_DATA_Detail.item.title,pictUrl:_DATA_Detail.item.images[0]}; return JSON.stringify(json);}"; } ScriptEngineManager manager = new ScriptEngineManager(); @@ -2030,6 +2042,9 @@ taoBaoGoodsBrief = new TaoBaoGoodsBrief(); taoBaoGoodsBrief.setTitle(title.toString()); taoBaoGoodsBrief.setPictUrl(pictUrl.toString()); + if (!pictUrl.toString().startsWith("http")) { + taoBaoGoodsBrief.setPictUrl(TbImgUtil.getTBSize220Img("http:" + pictUrl.toString())); + } } break; @@ -2124,25 +2139,39 @@ return false; } + private final static String[] taoTokenSymbols = new String[] { "鈧�-鈧�", "楼-楼", "锟�-锟�", "鈧�-鈧�", "\\$-\\$", "鈧�-鈧�", "垄-垄", + "鈧�-鈧�" }; + /** - * 浠庢枃鏈腑鎻愬彇娣樺彛浠� - * @Title: getTokenListFromText - * @Description: - * @param str - * @return - * List<String> 杩斿洖绫诲瀷 - * @throws + * 浠庢枃鏈腑鎻愬彇娣樺彛浠� @Title: getTokenListFromText @Description: @param str @return + * List<String> 杩斿洖绫诲瀷 @throws */ public static List<String> getTokenListFromText(String str) { - String[] marks = new String[] { "鈧�", "楼", "锟�", "鈧�", "\\$", "鈧�", "垄", "鈧�" }; + String[] marks = taoTokenSymbols; return getTokenListFromText(str, Arrays.asList(marks)); + } + + /** + * 浠庢枃鏈腑鎻愬彇娣樺彛浠�(鎷彿鐨勫彛浠や篃绠�) + * + * @param str + * @return + */ + public static List<String> getTokenListFromTextWithKuoHao(String str) { + String[] marks = taoTokenSymbols; + List<String> list = new ArrayList<>(); + for (String st : marks) + list.add(st); + list.add("\\(-\\)"); + list.add("锛�-锛�"); + return getTokenListFromText(str, list); } public static List<String> getTokenListFromText(String str, List<String> markList) { List<String> expressList = new ArrayList<>(); for (String st : markList) { - expressList.add(String.format("(%s{1}[A-Za-z0-9]{11,13}+%s{1})", st, st)); + expressList.add(String.format("(%s{1}[A-Za-z0-9]{11,13}+%s{1})", st.split("-")[0], st.split("-")[1])); } String pattern = StringUtil.concat(expressList, "|"); Pattern r = Pattern.compile(pattern); @@ -2154,4 +2183,23 @@ return urlList; } + /** + * 鑾峰彇鑳藉鍒嗙殑閽� + * @Title: getCanShareMoney + * @Description: + * @param estimate + * @return + * BigDecimal 杩斿洖绫诲瀷 + * @throws + */ + public static BigDecimal getCanShareMoney(Date createTime, BigDecimal estimate) { + if (estimate == null) + return null; + if (createTime.getTime() < TimeUtil.convertToTimeTemp("2020-06-01 12:30:00", "yyyy-MM-dd HH:mm:ss")) { + return estimate; + } + BigDecimal rate = new BigDecimal("0.9101"); + return MoneyBigDecimalUtil.mul(estimate, rate); + } + } -- Gitblit v1.8.0