From a1175313094799efcdbbecf2840a90350d3159a7 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期一, 29 七月 2019 18:02:30 +0800 Subject: [PATCH] 首页加入缓存 --- fanli/src/main/java/com/yeshi/fanli/util/jd/JDApiUtil.java | 124 ++++++++++++++++++++++++---------------- 1 files changed, 74 insertions(+), 50 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/jd/JDApiUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/jd/JDApiUtil.java index 538ab6a..ef93756 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/jd/JDApiUtil.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/jd/JDApiUtil.java @@ -13,6 +13,7 @@ import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.methods.PostMethod; +import org.yeshi.utils.HttpUtil; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; @@ -42,6 +43,7 @@ public static Long POSITION_FANLI = 1834339426L; public static Long POSITION_SHARE = 1834289924L; + public static Long POSITION_COUPON = 1859510742L; // 璁㈠崟鏌ヨ绫诲瀷 public static int ORDER_TYPE_CREATETIME = 1;// 涓嬪崟鏃堕棿 @@ -171,6 +173,22 @@ result = resultJson.optJSONObject("jd_union_open_promotion_common_get_response").optString("result"); resultJson = JSONObject.fromObject(result); return resultJson.optJSONObject("data").optString("clickURL"); + } + + /** + * 杞摼鎺�-鐭繛鎺� + * @param materialId + * @param couponUrl + * @param positionId + * @param ext1 + * @return + */ + public static String convertShortLink(String materialId, String couponUrl, String positionId, String ext1) { + String url = convertLink(materialId, couponUrl, positionId, ext1); + if (!StringUtil.isNullOrEmpty(url)) { + url = HttpUtil.getShortLink(url); + } + return url; } @@ -315,8 +333,7 @@ // 浠锋牸淇℃伅 Object priceInfo = json.get("priceInfo"); JSONObject priceInfoJson = JSONObject.fromObject(priceInfo); - BigDecimal price = new BigDecimal(priceInfoJson.optString("price")); - goods.setPrice(price); + goods.setPrice(new BigDecimal(priceInfoJson.optString("price"))); // 搴楅摵淇℃伅 Object shopInfo = json.get("shopInfo"); @@ -348,53 +365,6 @@ commissionInfo.setCommissionShare(new BigDecimal(commissionJson.optString("commissionShare"))); goods.setCommissionInfo(commissionInfo); - - // 鍒镐俊鎭� - Object coupon = json.get("couponInfo"); - if (coupon != null) { - JSONObject couponJson = JSONObject.fromObject(coupon); - JSONArray couponArray = couponJson.optJSONArray("couponList"); - if (couponArray != null) { - BigDecimal gap = null; - JDCouponInfo couponInfo = null; - for (int i = 0; i < couponArray.size(); i++) { - boolean add = false; - JSONObject jdcoupon = couponArray.optJSONObject(i); - if (couponInfo == null) { - couponInfo = new JDCouponInfo(); - add = true; - } - - BigDecimal quota = new BigDecimal(jdcoupon.optString("quota")); - BigDecimal sub = MoneyBigDecimalUtil.sub(price, quota); - if (gap == null) { - gap = sub; - } else if (sub.compareTo(gap) == 0) { - BigDecimal discount = new BigDecimal(jdcoupon.optString("discount")); - if (discount.compareTo(couponInfo.getDiscount()) > 0) { - add = true; - } - } else if (sub.compareTo(gap) > 0) { - add = true; - } - - if (add) { - couponInfo.setBindType(jdcoupon.optInt("bindType")); - couponInfo.setDiscount(new BigDecimal(jdcoupon.optString("discount"))); - couponInfo.setQuota(new BigDecimal(jdcoupon.optString("quota"))); - couponInfo.setPlatformType(jdcoupon.optInt("platformType")); - couponInfo.setGetEndTime(jdcoupon.optLong("getEndTime")); - couponInfo.setGetStartTime(jdcoupon.optLong("getStartTime")); - couponInfo.setUseEndTime(jdcoupon.optLong("useEndTime")); - couponInfo.setUseStartTime(jdcoupon.optLong("useStartTime")); - couponInfo.setLink(jdcoupon.optString("link")); - } - } - goods.setCouponInfo(couponInfo); - } - } - - // 鍥剧墖淇℃伅 List<String> imageList = new ArrayList<String>(); Object images = json.get("imageInfo"); @@ -409,13 +379,15 @@ goods.setPicUrl(imageList.get(0)); } + BigDecimal price = new BigDecimal(priceInfoJson.optString("price")); // 鎷艰喘淇℃伅 Object pinGouInfo = json.get("pinGouInfo"); if (pinGouInfo != null) { JSONObject pinGouInfoJson = JSONObject.fromObject(pinGouInfo); if (!pinGouInfoJson.isEmpty()) { JDPingouInfo jdPinGouInfo = new JDPingouInfo(); - jdPinGouInfo.setPingouPrice(new BigDecimal(pinGouInfoJson.optString("pingouPrice"))); + price = new BigDecimal(pinGouInfoJson.optString("pingouPrice")); + jdPinGouInfo.setPingouPrice(price); jdPinGouInfo.setPingouTmCount(pinGouInfoJson.optLong("pingouTmCount")); jdPinGouInfo.setPingouUrl(pinGouInfoJson.optString("pingouUrl")); jdPinGouInfo.setTotalCount(pinGouInfoJson.optLong("totalCount")); @@ -425,6 +397,58 @@ } } + + + // 鍒镐俊鎭� + Object coupon = json.get("couponInfo"); + if (coupon != null) { + JSONObject couponJson = JSONObject.fromObject(coupon); + JSONArray couponArray = couponJson.optJSONArray("couponList"); + if (couponArray != null) { + BigDecimal discount_temp = null; + JDCouponInfo couponInfo = null; + for (int i = 0; i < couponArray.size(); i++) { + boolean add = false; + JSONObject jdcoupon = couponArray.optJSONObject(i); + + BigDecimal quota = new BigDecimal(jdcoupon.optString("quota")); + BigDecimal sub = MoneyBigDecimalUtil.sub(price, quota); + if (sub.compareTo(new BigDecimal(0)) < 0) { + continue; // 鍟嗗搧浠锋牸灏忎簬浼樻儬鍒镐环鏍奸檺鍒� + } + + // 鍒搁潰棰� + BigDecimal discount = new BigDecimal(jdcoupon.optString("discount")); + if (discount_temp == null) { + add = true; + discount_temp = discount; + } else if (discount_temp.compareTo(discount) > 0) { // 鍒搁潰棰濆ぇ + add = true; + } + + if (add) { + if (couponInfo == null) { + couponInfo = new JDCouponInfo(); + } + + couponInfo.setBindType(jdcoupon.optInt("bindType")); + couponInfo.setDiscount(new BigDecimal(jdcoupon.optString("discount"))); + couponInfo.setQuota(new BigDecimal(jdcoupon.optString("quota"))); + couponInfo.setPlatformType(jdcoupon.optInt("platformType")); + couponInfo.setGetEndTime(jdcoupon.optLong("getEndTime")); + couponInfo.setGetStartTime(jdcoupon.optLong("getStartTime")); + couponInfo.setUseEndTime(jdcoupon.optLong("useEndTime")); + couponInfo.setUseStartTime(jdcoupon.optLong("useStartTime")); + couponInfo.setLink(jdcoupon.optString("link")); + } + } + + goods.setCouponInfo(couponInfo); + } + } + + + return goods; } -- Gitblit v1.8.0