From 67443feab8afa7171b31b8ccac94440e52b98f98 Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期四, 11 七月 2019 18:26:38 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
fanli/src/main/java/com/yeshi/fanli/util/jd/JDUtil.java | 156 ++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 146 insertions(+), 10 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/util/jd/JDUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/jd/JDUtil.java
index b3d33ab..2287f59 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/jd/JDUtil.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/jd/JDUtil.java
@@ -13,6 +13,7 @@
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
+import org.yeshi.utils.BigDecimalUtil;
import org.yeshi.utils.HttpUtil;
import com.yeshi.fanli.dto.jd.JDCommissionInfo;
@@ -22,6 +23,7 @@
import com.yeshi.fanli.dto.jd.JDShopInfo;
import com.yeshi.fanli.entity.jd.JDGoods;
import com.yeshi.fanli.tag.PageEntity;
+import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.StringUtil;
import net.sf.json.JSONArray;
@@ -106,18 +108,52 @@
params.put("pageNo", searchFilter.getPageNo());
params.put("pageSize", searchFilter.getPageSize());
params.put("searchUUID", StringUtil.Md5(System.currentTimeMillis() + ""));
+
JSONObject data = new JSONObject();
- data.put("deliveryType", "0");
+ data.put("lock", "0");
+ data.put("deliveryType", searchFilter.getDeliveryType());
data.put("hasCoupon", searchFilter.getHasCoupon());
- data.put("isCare", "0");
- data.put("isPinGou", "0");
+ data.put("isCare", searchFilter.getIsCare());
+ data.put("isPinGou", searchFilter.getIsPinGou());
data.put("isZY", searchFilter.getIsZY());
- data.put("key", searchFilter.getKey());
- data.put("keywordType", "kt1");
- data.put("lock", "");
- data.put("orientationFlag", "");
- data.put("searchType", "st1");
+ data.put("orientationFlag", searchFilter.getOrientationFlag());
+
+ // 鍒嗙被
+ data.put("categoryId", searchFilter.getCategoryId());
+ data.put("cat2Id", searchFilter.getCat2Id());
+ data.put("cat3Id", searchFilter.getCat3Id());
+
+ data.put("fromCommissionRatio", searchFilter.getFromCommissionRatio());
+ data.put("toCommissionRatio", searchFilter.getToCommissionRatio());
+ data.put("fromPrice", searchFilter.getFromPrice());
+ data.put("toPrice", searchFilter.getToPrice());
+
+ String key = searchFilter.getKey();
+ if (StringUtil.isNullOrEmpty(key)) {
+ data.put("keywordType", "kt0");
+ data.put("searchType", "st3");
+ } else {
+ data.put("key", key);
+ data.put("keywordType", "kt1");
+ data.put("searchType", "st3");
+ }
+
+ String sortName = searchFilter.getSortName();
+ if (StringUtil.isNullOrEmpty(sortName)) {
+ data.put("sort", null);
+ data.put("sortName", null);
+ } else {
+ data.put("sortName", sortName);
+ String sort = searchFilter.getSort();
+ if (StringUtil.isNullOrEmpty(sort)) {
+ sort = JDSearchFilter.SORT_DESC;
+ }
+ data.put("sort", sort);
+ }
params.put("data", data);
+
+ System.out.println(params.toString());
+
HttpClient client = new HttpClient();
PostMethod pm = new PostMethod("https://union.jd.com/api/goods/search");
pm.setRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko");
@@ -154,11 +190,24 @@
return searchResult;
}
+ public static JDGoods getGoodsDetail(Long skuId) {
+ JDSearchFilter sf = new JDSearchFilter();
+ sf.setKey(skuId + "");
+ sf.setPageNo(1);
+ sf.setPageSize(20);
+ JDSearchResult result = searchByKey(sf);
+ if (result != null && result.getGoodsList() != null && result.getGoodsList().size() > 0)
+ return result.getGoodsList().get(0);
+ return null;
+ }
+
private static JDGoods parseGoods(String data) {
JDGoods goods = new JDGoods();
JSONObject json = JSONObject.fromObject(data);
goods.setSkuId(json.optLong("skuId"));
goods.setSkuName(json.optString("skuName"));
+
+
JDShopInfo shopInfo = new JDShopInfo();
shopInfo.setShopId(json.optInt("shopId"));
shopInfo.setShopName(json.optString("shopName"));
@@ -168,13 +217,16 @@
goods.setPrice(new BigDecimal(json.optString("wlPrice")));
else
goods.setPrice(new BigDecimal(json.optString("finalPrice")));
- goods.setGoodCommentsShare(new BigDecimal(json.optString("goodCommentsShare")));
+
goods.setInOrderCount30Days(json.optLong("inOrderCount30Days"));
+
if (json.optInt("isZY") == 1)
goods.setOwner("g");
else
goods.setOwner("p");
- goods.setMaterialUrl("http://img14.360buyimg.com/n1/"+json.optString("materialUrl"));
+
+ goods.setMaterialUrl("https://item.jd.com/"+ json.optLong("skuId") +".html");
+ goods.setPicUrl("http://img14.360buyimg.com/n1/" + json.optString("materialUrl"));
JDCommissionInfo commission = new JDCommissionInfo();
commission.setCommission(new BigDecimal(json.optString("wlCommission")));
commission.setCommissionShare(new BigDecimal(json.optString("wlCommissionRatio")));
@@ -194,5 +246,89 @@
}
return goods;
}
+
+
+ /**
+ * 鍟嗗搧浣i噾璁$畻
+ * @param goods
+ * @param rate
+ * @return
+ */
+ public static BigDecimal getGoodsFanLiMoney(JDGoods goods, BigDecimal rate) {
+ BigDecimal money = null;
+
+ JDCommissionInfo commissionInfo = goods.getCommissionInfo();
+ if (commissionInfo == null) {
+ return money;
+ }
+
+ JDCouponInfo couponInfo = goods.getCouponInfo();
+ if (couponInfo == null) {
+ // 浣i噾
+ BigDecimal commission = commissionInfo.getCommission();
+ return MoneyBigDecimalUtil.mul(commission, MoneyBigDecimalUtil.div(rate, new BigDecimal(100)));
+ } else {
+ BigDecimal price = goods.getPrice();
+ BigDecimal quota = couponInfo.getQuota();
+ BigDecimal discount = couponInfo.getDiscount();
+ if (quota.compareTo(price) <= 0 && price.compareTo(discount) > 0) {
+
+ BigDecimal finalPrice = price.subtract(discount);
+ money = MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil
+ .mul(MoneyBigDecimalUtil.mul(finalPrice, commissionInfo.getCommissionShare()), new BigDecimal("0.01")),
+ MoneyBigDecimalUtil.div(rate, new BigDecimal(100)));
+ } else {// 涓嶈兘鐢ㄥ埜
+ money = MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.mul(
+ MoneyBigDecimalUtil.mul(price,commissionInfo.getCommissionShare()),
+ new BigDecimal("0.01")), MoneyBigDecimalUtil.div(rate, new BigDecimal(100)));
+ }
+
+ }
+ return BigDecimalUtil.getWithNoZera(money);
+ }
+
+
+ /**
+ * 璁$畻鍟嗗搧鍒稿悗浠凤紝娌℃湁鍒稿垯杩斿洖鍘熶环
+ *
+ * @param goodsBrief
+ * @return
+ */
+ public static BigDecimal getQuanPrice(JDGoods jdGoods) {
+ JDCouponInfo couponInfo = jdGoods.getCouponInfo();
+ if (couponInfo == null) {
+ return jdGoods.getPrice();
+ }
+
+ BigDecimal discount = couponInfo.getDiscount();
+ BigDecimal price = jdGoods.getPrice();
+ // 璁$畻鍒稿悗浠�
+ BigDecimal sub = price.subtract(couponInfo.getQuota());
+ if (sub.compareTo(BigDecimal.valueOf(0)) >= 0) {
+ BigDecimal quanPrice = MoneyBigDecimalUtil.sub(price, discount);
+ return quanPrice;
+ } else {
+ return jdGoods.getPrice();
+ }
+ }
+
+
+ /**
+ * 閿�閲忓鐞�
+ * @param count
+ * @return
+ */
+ public static String getSaleCount(long count) {
+ String salesCountMidea = null;
+ if (count < 10000) {
+ salesCountMidea = count + "";
+ } else {
+ double sales = count;
+ salesCountMidea = String.format("%.1f", sales / 10000);
+ salesCountMidea = salesCountMidea + "涓�";
+ }
+ return salesCountMidea;
+ }
+
}
--
Gitblit v1.8.0