From 83eff153c7bdddf739e0e8882854a87eb6f3ef54 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期二, 23 七月 2019 11:01:48 +0800 Subject: [PATCH] 京东拼多多分享h5接口 --- fanli/src/main/java/com/yeshi/fanli/controller/h5/H5RecommendController.java | 90 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 90 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 5dc7028..9c9c3e0 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 @@ -3,6 +3,7 @@ import java.io.PrintWriter; import java.math.BigDecimal; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import javax.annotation.Resource; @@ -15,6 +16,7 @@ import com.google.gson.Gson; import com.yeshi.fanli.dto.jd.JDCouponInfo; +import com.yeshi.fanli.dto.pdd.PDDGoodsDetail; import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.recommend.RecommendBanner; import com.yeshi.fanli.entity.bus.share.UserShareGoodsHistory; @@ -50,6 +52,8 @@ 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.pinduoduo.PinDuoDuoApiUtil; +import com.yeshi.fanli.util.pinduoduo.PinDuoDuoUtil; import com.yeshi.fanli.util.taobao.TaoBaoUtil; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; @@ -448,10 +452,17 @@ couponUrl = couponInfo.getLink(); } + boolean jdzy = false; + String owner = jdGoods.getOwner(); + if (!StringUtil.isNullOrEmpty(owner) && "g".equalsIgnoreCase(owner)) { + jdzy = true; + } + String materialId = "https://item.jd.com/" + id + ".html"; String jumpLink = JDApiUtil.convertLink(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "", uid); JSONObject data = new JSONObject(); + data.put("jdzy", jdzy); data.put("imgs", imageList); data.put("title", jdGoods.getSkuName()); data.put("zkPrice", jdGoods.getPrice()); @@ -478,4 +489,83 @@ }); return; } + + + /** + * 鎷煎澶氬垎浜晢鍝佽鎯� + * @param acceptData + * @param id + * @param uid + * @param callback + * @param out + */ + @RequestMapping(value = "getPDDGoodsDetail") + public void getPDDGoodsDetail(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); + } + + PDDGoodsDetail pddGoods = PinDuoDuoApiUtil.getGoodsDetail(id); + if (pddGoods == null) { + out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("鍟嗗搧淇℃伅鑾峰彇澶辫触"))); + return; + } + + List<String> imageList = null; + String[] goodsGalleryUrls = pddGoods.getGoodsGalleryUrls(); + if (goodsGalleryUrls != null) { + imageList = Arrays.asList(goodsGalleryUrls); + } + if (imageList == null) { + imageList = new ArrayList<>(); + String goodsImageUrl = pddGoods.getGoodsImageUrl(); + if (!StringUtil.isNullOrEmpty(goodsImageUrl)) { + imageList.add(goodsImageUrl); + } + } + + BigDecimal hundred = new BigDecimal(100); + Boolean hasCoupon = pddGoods.getHasCoupon(); + BigDecimal amount = new BigDecimal(0); + if (hasCoupon != null && hasCoupon) { + amount = MoneyBigDecimalUtil.div(new BigDecimal(pddGoods.getCouponDiscount()), hundred).setScale(2); + } else { + hasCoupon = false; + } + + String jumpLink = PinDuoDuoApiUtil.convert(id, PinDuoDuoApiUtil.PID_SHARE + "", uid); + + JSONObject data = new JSONObject(); + data.put("imgs", imageList); + data.put("title", pddGoods.getGoodsName()); + data.put("zkPrice", MoneyBigDecimalUtil.div(new BigDecimal(pddGoods.getMinGroupPrice()), hundred).setScale(2)); + data.put("coupon", hasCoupon); + data.put("couponAmount", amount); + data.put("couponPrice", PinDuoDuoUtil.getQuanPrice(pddGoods)); + data.put("helpLink", configService.get("pdd_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_PDD); + } catch (NumberFormatException e) { + e.printStackTrace(); + } catch (UserShareGoodsRecordException e) { + e.printStackTrace(); + } + } + }); + return; + } } -- Gitblit v1.8.0