From 5046ecde3cd849511a337e25e13af7df7f1894bc Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 31 七月 2019 19:22:18 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into div
---
fanli/src/main/java/com/yeshi/fanli/controller/h5/H5RecommendController.java | 214 ++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 200 insertions(+), 14 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 45e7050..b91c76e 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;
@@ -10,15 +11,19 @@
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
-import org.yeshi.utils.HttpUtil;
import org.yeshi.utils.JsonUtil;
import org.yeshi.utils.taobao.TbImgUtil;
import com.google.gson.Gson;
+import com.yeshi.fanli.dto.jd.JDCouponInfo;
+import com.yeshi.fanli.dto.jd.JDPingouInfo;
+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;
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 +51,10 @@
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.pinduoduo.PinDuoDuoApiUtil;
+import com.yeshi.fanli.util.pinduoduo.PinDuoDuoUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
@@ -156,9 +165,17 @@
* @param out
*/
private void doTaoLiJin(String callback, Long uid, Long tid, PrintWriter out) {
- String tljLink = "";
- Long auctionId = null;
- BigDecimal tljMoney=null;
+ // 鏌ヨ鍟嗗搧娣樼ぜ閲�
+ UserTaoLiJinRecord record = userTaoLiJinRecordService.selectByPrimaryKey(tid);
+ if (record == null) {
+ out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("鍟嗗搧淇℃伅鑾峰彇澶辫触")));
+ return;
+ }
+
+ Long auctionId = record.getGoodsId();
+ String tljLink = record.getSendUrl();
+ BigDecimal tljMoney= record.getPerFace();
+
TaoBaoGoodsBrief goods = null;
try {
goods = redisManager.getTaoBaoGoodsBrief(auctionId);
@@ -200,6 +217,7 @@
} else {
data.put("coupon", false);
}
+
data.put("tljMoney", tljMoney);
out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
@@ -218,7 +236,7 @@
@SuppressWarnings("unused")
@RequestMapping(value = "getGoodsDetail", method = RequestMethod.GET)
- public void getGoodsDetail(final AcceptData acceptData, final String id, Long tid, String uid, String callback,
+ public void getGoodsDetail(final AcceptData acceptData, final String id, String tid, String uid, String callback,
PrintWriter out) {
long begin = java.lang.System.currentTimeMillis();
if (StringUtil.isNullOrEmpty(id)) {
@@ -230,9 +248,10 @@
uid = AESUtil.decrypt(uid, Constant.UIDAESKEY);
}
- if (tid != null && tid != 0) {
+ if (!StringUtil.isNullOrEmpty(tid)) {
+ tid = AESUtil.decrypt(tid, Constant.UIDAESKEY);
doTaoLiJin(callback, StringUtil.isNullOrEmpty(uid) || Long.parseLong(uid) == 0 ? null : Long.parseLong(uid),
- tid, out);
+ Long.parseLong(tid), out);
return;
}
@@ -366,13 +385,6 @@
data.put("quan", true);
}
-
- // 鏌ヨ鍟嗗搧娣樼ぜ閲�
- BigDecimal taoLiJin = userTaoLiJinRecordService.getShareHongBaoByUidAndGoodsId(Long.parseLong(uid), Long.parseLong(id));
- if (taoLiJin != null && taoLiJin.compareTo(new BigDecimal(0)) == 1) {
- data.put("taoLiJin", "鍙幏娣樼ぜ閲戠孩鍖� 楼" + taoLiJin);
- }
-
out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
final String tempUid = uid;
@@ -392,4 +404,178 @@
});
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();
+ }
+
+ 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.convertShortLink(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "", uid);
+
+ int priceType = 1;
+ BigDecimal price = jdGoods.getPrice();;
+ JDPingouInfo pinGouInfo = jdGoods.getPinGouInfo();
+ if (pinGouInfo != null) {
+ priceType = 2; // 鎷艰喘浠�
+ price = pinGouInfo.getPingouPrice();
+ }
+
+ JSONObject data = new JSONObject();
+ data.put("jdzy", jdzy);
+ data.put("imgs", imageList);
+ data.put("title", jdGoods.getSkuName());
+ data.put("zkPrice", price);
+ data.put("priceType", priceType);
+ 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;
+ }
+
+
+ /**
+ * 鎷煎澶氬垎浜晢鍝佽鎯�
+ * @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