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