From 969ac5f2ef08e2cd662853d9b771c9663c5d2c70 Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期二, 30 七月 2019 14:52:49 +0800
Subject: [PATCH] 分享商品更改缓存简版商品

---
 fanli/src/main/java/com/yeshi/fanli/util/jd/JDUtil.java |   52 +++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 35 insertions(+), 17 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 95478cd..1b454ed 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
@@ -184,7 +184,10 @@
 					JSONArray array = json.optJSONObject("data").optJSONArray("unionGoods");
 					if (array != null) {
 						for (int i = 0; i < array.size(); i++) {
-							goodsList.add(parseGoods(array.optJSONArray(i).optJSONObject(0).toString()));
+							JDGoods parseGoods = parseGoods(array.optJSONArray(i).optJSONObject(0).toString());
+							if (parseGoods != null) {
+								goodsList.add(parseGoods);
+							}
 						}
 					}
 				}
@@ -240,7 +243,10 @@
 					JSONArray array = json.optJSONObject("data").optJSONArray("unionRecommendGoods");
 					if (array != null) {
 						for (int i = 0; i < array.size(); i++) {
-							goodsList.add(parseGoods(array.optJSONArray(i).optJSONObject(0).toString()));
+							JDGoods parseGoods = parseGoods(array.optJSONArray(i).optJSONObject(0).toString());
+							if (parseGoods != null) {
+								goodsList.add(parseGoods);
+							}
 						}
 					}
 				}
@@ -264,12 +270,23 @@
 		return null;
 	}
 
+	
 	private static JDGoods parseGoods(String data) {
 		JDGoods goods = new JDGoods();
 		JSONObject json = JSONObject.fromObject(data);
+		
+		BigDecimal wlCommissionRatio = new BigDecimal(json.optString("wlCommissionRatio"));
+		if (wlCommissionRatio.compareTo(new BigDecimal(0)) > 0) {
+			JDCommissionInfo commission = new JDCommissionInfo();
+			commission.setCommission(new BigDecimal(json.optString("wlCommission")));
+			commission.setCommissionShare(wlCommissionRatio);
+			goods.setCommissionInfo(commission);
+		} else {
+			return null; // 杩囨护鏃犺繑鍒╁晢鍝�
+		}
+		
 		goods.setSkuId(json.optLong("skuId"));
 		goods.setSkuName(json.optString("skuName"));
-		
 		
 		JDShopInfo shopInfo = new JDShopInfo();
 		shopInfo.setShopId(json.optInt("shopId"));
@@ -286,10 +303,7 @@
 		
 		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")));
-		goods.setCommissionInfo(commission);
+		
 		goods.setGoodCommentsShare(new BigDecimal(json.optString("goodCommentsShare")));
 
 		// 鍥㈣喘淇℃伅
@@ -301,16 +315,20 @@
 		} 
 		
 		
-		// 鍒镐俊鎭�
-		BigDecimal finalPrice = new BigDecimal(json.optString("finalPrice"));
-		if (finalPrice != null && json.optString("hasCoupon") != null && json.optInt("hasCoupon") == 1
-				&& json.optInt("couponRemainCnt") > 0) {
-			JDCouponInfo coupon = new JDCouponInfo();
-			coupon.setDiscount(new BigDecimal(json.optString("couponDiscount")));
-			coupon.setQuota(new BigDecimal(json.optString("couponQuota")));
-			coupon.setLink("https:" + json.optString("couponLink"));
-			goods.setCouponInfo(coupon);
-		} 
+		String finalPrice = json.optString("finalPrice");
+		if (!StringUtil.isNullOrEmpty(finalPrice)) {
+			// 鍒镐俊鎭�
+			BigDecimal finalPriceDecimal = new BigDecimal(json.optString("finalPrice"));
+			if (finalPriceDecimal != null && json.optString("hasCoupon") != null && json.optInt("hasCoupon") == 1
+					&& json.optInt("couponRemainCnt") > 0) {
+				JDCouponInfo coupon = new JDCouponInfo();
+				coupon.setDiscount(new BigDecimal(json.optString("couponDiscount")));
+				coupon.setQuota(new BigDecimal(json.optString("couponQuota")));
+				coupon.setLink("https:" + json.optString("couponLink"));
+				goods.setCouponInfo(coupon);
+			} 
+		}
+		
 		
 		return goods;
 	}

--
Gitblit v1.8.0