From d960fdbfe07a65cb80ccb764bfb15ce78ebfd84a Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 10 四月 2020 18:21:04 +0800
Subject: [PATCH] 消息修改

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsControllerV2.java |  124 ++++++++++++++++++++++++++++++++++-------
 1 files changed, 102 insertions(+), 22 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 7aabad6..b39de2f 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
@@ -1,6 +1,7 @@
 package com.yeshi.fanli.controller.client.v2;
 
 import java.io.PrintWriter;
+import java.lang.reflect.InvocationTargetException;
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -9,6 +10,7 @@
 
 import javax.annotation.Resource;
 
+import org.apache.commons.beanutils.PropertyUtils;
 import org.json.simple.JSONArray;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -33,6 +35,7 @@
 import com.yeshi.fanli.entity.jd.JDGoods;
 import com.yeshi.fanli.entity.jd.JDGoodsClass;
 import com.yeshi.fanli.entity.system.BusinessSystem;
+import com.yeshi.fanli.entity.system.ConfigKeyEnum;
 import com.yeshi.fanli.entity.system.SystemClientParams;
 import com.yeshi.fanli.entity.taobao.ClientTBPid;
 import com.yeshi.fanli.entity.taobao.TLJBuyGoods;
@@ -49,6 +52,7 @@
 import com.yeshi.fanli.service.inter.config.BusinessSystemService;
 import com.yeshi.fanli.service.inter.config.ConfigService;
 import com.yeshi.fanli.service.inter.config.SystemClientParamsService;
+import com.yeshi.fanli.service.inter.dynamic.GoodsEvaluateService;
 import com.yeshi.fanli.service.inter.goods.CollectionGoodsV2Service;
 import com.yeshi.fanli.service.inter.goods.ScanHistoryV2Service;
 import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
@@ -70,6 +74,8 @@
 import com.yeshi.fanli.service.inter.user.UserInfoService;
 import com.yeshi.fanli.service.inter.user.integral.IntegralGetService;
 import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
+import com.yeshi.fanli.service.inter.user.vip.UserVipConfigService;
+import com.yeshi.fanli.util.BeanUtil;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.MoneyBigDecimalUtil;
 import com.yeshi.fanli.util.RedisManager;
@@ -194,6 +200,12 @@
 	@Resource
 	private UserVIPInfoService userVIPInfoService;
 
+	@Resource
+	private UserVipConfigService userVipConfigService;
+
+	@Resource
+	private GoodsEvaluateService goodsEvaluateService;
+
 	/**
 	 * 娣樺疂鍟嗗搧璇︽儏
 	 * 
@@ -256,6 +268,7 @@
 					app.setPid(TaoBaoConstant.TAOBAO_COMMON_PID);
 					app.setAdzoneId(TaoBaoConstant.TAOBAO_COMMON_PID.split("_")[3]);
 					goods = TaoKeApiUtil.searchGoodsDetail(id, app);
+
 					final TaoBaoGoodsBrief finalGoods = goods;
 					if (goods != null) {
 						ThreadUtil.run(new Runnable() {
@@ -269,6 +282,7 @@
 			} catch (TaobaoGoodsDownException e) {
 				// 鍟嗗搧涓嬫灦
 				ThreadUtil.run(new Runnable() {
+
 					public void run() {
 						taoBaoGoodsUpdateService.offlineTaoBaoGoods(id);
 					}
@@ -362,13 +376,18 @@
 
 		// 澶ф窐瀹㈠晢鍝佽繃婊�
 		try {
-			goods = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(goods);
+			goods = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(goods, acceptData.getPlatform(),
+					acceptData.getVersion());
+
+			// goods = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(goods);
+
 		} catch (Exception e) {
 			LogHelper.errorDetailInfo(e);
 		}
 
 		ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(),
 				acceptData.getVersion());
+		paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
 
 		GoodsDetailVO goodsDetail = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO);
 		if (goodsDetail != null && goodsDetail.getMoneyInfo() != null && userVIPInfoService.isVIP(uid)) {
@@ -376,8 +395,10 @@
 			goodsDetail.getMoneyInfo().setShareMoney(
 					"楼" + TaoBaoUtil.getGoodsHongBaoMoney(goods, hongBaoManageService.getVIPShareRate()));
 			goodsDetail.getMoneyInfo().setRateInfo(goodsDetail.getMoneyInfo().getMaxRateInfo());
+			goodsDetail.getMoneyInfo().setCompositionInfo(goodsDetail.getMoneyInfo().getMaxCompositionInfo());
 		}
-		goodsDetail.getMoneyInfo().setRateInfoHelpUrl(configService.get("goods_detail_fanli_rate_help_url"));
+		goodsDetail.getMoneyInfo()
+				.setRateInfoHelpUrl(configService.get(ConfigKeyEnum.goodsDetailFanliRateHelpUrl.getKey()));
 
 		if (TaoBaoUtil.isYUShou(goods)) {
 			if (!StringUtil.isNullOrEmpty(goods.getPresaleDiscountFeeText())) {
@@ -410,7 +431,7 @@
 		}
 
 		extraVO.setTbPidInfo(clientTBPid);
-		extraVO.setDetailUrl("http://apph5.yeshitv.com/apppage/goods_img.html?id=" + id);
+		extraVO.setDetailUrl("http://apph5.banliapp.com/apppage/goods_img.html?id=" + id);
 
 		// 鍒嗕韩璧氫汉鎻愮ず
 		MoneyInfoVO moneyInfo = goodsDetail.getMoneyInfo();
@@ -475,7 +496,7 @@
 			moneyType = 2;
 			fanliValid = true;
 			shareValid = false;
-			helpLink = configService.get("zigoulijian_nofanli_help");
+			helpLink = configService.get(ConfigKeyEnum.zigoulijianNofanliHelp.getKey());
 
 			BigDecimal tljHongBao = TaoBaoUtil.getGoodsHongBaoMoney(goods, TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE);
 
@@ -535,18 +556,23 @@
 			rewardCoupon.setJumpDetail(jumpDetailV2Service.getByTypeCache("web"));
 			JSONObject params1 = new JSONObject();
 			if (!VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion()))
-				params1.put("url", configService.get("special_guide_reward_coupon_link"));
+				params1.put("url", configService.get(ConfigKeyEnum.specialGuideRewardCouponLink.getKey()));
 			else
-				params1.put("url", configService.get("vip_link"));
+				params1.put("url", userVipConfigService.getValueByKey("vip_link"));
 			rewardCoupon.setMaxMoney(goodsDetail.getMoneyInfo().getMaxMoney());
 			if (VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion())) {
 				rewardCoupon.setDesc("杩�");
-				params1.put("url", configService.get("vip_link"));
+				params1.put("url", userVipConfigService.getValueByKey("vip_link"));
 				rewardCoupon.getJumpDetail().setNeedLogin(true);
 			} else
 				rewardCoupon.setDesc("鐢ㄨ繑鍒╁鍔卞埜鏈�楂樿繑");
 			rewardCoupon.setParams(params1.toString());
+
 			otherInfo.setRewardCoupon(rewardCoupon);
+			if ("ios".equalsIgnoreCase(acceptData.getPlatform())
+					&& configService.iosOnLining(Integer.parseInt(acceptData.getVersion())))
+				otherInfo.setRewardCoupon(null);
+
 			goodsDetail.setOtherInfo(otherInfo);
 		}
 		extraVO.setFanliValid(fanliValid);
@@ -559,7 +585,7 @@
 
 		// 鍒嗕韩璺緞
 		if (StringUtil.isNullOrEmpty(helpLink)) {
-			helpLink = configService.get("no_rebate_help_link");
+			helpLink = configService.get(ConfigKeyEnum.noRebateHelpLink.getKey());
 		}
 
 		// 鍒嗕韩璺緞
@@ -567,6 +593,27 @@
 		shareInfoVO.setHelpLink(helpLink);
 		extraVO.setShare(shareInfoVO);
 
+		if (goodsDetail.isHasCoupon()) {
+			// 璁剧疆couponList
+			List<CouponInfoVO> couponInfoList = new ArrayList<>();
+			couponInfoList.add(goodsDetail.getCouponInfo());
+			if (Constant.IS_TEST) {
+				CouponInfoVO coupon = new CouponInfoVO();
+				try {
+					PropertyUtils.copyProperties(coupon, goodsDetail.getCouponInfo());
+				} catch (IllegalAccessException e) {
+					e.printStackTrace();
+				} catch (InvocationTargetException e) {
+					e.printStackTrace();
+				} catch (NoSuchMethodException e) {
+					e.printStackTrace();
+				}
+				coupon.setShopCoupon(true);
+				coupon.setLink("https://uland.taobao.com/quan/detail?sellerId=725677994&activityId=d03aa6d23a5a4040afb3942e7ea9a007");
+				couponInfoList.add(coupon);
+			}
+			goodsDetail.setCouponInfoList(couponInfoList);
+		}
 		JSONObject object = new JSONObject();
 		object.put("extra", JsonUtil.getApiCommonGson().toJson(extraVO));
 		object.put("goods", JsonUtil.getApiCommonGson().toJson(goodsDetail));
@@ -594,8 +641,9 @@
 	 * @param from
 	 * @param out
 	 */
-	@RequestMapping(value = "getDetailJD", method = RequestMethod.POST)
+	@RequestMapping(value = "getDetailJD")
 	public void getDetialJD(AcceptData acceptData, Long id, Long uid, String from, PrintWriter out) {
+		// uid=2255993L;
 		// 绯荤粺楠岃瘉
 		BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
 				acceptData.getPackages());
@@ -626,14 +674,17 @@
 
 		ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(),
 				acceptData.getVersion());
+		paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
 		GoodsDetailVO goodsDetail = GoodsDetailVOFactory.convertJDGoods(jdGoods, paramsDTO);
 		if (goodsDetail != null && goodsDetail.getMoneyInfo() != null && userVIPInfoService.isVIP(uid)) {
 			goodsDetail.getMoneyInfo().setFanliMoney(goodsDetail.getMoneyInfo().getMaxMoney());
 			goodsDetail.getMoneyInfo()
 					.setShareMoney("楼" + JDUtil.getGoodsFanLiMoney(jdGoods, hongBaoManageService.getVIPShareRate()));
 			goodsDetail.getMoneyInfo().setRateInfo(goodsDetail.getMoneyInfo().getMaxRateInfo());
+			goodsDetail.getMoneyInfo().setCompositionInfo(goodsDetail.getMoneyInfo().getMaxCompositionInfo());
 		}
-		goodsDetail.getMoneyInfo().setRateInfoHelpUrl(configService.get("goods_detail_fanli_rate_help_url"));
+		goodsDetail.getMoneyInfo()
+				.setRateInfoHelpUrl(configService.get(ConfigKeyEnum.goodsDetailFanliRateHelpUrl.getKey()));
 
 		// 闄勫姞淇℃伅
 		OtherInfo otherInfo = new OtherInfo();
@@ -672,20 +723,25 @@
 		rewardCoupon.setJumpDetail(jumpDetailV2Service.getByTypeCache("web"));
 		JSONObject params1 = new JSONObject();
 		if (!VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion()))
-			params1.put("url", configService.get("special_guide_reward_coupon_link"));
+			params1.put("url", configService.get(ConfigKeyEnum.specialGuideRewardCouponLink.getKey()));
 		else
-			params1.put("url", configService.get("vip_link"));
+			params1.put("url", userVipConfigService.getValueByKey("vip_link"));
 
 		rewardCoupon.setMaxMoney(goodsDetail.getMoneyInfo().getMaxMoney());
 		if (VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion())) {
 			rewardCoupon.setDesc("杩�");
-			params1.put("url", configService.get("vip_link"));
+			params1.put("url", userVipConfigService.getValueByKey("vip_link"));
 			rewardCoupon.getJumpDetail().setNeedLogin(true);
 		} else {
 			rewardCoupon.setDesc("鐢ㄨ繑鍒╁鍔卞埜鏈�楂樿繑");
 		}
 		rewardCoupon.setParams(params1.toString());
+
 		otherInfo.setRewardCoupon(rewardCoupon);
+		if ("ios".equalsIgnoreCase(acceptData.getPlatform())
+				&& configService.iosOnLining(Integer.parseInt(acceptData.getVersion())))
+			otherInfo.setRewardCoupon(null);
+
 		goodsDetail.setOtherInfo(otherInfo);
 
 		CouponInfoVO couponInfo = goodsDetail.getCouponInfo();
@@ -717,7 +773,7 @@
 		List<ShamUser> listShareUser = new ArrayList<ShamUser>();
 
 		// 浜笢寮�鍚垎浜�
-		String open = configService.get("share_jd_open");
+		String open = configService.get(ConfigKeyEnum.shareOpenJD.getKey());
 		if ("1".equals(open.trim())) {
 			extraVO.setShareValid(true);
 			MoneyInfoVO moneyInfo = goodsDetail.getMoneyInfo();
@@ -770,7 +826,7 @@
 		extraVO.setFanliValid(true);
 
 		if (StringUtil.isNullOrEmpty(helpLink)) {
-			helpLink = configService.get("no_rebate_help_link");
+			helpLink = configService.get(ConfigKeyEnum.noRebateHelpLink.getKey());
 		}
 
 		ShareVO shareInfoVO = new ShareVO();
@@ -783,11 +839,18 @@
 		out.print(JsonUtil.loadTrueResult(object.toString()));
 
 		final JDGoods goods = jdGoods;
+		final Long fuid = uid;
 		ThreadUtil.run(new Runnable() {
 			public void run() {
 				// 娣诲姞娴忚璁板綍
 				try {
-					scanHistoryV2Service.addJDScanHistory(uid, acceptData.getDevice(), goods);
+					scanHistoryV2Service.addJDScanHistory(fuid, acceptData.getDevice(), goods);
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+
+				try {
+					goodsEvaluateService.updateJDGoods(goods);
 				} catch (Exception e) {
 					e.printStackTrace();
 				}
@@ -822,14 +885,18 @@
 
 		ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(),
 				acceptData.getVersion());
+		paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
+
 		GoodsDetailVO goodsDetail = GoodsDetailVOFactory.convertPDDGoods(pddGoods, paramsDTO);
 		if (goodsDetail != null && goodsDetail.getMoneyInfo() != null && userVIPInfoService.isVIP(uid)) {
 			goodsDetail.getMoneyInfo().setFanliMoney(goodsDetail.getMoneyInfo().getMaxMoney());
 			goodsDetail.getMoneyInfo().setShareMoney(
 					"楼" + PinDuoDuoUtil.getGoodsFanLiMoney(pddGoods, hongBaoManageService.getVIPShareRate()));
 			goodsDetail.getMoneyInfo().setRateInfo(goodsDetail.getMoneyInfo().getMaxRateInfo());
+			goodsDetail.getMoneyInfo().setCompositionInfo(goodsDetail.getMoneyInfo().getMaxCompositionInfo());
 		}
-		goodsDetail.getMoneyInfo().setRateInfoHelpUrl(configService.get("goods_detail_fanli_rate_help_url"));
+		goodsDetail.getMoneyInfo()
+				.setRateInfoHelpUrl(configService.get(ConfigKeyEnum.goodsDetailFanliRateHelpUrl.getKey()));
 
 		// 闄勫姞淇℃伅
 		OtherInfo otherInfo = new OtherInfo();
@@ -837,19 +904,22 @@
 		rewardCoupon.setJumpDetail(jumpDetailV2Service.getByTypeCache("web"));
 		JSONObject params1 = new JSONObject();
 		if (!VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion()))
-			params1.put("url", configService.get("special_guide_reward_coupon_link"));
+			params1.put("url", configService.get(ConfigKeyEnum.specialGuideRewardCouponLink.getKey()));
 		else
-			params1.put("url", configService.get("vip_link"));
+			params1.put("url", userVipConfigService.getValueByKey("vip_link"));
 
 		rewardCoupon.setMaxMoney(goodsDetail.getMoneyInfo().getMaxMoney());
 		if (VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion())) {
 			rewardCoupon.setDesc("杩�");
-			params1.put("url", configService.get("vip_link"));
+			params1.put("url", userVipConfigService.getValueByKey("vip_link"));
 			rewardCoupon.getJumpDetail().setNeedLogin(true);
 		} else
 			rewardCoupon.setDesc("鐢ㄨ繑鍒╁鍔卞埜鏈�楂樿繑");
 		rewardCoupon.setParams(params1.toString());
 		otherInfo.setRewardCoupon(rewardCoupon);
+		if ("ios".equalsIgnoreCase(acceptData.getPlatform())
+				&& configService.iosOnLining(Integer.parseInt(acceptData.getVersion())))
+			otherInfo.setRewardCoupon(null);
 		goodsDetail.setOtherInfo(otherInfo);
 
 		CouponInfoVO couponInfo = goodsDetail.getCouponInfo();
@@ -877,7 +947,7 @@
 		}
 
 		// 鍥炬枃璇︽儏
-		extraVO.setDetailUrl("http://apph5.yeshitv.com/apppage/goods_img_pdd.html?id=" + id);
+		extraVO.setDetailUrl("http://apph5.banliapp.com/apppage/goods_img_pdd.html?id=" + id);
 
 		String salesTip = pddGoods.getSalesTip();
 		if (!StringUtil.isNullOrEmpty(salesTip)) {
@@ -937,7 +1007,7 @@
 		extraVO.setShareValid(true);
 
 		if (StringUtil.isNullOrEmpty(helpLink)) {
-			helpLink = configService.get("no_rebate_help_link");
+			helpLink = configService.get(ConfigKeyEnum.noRebateHelpLink.getKey());
 		}
 
 		ShareVO shareInfoVO = new ShareVO();
@@ -959,6 +1029,12 @@
 				// 娣诲姞娴忚璁板綍
 				try {
 					scanHistoryV2Service.addPDDScanHistory(uid, acceptData.getDevice(), pddGoods);
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+
+				try {
+					goodsEvaluateService.updatePDDGoods(pddGoods);
 				} catch (Exception e) {
 					e.printStackTrace();
 				}
@@ -1174,6 +1250,10 @@
 			}
 			jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_FANLI + "",
 					uid + "");
+			if (jumpLink == null) {
+				jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, null, JDApiUtil.POSITION_FANLI + "",
+						uid + "");
+			}
 		} else {
 			jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_FANLI + "",
 					uid + "");

--
Gitblit v1.8.0