From 1d23bb817a5b8d7edcd172f02246ecc95250d63b Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期一, 22 七月 2019 18:15:47 +0800
Subject: [PATCH] 京东分享H5接口

---
 fanli/src/main/java/com/yeshi/fanli/controller/h5/H5RecommendController.java |   83 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 83 insertions(+), 0 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/h5/H5RecommendController.java b/fanli/src/main/java/com/yeshi/fanli/controller/h5/H5RecommendController.java
index ea63ae3..5dc7028 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/h5/H5RecommendController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/h5/H5RecommendController.java
@@ -14,11 +14,13 @@
 import org.yeshi.utils.taobao.TbImgUtil;
 
 import com.google.gson.Gson;
+import com.yeshi.fanli.dto.jd.JDCouponInfo;
 import com.yeshi.fanli.entity.accept.AcceptData;
 import com.yeshi.fanli.entity.bus.recommend.RecommendBanner;
 import com.yeshi.fanli.entity.bus.share.UserShareGoodsHistory;
 import com.yeshi.fanli.entity.bus.su.recommend.SuperRecommendBanner;
 import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinRecord;
+import com.yeshi.fanli.entity.jd.JDGoods;
 import com.yeshi.fanli.entity.system.BusinessSystem;
 import com.yeshi.fanli.entity.taobao.ClientTBPid;
 import com.yeshi.fanli.entity.taobao.PidUser;
@@ -46,6 +48,8 @@
 import com.yeshi.fanli.util.RedisManager;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.ThreadUtil;
+import com.yeshi.fanli.util.jd.JDApiUtil;
+import com.yeshi.fanli.util.jd.JDUtil;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
 import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
 
@@ -395,4 +399,83 @@
 		});
 		return;
 	}
+	
+	
+	
+	/**
+	 * 浜笢鍒嗕韩鍟嗗搧淇℃伅
+	 * @param acceptData
+	 * @param id
+	 * @param uid
+	 * @param callback
+	 * @param out
+	 */
+	@RequestMapping(value = "getJDGoodsDetail")
+	public void getJDGoodsDetail(final AcceptData acceptData, final Long id,  String uid, String callback,
+			PrintWriter out) {
+		if (id == null) {
+			out.print(JsonUtil.loadFalseResult(1, "璇蜂笂浼爄d"));
+			return;
+		}
+
+		if (!StringUtil.isNullOrEmpty(uid)) {
+			uid = AESUtil.decrypt(uid, Constant.UIDAESKEY);
+		}
+
+		JDGoods jdGoods = JDApiUtil.queryGoodsDetail(id);
+		if (jdGoods == null) {
+			jdGoods = JDApiUtil.getGoodsDetail(id);
+		}
+
+		if (jdGoods == null) {
+			out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("鍟嗗搧淇℃伅鑾峰彇澶辫触")));
+			return;
+		}
+
+		List<String> imageList = jdGoods.getImageList();
+		if (imageList == null) {
+			imageList = new ArrayList<>();
+			imageList.add(jdGoods.getPicUrl());
+		}
+		
+		boolean hasCoupon = false;
+		String couponUrl = null;
+		BigDecimal discount = new BigDecimal(0);
+		JDCouponInfo couponInfo = jdGoods.getCouponInfo();
+		if (couponInfo != null) {
+			hasCoupon = true;
+			discount = couponInfo.getDiscount();
+			couponUrl = couponInfo.getLink();
+		}
+		
+		String materialId = "https://item.jd.com/" + id + ".html";
+		String jumpLink = JDApiUtil.convertLink(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "", uid);
+		
+		JSONObject data = new JSONObject();
+		data.put("imgs", imageList);
+		data.put("title", jdGoods.getSkuName());
+		data.put("zkPrice", jdGoods.getPrice());
+		data.put("coupon", hasCoupon);
+		data.put("couponAmount", discount);
+		data.put("couponPrice", JDUtil.getQuanPrice(jdGoods));
+		data.put("helpLink", configService.get("jd_share_h5_help_link"));
+		data.put("jumpLink", jumpLink);
+		JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+
+		final String tempUid = uid;
+		ThreadUtil.run(new Runnable() {
+			@Override
+			public void run() {
+				try {
+					if (!StringUtil.isNullOrEmpty(tempUid))
+						userShareGoodsGroupService.updateBrowseNum(Long.parseLong(tempUid), id, Constant.SOURCE_TYPE_JD);
+				} catch (NumberFormatException e) {
+					e.printStackTrace();
+				} catch (UserShareGoodsRecordException e) {
+					e.printStackTrace();
+				}
+			}
+		});
+		return;
+	}
 }

--
Gitblit v1.8.0