From dd6a31aae79b35ccf0e006704a4d9e1d950c57d6 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期六, 23 五月 2020 09:55:58 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsControllerV2.java |  173 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 171 insertions(+), 2 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsControllerV2.java
index 5c72db0..496ab1f 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsControllerV2.java
@@ -26,6 +26,7 @@
 import com.yeshi.fanli.dto.pdd.PDDPromotionUrl;
 import com.yeshi.fanli.dto.pdd.PDDSearchFilter;
 import com.yeshi.fanli.dto.taobao.DaTaoKeFilterResult;
+import com.yeshi.fanli.dto.vip.goods.VIPGoodsInfo;
 import com.yeshi.fanli.entity.accept.AcceptData;
 import com.yeshi.fanli.entity.bus.user.ShamUser;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
@@ -98,6 +99,8 @@
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
 import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
 import com.yeshi.fanli.util.user.UserLevelUtil;
+import com.yeshi.fanli.util.vipshop.VipShopApiUtil;
+import com.yeshi.fanli.util.vipshop.VipShopUtil;
 import com.yeshi.fanli.vo.goods.CouponInfoVO;
 import com.yeshi.fanli.vo.goods.GoodsDetailExtraVO;
 import com.yeshi.fanli.vo.goods.GoodsDetailVO;
@@ -243,12 +246,12 @@
 				}
 				String link = taoBaoGoodsCacheUtil.getBaseConvertLink(goods.getAuctionId(), dpid);
 				if (!StringUtil.isNullOrEmpty(link)) {
-//					result.getGoods().setCouponLink(link);
+					// result.getGoods().setCouponLink(link);
 					return result.getGoods();
 				} else {
 					link = DaTaoKeApiUtil.convertLink(goods.getAuctionId(), dpid);
 					if (!StringUtil.isNullOrEmpty(link)) {
-//						result.getGoods().setCouponLink(link);
+						// result.getGoods().setCouponLink(link);
 						taoBaoGoodsCacheUtil.cacheBaseConvertLink(goods.getAuctionId(), dpid, link);
 					}
 					return result.getGoods();
@@ -1073,6 +1076,146 @@
 	}
 
 	/**
+	 * 鍞搧浼氳鎯�
+	 * 
+	 * @param acceptData
+	 * @param id
+	 * @param uid
+	 * @param from
+	 * @param out
+	 */
+	@RequestMapping(value = "getDetailVIP", method = RequestMethod.POST)
+	public void getDetialVIP(AcceptData acceptData, Long id, Long uid, String from, PrintWriter out) {
+		// 绯荤粺楠岃瘉
+		BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
+				acceptData.getPackages());
+		if (system == null) {
+			out.print(JsonUtil.loadFalseResult(1, "绯荤粺涓嶅瓨鍦�"));
+			return;
+		}
+
+		VIPGoodsInfo vipGoodsInfo = VipShopApiUtil.getGoodsDetail(id + "");
+		if (vipGoodsInfo == null) {
+			out.print(JsonUtil.loadFalseResult(2, "鍟嗗搧涓嶅瓨鍦�"));
+			return;
+		}
+
+		ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), uid);
+		paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
+
+		GoodsDetailVO goodsDetail = GoodsDetailVOFactory.convertVIPGoods(vipGoodsInfo, paramsDTO);
+		if (goodsDetail != null && goodsDetail.getMoneyInfo() != null && userVIPInfoService.isVIP(uid)) {
+			goodsDetail.getMoneyInfo().setFanliMoney(goodsDetail.getMoneyInfo().getMaxMoney());
+			goodsDetail.getMoneyInfo().setShareMoney("楼" + VipShopUtil.getGoodsFanLiMoney(vipGoodsInfo,
+					hongBaoManageService.getShareRate(UserLevelEnum.superVIP)));
+			goodsDetail.getMoneyInfo().setRateInfo(goodsDetail.getMoneyInfo().getMaxRateInfo());
+			goodsDetail.getMoneyInfo().setCompositionInfo(goodsDetail.getMoneyInfo().getMaxCompositionInfo());
+		}
+		goodsDetail.getMoneyInfo()
+				.setRateInfoHelpUrl(configService.get(ConfigKeyEnum.goodsDetailFanliRateHelpUrl.getKey()));
+
+		// 闄勫姞淇℃伅
+		OtherInfo otherInfo = new OtherInfo();
+		RewardCouponVO rewardCoupon = new RewardCouponVO();
+		rewardCoupon.setJumpDetail(jumpDetailV2Service.getByTypeCache("web"));
+		JSONObject params1 = new JSONObject();
+		if (!VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion()))
+			params1.put("url", configService.get(ConfigKeyEnum.specialGuideRewardCouponLink.getKey()));
+		else
+			params1.put("url", userVipConfigService.getValueByKey("vip_link"));
+
+		rewardCoupon.setMaxMoney(goodsDetail.getMoneyInfo().getMaxMoney());
+		rewardCoupon.setDesc("杩�");
+		params1.put("url", userVipConfigService.getValueByKey("vip_link"));
+		rewardCoupon.getJumpDetail().setNeedLogin(true);
+
+		rewardCoupon.setParams(params1.toString());
+		otherInfo.setRewardCoupon(rewardCoupon);
+		if ("ios".equalsIgnoreCase(acceptData.getPlatform())
+				&& configService.iosOnLining(Integer.parseInt(acceptData.getVersion())))
+			otherInfo.setRewardCoupon(null);
+		goodsDetail.setOtherInfo(otherInfo);
+
+		ShopInfoVO shopInfo = goodsDetail.getShopInfo();
+		if (shopInfo != null) {
+			if (shopInfo.getId() == null || shopInfo.getScoreGoods() == null || shopInfo.getScoreLogistics() == null
+					|| shopInfo.getScoreSeller() == null) {
+				goodsDetail.setShopInfo(null);
+			}
+		}
+
+		GoodsDetailExtraVO extraVO = new GoodsDetailExtraVO();
+		extraVO.setIsNative(false);
+		// IOS鏄惁姝e湪涓婄嚎
+		if ("ios".equalsIgnoreCase(acceptData.getPlatform())) {
+			String version = acceptData.getVersion();
+			extraVO.setIosOnling(configService.iosOnLining(Integer.parseInt(version)));
+		}
+
+		// 鍥炬枃璇︽儏
+		extraVO.setDetailUrl("http://apph5.banliapp.com/apppage/goods_img_pdd.html?id=" + id);
+
+		if (uid != null) {
+			// 鏄惁鍔犲叆鏀惰棌
+			CollectionGoodsV2 collectionGoods = collectionGoodsV2Service.findByUidAndAuctionId(uid, id,
+					Constant.SOURCE_TYPE_VIP);
+			extraVO.setCollected(collectionGoods != null ? true : false);
+			// 鏄惁鍔犲叆閫夊搧搴�
+			extraVO.setStorage(userGoodsStorageService.isExistStorage(uid, id, Constant.SOURCE_TYPE_VIP));
+		}
+
+		extraVO.setIsNative(true);
+
+		// 鍒嗕韩璺緞
+		String h5Url = String.format("http://%s%s?uid=%s&id=%s", configService.getH5Host(),
+				Constant.systemCommonConfig.getShareGoodsPagePathPDD(), "", id + "");
+		try {
+			extraVO.setH5Url(HttpUtil.getShortLink(h5Url));
+		} catch (Exception e) {
+			extraVO.setH5Url(h5Url);
+		}
+
+		String helpLink = null;
+		extraVO.setFanliValid(true);
+		extraVO.setShareValid(true);
+
+		if (StringUtil.isNullOrEmpty(helpLink)) {
+			helpLink = configService.get(ConfigKeyEnum.noRebateHelpLink.getKey());
+		}
+
+		ShareVO shareInfoVO = new ShareVO();
+		shareInfoVO.setHelpLink(helpLink);
+		extraVO.setShare(shareInfoVO);
+
+		// if (convertUrl != null) {
+		// extraVO.setCouponJumpLink(convertUrl.getUrl());
+		// extraVO.setNativeCouponJumpLink(PinDuoDuoUtil.getAndroidNativeURI(convertUrl.getUrl()));
+		// }
+
+		JSONObject object = new JSONObject();
+		object.put("extra", JsonUtil.getApiCommonGson().toJson(extraVO));
+		object.put("goods", JsonUtil.getApiCommonGson().toJson(goodsDetail));
+		out.print(JsonUtil.loadTrueResult(object.toString()));
+
+		ThreadUtil.run(new Runnable() {
+			public void run() {
+				// 娣诲姞娴忚璁板綍
+				try {
+					scanHistoryV2Service.addVIPScanHistory(uid, acceptData.getDevice(), vipGoodsInfo);
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+
+				try {
+					goodsEvaluateService.updateVIPGoods(vipGoodsInfo);
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+			}
+		});
+	}
+
+	/**
 	 * 鍟嗗搧璇︽儏鎺ㄨ崘锛堢寽浣犲枩娆� + 鎺ㄨ崘锛�
 	 * 
 	 * @param acceptData
@@ -1509,4 +1652,30 @@
 		}
 		out.print(JsonUtil.loadTrueResult(gson.toJson(voList)));
 	}
+
+	/**
+	 * 浜笢杞摼
+	 * @Title: getJDLink
+	 * @Description: 
+	 * @param acceptData
+	 * @param link
+	 * @param uid
+	 * @param out 
+	 * void 杩斿洖绫诲瀷
+	 * @throws
+	 */
+	@RequestMapping(value = "convertJDLink")
+	public void convertJDLink(AcceptData acceptData, String link, Long uid, String callback, PrintWriter out) {
+		if (StringUtil.isNullOrEmpty(link)) {
+			out.print(JsonUtil.loadFalseResult(1, "閾炬帴涓虹┖"));
+			return;
+		}
+
+		link = JDApiUtil.convertLinkWithSubUnionId(link, null, JDApiUtil.POSITION_FANLI + "", uid + "");
+
+		JSONObject data = new JSONObject();
+		data.put("link", link);
+		JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+	}
+
 }

--
Gitblit v1.8.0