From 626d711cb15896055c13fe344eb7fcc824589715 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期四, 19 十二月 2019 15:38:42 +0800
Subject: [PATCH] 帮助中心

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java |  192 ++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 168 insertions(+), 24 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java
index c6c55b1..9f37b51 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RecommendControllerV2.java
@@ -16,6 +16,8 @@
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
+import com.yeshi.fanli.dto.ConfigParamsDTO;
+import com.yeshi.fanli.dto.dataoke.DingDongTime;
 import com.yeshi.fanli.dto.jd.JDSearchResult;
 import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
 import com.yeshi.fanli.dto.pdd.PDDGoodsResult;
@@ -31,16 +33,17 @@
 import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
 import com.yeshi.fanli.service.inter.config.ConfigService;
+import com.yeshi.fanli.service.inter.count.HongBaoV2CountService;
 import com.yeshi.fanli.service.inter.goods.recommend.HomeRecommendGoodsService;
 import com.yeshi.fanli.service.inter.goods.recommend.RecommendGoodsDeleteHistoryService;
 import com.yeshi.fanli.service.inter.homemodule.DeviceSexService;
 import com.yeshi.fanli.service.inter.homemodule.SpecialService;
 import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService;
-import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
 import com.yeshi.fanli.service.inter.jd.JDGoodsService;
 import com.yeshi.fanli.service.inter.lable.QualityFlashSaleService;
 import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
 import com.yeshi.fanli.service.inter.monitor.MonitorService;
+import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
 import com.yeshi.fanli.service.inter.pdd.PDDGoodsService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
 import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService;
@@ -60,6 +63,7 @@
 import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
 import com.yeshi.fanli.vo.goods.GoodsDetailVO;
 import com.yeshi.fanli.vo.goods.OtherInfo;
+import com.yeshi.fanli.vo.goods.SpikeTimeVO;
 import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
 import com.yeshi.fanli.vo.search.SearchKeyTOPVO;
 import com.yeshi.fanli.vo.search.SearchKeyVO;
@@ -126,6 +130,9 @@
 	@Resource
 	private DaTaoKeGoodsService daTaoKeGoodsService;
 
+	@Resource
+	private HongBaoV2CountService hongBaoV2CountService;
+
 	/**
 	 * 鏂扮増鎺ㄨ崘涓撻绠$悊(1.5.3)
 	 * 
@@ -142,7 +149,9 @@
 			JSONObject root = specialService.listCacheSpecialToIndex(acceptData, deviceSex);
 
 			// 2銆侀《閮ㄨ疆鎾浘
-			List<SwiperPicture> oldtopPicList = swiperPictureService.getByBannerCard("index_top");
+			List<SwiperPicture> oldtopPicList = swiperPictureService.getByBannerCardAndVersion("index_top",acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()));
+			
+			
 			List<SwiperPicture> topPicList = new ArrayList<>();
 			if (oldtopPicList != null && oldtopPicList.size() > 0)
 				topPicList.addAll(oldtopPicList);
@@ -155,7 +164,7 @@
 					&& configService.iosOnLining(Integer.parseInt(acceptData.getVersion()))) {
 				// 濡傛灉IOS褰撳墠鐗堟湰澶勪簬瀹℃牳鐘舵�佸氨涓嶈繑鍥�
 			} else {
-				invitePicList = swiperPictureService.getByBannerCard("index_invite");
+				invitePicList = swiperPictureService.getByBannerCardAndVersion("index_invite",acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()));
 			}
 
 			if (invitePicList == null) {
@@ -200,24 +209,28 @@
 	}
 
 	private JSONObject getSpikeGoodsContent(AcceptData acceptData) {
-		List<String> dtoList = DaTaoKeUtil.getDingDongQiangTime();
 		long nowTime = System.currentTimeMillis();
+		Calendar calendar = Calendar.getInstance();
+		calendar.setTimeInMillis(nowTime);
+		List<DingDongTime> dtoList = DaTaoKeUtil.getDingDongQiangTime(calendar);
 		int dateNum = Integer.parseInt(TimeUtil.getGernalTime(nowTime, "ddHH"));
 		String timeStr = null;
 		int nextPos = 0;
 		for (int i = 0; i < dtoList.size() - 1; i++) {
-			if (dateNum >= Integer.parseInt(dtoList.get(i)) && dateNum < Integer.parseInt(dtoList.get(i + 1))) {
-				timeStr = dtoList.get(i);
+			if (dateNum >= Integer.parseInt(dtoList.get(i).getTime())
+					&& dateNum < Integer.parseInt(dtoList.get(i + 1).getTime())) {
+				timeStr = dtoList.get(i).getTime();
 				nextPos = i + 1;
 				break;
 			}
 		}
+
 		if (timeStr == null)
-			timeStr = dtoList.get(dtoList.size() - 1);
+			timeStr = dtoList.get(dtoList.size() - 1).getTime();
 
 		long nextTime = nowTime + 1000 * 60 * 60L;// 榛樿涓�1灏忔椂
 		if (nextPos < dtoList.size()) {
-			nextTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(nowTime, "yyyyMM") + dtoList.get(nextPos),
+			nextTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(nowTime, "yyyyMM") + dtoList.get(nextPos).getTime(),
 					"yyyyMMddHH");
 		}
 
@@ -238,7 +251,13 @@
 			}
 		}
 
-		JumpDetailV2 jumpDetail = jumpDetailV2Service.getByTypeCache("web");
+		JumpDetailV2 jumpDetail = null;
+		if (VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(), acceptData.getVersion())) {
+			jumpDetail = jumpDetailV2Service.getByTypeCache("spike_goods_list");
+		} else {
+			jumpDetail = jumpDetailV2Service.getByTypeCache("web");
+		}
+
 		if (array == null) {
 			array = new JSONArray();
 
@@ -264,8 +283,8 @@
 				if (taoBaoGoodsBrief == null) {
 					continue;
 				}
-				GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, null, fanLiRate,
-						shareRate);
+				GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief,
+						new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate()));
 
 				JSONObject params = new JSONObject();
 				params.put("url", configService.get("spike_goods_link") + "?id=" + taoBaoGoodsBrief.getAuctionId());
@@ -323,6 +342,86 @@
 		root.put("listgoods", array);
 
 		return root;
+	}
+
+	/**
+	 * 闄愭椂绉掓潃鍒楄〃
+	 * 
+	 * @param acceptData
+	 * @param page
+	 * @param auctionId
+	 * @param time
+	 * @param out
+	 */
+	@RequestMapping("getSpikTime")
+	public void getSpikTime(AcceptData acceptData, PrintWriter out) {
+		List<DingDongTime> timeList = DaTaoKeUtil.getDingDongQiangTime(Calendar.getInstance());
+		List<SpikeTimeVO> list = new ArrayList<SpikeTimeVO>();
+		for (int i = 0; i < timeList.size(); i++) {
+			SpikeTimeVO spikeTime1 = new SpikeTimeVO();
+			spikeTime1.setTime(
+					 timeList.get(i).getTime().subSequence(2, 4)+":00");
+			if (timeList.get(i).getState() <= 0)
+				spikeTime1.setState("杩涜涓�");
+			else
+				spikeTime1.setState("鍗冲皢寮�濮�");
+			if (timeList.get(i).getState() == 0)
+				spikeTime1.setChecked(true);
+			spikeTime1.setRequestTime(timeList.get(i).getTime());
+			list.add(spikeTime1);
+		}
+
+		JSONObject data = new JSONObject();
+		data.put("count", list.size());
+		data.put("list", list);
+		out.print(JsonUtil.loadTrueResult(data));
+	}
+
+	/**
+	 * 闄愭椂绉掓潃鍒楄〃
+	 * 
+	 * @param acceptData
+	 * @param page
+	 * @param auctionId
+	 * @param time
+	 * @param out
+	 */
+	@RequestMapping("getSpikeGoodsList")
+	public void getSpikeGoodsList(AcceptData acceptData, Integer page, Long goodsId, String qtime, PrintWriter out) {
+		List<DaTaoKeDetailV2> detailList0 = daTaoKeGoodsDetailV2Service.getDingDongQiangData(qtime);
+		if (detailList0 == null)
+			detailList0 = new ArrayList<>();
+
+		List<DaTaoKeDetailV2> detailList = new ArrayList<>();
+		detailList.addAll(detailList0);
+		JSONArray array = new JSONArray();
+		if (page == 1 && goodsId != null && detailList != null) {
+			for (int i = 0; i < detailList.size(); i++) {
+				if (detailList.get(i).getGoodsId().longValue() == goodsId) {
+					DaTaoKeDetailV2 goods = detailList.get(i);
+					detailList.remove(i);
+					detailList.add(0, goods);
+					break;
+				}
+			}
+		}
+
+		Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
+				.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
+		if (detailList != null) {
+			BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
+			BigDecimal shareRate = hongBaoManageService.getShareRate();
+			ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
+
+			for (DaTaoKeDetailV2 detail : detailList) {
+				array.add(gson.toJson(GoodsDetailVOFactory.convertTaoBao(TaoBaoUtil.convert(detail), paramsDTO)));
+			}
+		}
+
+		JSONObject data = new JSONObject();
+		data.put("count", detailList.size());
+		data.put("list", array);
+		out.print(JsonUtil.loadTrueResult(data));
 	}
 
 	/**
@@ -458,8 +557,10 @@
 
 			BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
 			BigDecimal shareRate = hongBaoManageService.getShareRate();
+			ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
+
 			for (TaoBaoGoodsBrief goods : goodsList) {
-				GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods, null, fanLiRate, shareRate);
+				GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO);
 				if (page < 3)
 					detailVO.setRecommend(true);
 
@@ -472,12 +573,12 @@
 
 			if (page == 1) {
 				List<TLJBuyGoods> list = homeRecommendGoodsService.getZiGouLiJianHotGoods(acceptData.getDevice());
-				if (list != null && list.size() > 0)
+				if (list != null && list.size() > 0) {
+					BigDecimal rateBuy = TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE;
+					ConfigParamsDTO paramsBuy = new ConfigParamsDTO(rateBuy, rateBuy, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
 					for (int i = list.size() - 1; i >= 0; i--) {
 						TLJBuyGoods goods = list.get(i);
-						BigDecimal rateBuy = TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE;
-						GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods.getGoods(), null, rateBuy,
-								rateBuy);
+						GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods.getGoods(), paramsBuy);
 
 						String hongBao = TaoBaoUtil.getGoodsHongBaoInfo(goods.getGoods(),
 								TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE);
@@ -497,6 +598,7 @@
 						detailVO.setRecommend(true);
 						array.add(0, gson.toJson(detailVO));
 					}
+				}
 			}
 
 			JSONObject data = new JSONObject();
@@ -531,15 +633,14 @@
 					if (gList != null) {
 						BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
 						BigDecimal shareRate = hongBaoManageService.getShareRate();
-
+						ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
 						for (TaoBaoGoodsBrief goods : gList) {
 							if (!StringUtil.isNullOrEmpty(goods.getCouponInfo()) && goods.getCouponAmount() != null
 									&& goods.getCouponAmount().compareTo(new BigDecimal("5")) >= 0
 									&& goods.getBiz30day() > 1000
 									&& !StringUtil.isNullOrEmpty(goods.getPictUrlWhite())) {
 
-								GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods, null, fanLiRate,
-										shareRate);
+								GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO);
 								detailVO.setRecommend(true);
 								goodsList.add(detailVO);
 							}
@@ -605,10 +706,12 @@
 			if (goodsList != null && goodsList.size() > 0) {
 				BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
 				BigDecimal shareRate = hongBaoManageService.getShareRate();
+				ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
+
 				Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
 						.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
 				for (JDGoods goods : goodsList) {
-					GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertJDGoods(goods, fanLiRate, shareRate);
+					GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertJDGoods(goods, paramsDTO);
 					array.add(gson.toJson(goodsDetailVO));
 				}
 			}
@@ -637,9 +740,10 @@
 			if (goodsList != null && goodsList.size() > 0) {
 				BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
 				BigDecimal shareRate = hongBaoManageService.getShareRate();
+				ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
 
 				for (PDDGoodsDetail goods : goodsList) {
-					GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(goods, fanLiRate, shareRate);
+					GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(goods, paramsDTO);
 					array.add(gson.toJson(goodsDetailVO));
 				}
 			}
@@ -671,6 +775,7 @@
 				count = arrayKeys.size();
 				BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
 				BigDecimal shareRate = hongBaoManageService.getShareRate();
+				ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,hongBaoManageService.getVIPFanLiRate());
 
 				int j = 1;
 				for (int i = (page - 1) * 3; i < arrayKeys.size(); i++) {
@@ -683,8 +788,8 @@
 					List<DaTaoKeDetailV2> listTaoKe = daTaoKeGoodsService.getSearchDiscoveryGoods(words);
 					if (listTaoKe != null && listTaoKe.size() > 0) {
 						for (DaTaoKeDetailV2 daTaoKeDetailV2 : listTaoKe) {
-							listGoods.add(GoodsDetailVOFactory.convertTaoBao(TaoBaoUtil.convert(daTaoKeDetailV2), null,
-									fanLiRate, shareRate));
+							listGoods.add(
+									GoodsDetailVOFactory.convertTaoBao(TaoBaoUtil.convert(daTaoKeDetailV2), paramsDTO));
 							if (listGoods.size() >= 3)
 								break;
 						}
@@ -738,7 +843,7 @@
 					special.setTimeTask(true);
 				else
 					special.setTimeTask(false);
-				
+
 				if (special.isTimeTask()) {
 					if (time < special.getStartTime().getTime() || time > special.getEndTime().getTime()) {
 						list.remove(i--);
@@ -761,4 +866,43 @@
 			out.print(JsonUtil.loadTrueResult(data));
 	}
 
+	/**
+	 * 鑾峰彇涓撻娓犻亾娲诲姩
+	 * 
+	 * @param acceptData
+	 * @param uid
+	 * @param callback
+	 * @param out
+	 */
+	@RequestMapping(value = "getGuide")
+	public void getGuide(AcceptData acceptData, Long uid, PrintWriter out) {
+		String tips = null;
+		if (uid == null || uid <= 0) {
+			tips = configService.get("tip_guide_new_user");
+		} else {
+			long rebateOrder = hongBaoV2CountService.countRebateOrder(uid);
+			long shareOrInviteOrder = hongBaoV2CountService.countShareOrInviteOrder(uid);
+			if (rebateOrder + shareOrInviteOrder >= 3) {
+				// 鐔熷鐗�
+			} else if (rebateOrder <= 0 && shareOrInviteOrder <= 0) {
+				// 鏂颁汉鐗�
+				tips = configService.get("tip_guide_new_user");
+			} else if (rebateOrder > 0 && shareOrInviteOrder <= 0) {
+				// 鐪侀挶鐗�
+				tips = configService.get("tip_guide_save_money");
+			} else {
+				// 璧氶挶鐗�
+				tips = configService.get("tip_guide_share_invite");
+			}
+		}
+
+		if (StringUtil.isNullOrEmpty(tips)) {
+			out.print(JsonUtil.loadFalseResult("鏆傛棤鎻愮ず"));
+			return;
+		}
+
+		JSONObject data = JSONObject.fromObject(tips);
+		out.print(JsonUtil.loadTrueResult(data));
+	}
+
 }

--
Gitblit v1.8.0