From d99f45a1c358282ab0d4333232da25f03560778f Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 29 五月 2020 18:49:31 +0800
Subject: [PATCH] 苏宁,唯品会接口修改

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsControllerV2.java |  240 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 231 insertions(+), 9 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 496ab1f..5d08841 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
@@ -25,7 +25,9 @@
 import com.yeshi.fanli.dto.pdd.PDDGoodsResult;
 import com.yeshi.fanli.dto.pdd.PDDPromotionUrl;
 import com.yeshi.fanli.dto.pdd.PDDSearchFilter;
+import com.yeshi.fanli.dto.suning.SuningGoodsInfo;
 import com.yeshi.fanli.dto.taobao.DaTaoKeFilterResult;
+import com.yeshi.fanli.dto.vip.VIPConvertResultDTO;
 import com.yeshi.fanli.dto.vip.goods.VIPGoodsInfo;
 import com.yeshi.fanli.entity.accept.AcceptData;
 import com.yeshi.fanli.entity.bus.user.ShamUser;
@@ -96,6 +98,8 @@
 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.suning.SuningApiUtil;
+import com.yeshi.fanli.util.suning.SuningUtil;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
 import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
 import com.yeshi.fanli.util.user.UserLevelUtil;
@@ -1187,11 +1191,6 @@
 		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));
@@ -1215,6 +1214,137 @@
 		});
 	}
 
+	@RequestMapping(value = "getDetailSuning", method = RequestMethod.POST)
+	public void getDetialSuning(AcceptData acceptData, String id, Long uid, String from, PrintWriter out) {
+		// 绯荤粺楠岃瘉
+		BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
+				acceptData.getPackages());
+		if (system == null) {
+			out.print(JsonUtil.loadFalseResult(1, "绯荤粺涓嶅瓨鍦�"));
+			return;
+		}
+
+		String[] ids = SuningUtil.getGoodsIdDetail(id);
+
+		SuningGoodsInfo suningGoodsInfo = SuningApiUtil.getGoodsDetail(ids[1], ids[0]);
+
+		if (suningGoodsInfo == null) {
+			out.print(JsonUtil.loadFalseResult(2, "鍟嗗搧涓嶅瓨鍦�"));
+			return;
+		}
+
+		ConfigParamsDTO paramsDTO = getParamsDTO(acceptData.getPlatform(), acceptData.getVersion(), uid);
+		paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
+
+		GoodsDetailVO goodsDetail = GoodsDetailVOFactory.convertSuningGoods(suningGoodsInfo, paramsDTO);
+		if (goodsDetail != null && goodsDetail.getMoneyInfo() != null && userVIPInfoService.isVIP(uid)) {
+			goodsDetail.getMoneyInfo().setFanliMoney(goodsDetail.getMoneyInfo().getMaxMoney());
+			goodsDetail.getMoneyInfo().setShareMoney("楼" + SuningUtil.getGoodsFanLiMoney(suningGoodsInfo,
+					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();
+
+		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_suning.html?id="
+				+ suningGoodsInfo.getCommodityInfo().getCommodityCode() + "&supplierCode="
+				+ suningGoodsInfo.getCommodityInfo().getSupplierCode());
+
+		if (uid != null) {
+			// 鏄惁鍔犲叆鏀惰棌
+			CollectionGoodsV2 collectionGoods = collectionGoodsV2Service.findByUidAndAuctionId(uid,
+					Long.parseLong(suningGoodsInfo.getCommodityInfo().getCommodityCode()), Constant.SOURCE_TYPE_SUNING);
+			extraVO.setCollected(collectionGoods != null ? true : false);
+			// 鏄惁鍔犲叆閫夊搧搴�
+			extraVO.setStorage(userGoodsStorageService.isExistStorage(uid,
+					Long.parseLong(suningGoodsInfo.getCommodityInfo().getCommodityCode()),
+					Constant.SOURCE_TYPE_SUNING));
+		}
+
+		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);
+
+		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.addSuningScanHistory(uid, acceptData.getDevice(), suningGoodsInfo);
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+
+				try {
+					goodsEvaluateService.updateSuningGoods(suningGoodsInfo);
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+			}
+		});
+	}
+
 	/**
 	 * 鍟嗗搧璇︽儏鎺ㄨ崘锛堢寽浣犲枩娆� + 鎺ㄨ崘锛�
 	 * 
@@ -1223,7 +1353,7 @@
 	 * @param out
 	 */
 	@RequestMapping(value = "getRecommendGoods", method = RequestMethod.POST)
-	public void getRecommendGoods(AcceptData acceptData, long id, Integer goodsType, PrintWriter out) {
+	public void getRecommendGoods(AcceptData acceptData, String id, Integer goodsType, PrintWriter out) {
 		if (goodsType == null) {
 			goodsType = Constant.SOURCE_TYPE_TAOBAO;
 		}
@@ -1235,7 +1365,7 @@
 				JSONObject data = new JSONObject();
 				data.put("listGuess", JsonUtil.getApiCommonGson().toJson(new ArrayList<GoodsDetailVO>()));
 
-				List<JDGoods> list = JDUtil.getRecommendGoodsById(id);
+				List<JDGoods> list = JDUtil.getRecommendGoodsById(Long.parseLong(id));
 				if (list == null) {
 					list = new ArrayList<JDGoods>();
 				} else if (list.size() > 10) {
@@ -1266,7 +1396,7 @@
 
 				List<GoodsDetailVO> listDetailVO = new ArrayList<GoodsDetailVO>();
 
-				List<Long> goodsIdList = PinDuoDuoUtil.getRecommendGoodsId(id);
+				List<Long> goodsIdList = PinDuoDuoUtil.getRecommendGoodsId(Long.parseLong(id));
 				if (goodsIdList != null && goodsIdList.size() > 0) {
 					PDDSearchFilter pddfilter = new PDDSearchFilter();
 					pddfilter.setPage(1);
@@ -1301,8 +1431,13 @@
 				out.print(JsonUtil.loadTrueResult(data));
 				return;
 			}
+			
+			if (goodsType == Constant.SOURCE_TYPE_SUNING) {
+				//鐚滀綘鍠滄
+				
+			}
 
-			List<TaoBaoGoodsBrief> goodsList = TaoKeApiUtil.guessLikeByAuctionId(id, 10);
+			List<TaoBaoGoodsBrief> goodsList = TaoKeApiUtil.guessLikeByAuctionId(Long.parseLong(id), 10);
 			// 鍒濆鍖�
 			if (goodsList == null) {
 				goodsList = new ArrayList<TaoBaoGoodsBrief>();
@@ -1508,6 +1643,93 @@
 	}
 
 	/**
+	 * 鎷煎澶氳喘涔伴摼鎺�
+	 * 
+	 * @param acceptData
+	 * @param uid
+	 * @param id
+	 * @param source
+	 * @param request
+	 * @param out
+	 */
+	@RequestMapping(value = "getVIPLink")
+	public void getVIPLink(AcceptData acceptData, Long uid, Long id, String source, PrintWriter out) {
+		if (uid == null || uid <= 0) {
+			out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛ID涓嶈兘涓虹┖"));
+			return;
+		}
+
+		if (id == null || id <= 0) {
+			out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧ID涓嶈兘涓虹┖"));
+			return;
+		}
+
+		UserInfo user = userInfoService.getUserByIdWithMybatis(uid);
+		if (user != null && user.getState() != UserInfo.STATE_NORMAL) {
+			out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC));
+			return;
+		}
+
+		VIPGoodsInfo goods = VipShopApiUtil.getGoodsDetail(id + "");
+		if (goods == null) {
+			out.print(JsonUtil.loadFalseResult(2, "鍟嗗搧宸蹭笅鏋�"));
+			return;
+		}
+
+		VIPConvertResultDTO convertUrl = VipShopApiUtil.convertLink(id + "", VipShopUtil.getBuyChanTag(uid));
+		JSONObject data = new JSONObject();
+		data.put("native", true);
+		data.put("jumpLink", convertUrl.getUrl());
+		data.put("nativeJumpLink", convertUrl.getDeeplinkUrl());
+		out.print(JsonUtil.loadTrueResult(data));
+
+		// 鑾峰緱閲戝竵
+		integralGetService.addCouponRebate(uid);
+	}
+
+	@RequestMapping(value = "getSuningLink")
+	public void getSuningLink(AcceptData acceptData, Long uid, String id, String source, PrintWriter out) {
+		if (uid == null || uid <= 0) {
+			out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛ID涓嶈兘涓虹┖"));
+			return;
+		}
+
+		if (StringUtil.isNullOrEmpty(id)) {
+			out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧ID涓嶈兘涓虹┖"));
+			return;
+		}
+
+		UserInfo user = userInfoService.getUserByIdWithMybatis(uid);
+		if (user != null && user.getState() != UserInfo.STATE_NORMAL) {
+			out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC));
+			return;
+		}
+
+		String[] sts = SuningUtil.getGoodsIdDetail(id);
+		String supplierCode = sts[0];
+		String goodsCode = sts[1];
+
+		SuningGoodsInfo goods = SuningApiUtil.getGoodsDetail(goodsCode, supplierCode);
+		if (goods == null) {
+			out.print(JsonUtil.loadFalseResult(2, "鍟嗗搧宸蹭笅鏋�"));
+			return;
+		}
+
+		String quanUrl = null;
+		if (!StringUtil.isNullOrEmpty(goods.getCouponInfo().getCouponUrl()))
+			quanUrl = goods.getCouponInfo().getCouponUrl();
+		String link = SuningApiUtil.convertLink(SuningUtil.getProductUrl(supplierCode, goodsCode),
+				quanUrl, SuningApiUtil.PID_BUY, uid + "");
+		JSONObject data = new JSONObject();
+		data.put("native", false);
+		data.put("jumpLink", link);
+		out.print(JsonUtil.loadTrueResult(data));
+
+		// 鑾峰緱閲戝竵
+		integralGetService.addCouponRebate(uid);
+	}
+
+	/**
 	 * 鏄惁鍦ㄥ弬涓庢帹骞�
 	 * 
 	 * @param goodsId

--
Gitblit v1.8.0