From 5c4ecf9e8b47efbbf5d21c9e109be0a60cb7e26d Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期一, 08 四月 2019 15:15:09 +0800
Subject: [PATCH] 冲突解决

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java |  255 ++++++++++++++++++++++++++++----------------------
 1 files changed, 144 insertions(+), 111 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java
index 5f52b1f..aea9784 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java
@@ -28,11 +28,11 @@
 import com.google.gson.JsonPrimitive;
 import com.google.gson.JsonSerializationContext;
 import com.google.gson.JsonSerializer;
-import com.yeshi.fanli.dao.mybatis.HongBaoManageMapper;
 import com.yeshi.fanli.entity.accept.AcceptData;
 import com.yeshi.fanli.entity.bus.homemodule.Special;
 import com.yeshi.fanli.entity.bus.homemodule.SuperSpecial;
 import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture;
+import com.yeshi.fanli.entity.bus.lable.QualityFactory;
 import com.yeshi.fanli.entity.bus.recommend.Honest;
 import com.yeshi.fanli.entity.bus.recommend.RecommendBanner;
 import com.yeshi.fanli.entity.bus.recommend.RecommendBannerV2;
@@ -74,7 +74,6 @@
 import com.yeshi.fanli.service.inter.config.SystemConfigService;
 import com.yeshi.fanli.service.inter.goods.CollectionGoodsV2Service;
 import com.yeshi.fanli.service.inter.goods.CommonGoodsService;
-import com.yeshi.fanli.service.inter.goods.RecommendBannerService;
 import com.yeshi.fanli.service.inter.goods.ScanHistoryV2Service;
 import com.yeshi.fanli.service.inter.goods.SuperRecommendBannerService;
 import com.yeshi.fanli.service.inter.goods.SuperRecommendBannerV2Service;
@@ -85,6 +84,7 @@
 import com.yeshi.fanli.service.inter.homemodule.SuperSpecialService;
 import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService;
 import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
+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.OrderService;
@@ -100,11 +100,11 @@
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.RedisManager;
 import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.TaoBaoConstant;
 import com.yeshi.fanli.util.ThreadUtil;
 import com.yeshi.fanli.util.TimeUtil;
 import com.yeshi.fanli.util.factory.MonitorFactory;
 import com.yeshi.fanli.util.taobao.TaoBaoCouponUtil;
-import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
 import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
 import com.yeshi.fanli.vo.user.UserSettingsVO;
@@ -213,6 +213,10 @@
 
 	@Resource
 	private UserInfoExtraService userInfoExtraService;
+	
+	@Resource
+	private QualityFlashSaleService qualityFlashSaleService;
+	
 
 	@RequestMapping(value = "getHonestList")
 	public void getHonestList(AcceptData acceptData, PrintWriter out) {
@@ -564,8 +568,8 @@
 		// 鑾峰彇娣樺鍙傛暟
 		ClientTBPid clientTBPid = null;
 		if (simpleGoods.getMaterialLibType() != null && simpleGoods.getMaterialLibType() == 1) {
-			String pid = Constant.TAOBAO_SPECIAL_PID_DEFAULT;
-			clientTBPid = new ClientTBPid(Constant.TAOBAO_AUTH_APPKEY, Constant.TAOBAO_AUTH_APPSECRET,
+			String pid = TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT;
+			clientTBPid = new ClientTBPid(TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET,
 					pid.split("_")[2], pid.split("_")[3]);
 		} else {
 			if (acceptData.getPlatform().equalsIgnoreCase("android")) {
@@ -1572,17 +1576,71 @@
 	@RequestMapping(value = "getRecommendIndex")
 	public void getRecommendIndex(AcceptData acceptData, Long uid, PrintWriter out) {
 
-		BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
-				acceptData.getPackages());
-		if (system == null) {
-			out.print(JsonUtil.loadFalseResult(1, "绯荤粺涓嶅瓨鍦�"));
-			return;
-		}
+		try {
+			BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
+					acceptData.getPackages());
+			if (system == null) {
+				out.print(JsonUtil.loadFalseResult(1, "绯荤粺涓嶅瓨鍦�"));
+				return;
+			}
 
-		// 杞挱鍥�
+			JSONObject root = specialService.getSpecialListCache("native_index", system.getId());
+
+			// 椤堕儴杞挱鍥�
+			List<SwiperPicture> topPicList = getSwiperByCard("weex_index");
+			if (topPicList == null) {
+				topPicList = new ArrayList<SwiperPicture>();
+			}
+			root.put("topPicList", JsonUtil.getApiCommonGson().toJson(topPicList));
+			
+			// 閭�璇锋湁濂栧浘鐗�
+			List<SwiperPicture> invitePicList = null;
+//			if ("ios".equalsIgnoreCase(acceptData.getPlatform())
+//					&& configService.iosOnLining(Integer.parseInt(acceptData.getVersion()))) {
+//				// 濡傛灉IOS褰撳墠鐗堟湰澶勪簬瀹℃牳鐘舵�佸氨涓嶈繑鍥�
+//			} else {
+//				if (uid == null) {
+//					invitePicList = getSwiperByCard("invitePrizes");	
+//				} else {
+//					try {
+//						UserSettingsVO vo = userCustomSettingsService.getMySettings(uid);
+//						if (vo == null || vo.getNoInvitationBonus() == null || vo.getNoInvitationBonus() == 0) {
+//							invitePicList = getSwiperByCard("invitePrizes");	// 娌℃湁鍏抽棴閭�璇�
+//						}
+//					} catch (UserCustomSettingsException e) {
+//						e.printStackTrace();
+//					}
+//				}
+//			}
+			
+			invitePicList = getSwiperByCard("invitePrizes");
+			if (invitePicList == null) {
+				invitePicList = new ArrayList<SwiperPicture>();
+			}
+			
+			root.put("invitePicList", JsonUtil.getApiCommonGson().toJson(invitePicList));
+			
+			// 搴曢儴缃戦〉閾炬帴
+			String platform = acceptData.getPlatform();
+			if ("ios".equalsIgnoreCase(platform)) {
+				root.put("htmlLink", configService.get("index_html_link_ios"));
+			} 
+			
+			out.print(JsonUtil.loadTrueResult(root));
+		} catch (Exception e) {
+			out.print(JsonUtil.loadFalseResult(1, "鑾峰彇鏁版嵁澶辫触"));
+			try {
+				LogHelper.errorDetailInfo(e);
+			} catch (Exception e1) {
+				e1.printStackTrace();
+			}	
+		}
+	}
+	
+	public List<SwiperPicture> getSwiperByCard(String card){
 		List<SwiperPicture> swiperList = null;
 		try {
-			swiperList = swiperPictureService.getByBannerCard("weex_index");
+			swiperList = swiperPictureService.getByBannerCard(card);
 		} catch (Exception e) {
 			try {
 				LogHelper.errorDetailInfo(e);
@@ -1591,112 +1649,87 @@
 			}
 			e.printStackTrace();
 		}
-
-		if (swiperList == null) {
-			swiperList = new ArrayList<SwiperPicture>();
+		return swiperList;
+	}
+	
+	
+	/**
+	 * 闄愭椂绉掓潃 1.5.3
+	 * 
+	 * @param acceptData
+	 * @param out
+	 */
+	@RequestMapping(value = "getSpikeGoods")
+	public void getSpikeGoods(AcceptData acceptData, PrintWriter out) {
+		
+		// 涓嬩竴娆″�掕鏃剁殑鏃堕棿
+		int type = qualityFlashSaleService.getNowType() + 1;
+		int hour = 0;
+		switch(type) {
+			case 1:
+				hour = 0;
+				break;
+			case 2:
+				hour = 9;
+				break;
+			case 3:
+				hour = 12;
+				break;
+			case 4:
+				hour = 14;
+				break;
+			case 5:
+				hour = 16;
+				break;
+			case 6:
+				hour = 20;
+				break;
+			case 7:
+				hour = 22;
+				break;
+			default:
+				break;
 		}
 		
+		Calendar nextTime = Calendar.getInstance();
+		nextTime.set(Calendar.HOUR_OF_DAY, hour);
+		nextTime.set(Calendar.MINUTE, 0);
+		nextTime.set(Calendar.SECOND, 0);
+		nextTime.set(Calendar.MILLISECOND, 0);
 		
-		Special miaoShaSpecial = null;
-		// 涓よ鍦嗗舰涓撻
-		List<Special> arcList = new ArrayList<Special>();
-		
-		// 娲诲姩鍒楄〃
-		List<Special> activityList = new ArrayList<Special>();
-		
-		// 鏂瑰潡閮ㄥ垎
-		List<Special> blockList = new ArrayList<Special>();
-		
-		
-		try {
-			List<Special> listSpecial = specialService.listBySystemAndCard("index", system.getId());
-
-			if (listSpecial != null && listSpecial.size() > 0) {
-				for (Special special : listSpecial) {
-
-					if ("闄愭椂绉掓潃".equals(special.getName())) {
-						miaoShaSpecial = special;
-						continue;
-					}
-
-					if (Special.SHOWTYPE_ARC.equals(special.getShowType())) {
-						// 涓よ鍦嗗舰涓撻
-						arcList.add(special);
-					} else if (Special.SHOWTYPE_BLOCK.equals(special.getShowType())) {
-						// 鏂瑰潡閮ㄥ垎
-						blockList.add(special);
-					} else if (Special.SHOWTYPE_ACTIVITY.equals(special.getShowType())) {
-						// 鍔ㄦ��
-						activityList.add(special);
-					}
-				}
-			}
-
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-
-
-		/* 闄愭椂绉掓潃 - 鏃堕棿澶勭悊 */
-		JSONObject msJSON = JSONObject.fromObject(new Gson().toJson(miaoShaSpecial));
-		if (miaoShaSpecial != null) {
-			// 鑾峰彇绉掓潃
-			int[] hours = new int[] { 0, 9, 12, 14, 16, 20, 22 };
-			int hour = -1;
-			Calendar calendar = Calendar.getInstance();
-			calendar.setTimeInMillis(Long.parseLong(acceptData.getTime()));
-			int nowHour = calendar.get(Calendar.HOUR_OF_DAY);
-			for (int i = 0; i < hours.length - 1; i++) {
-				if (nowHour >= hours[i] && nowHour < hours[i + 1]) {
-					hour = hours[i + 1];
-					break;
-				}
-			}
-
-			if (hour < 0)
-				hour = 24;
-			long time = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(calendar.getTimeInMillis(), "yyyy-MM-dd"),
-					"yyyy-MM-dd") + 1000 * 60 * 60 * hour;
-			msJSON.put("time", time);
-		}
-
 		JSONObject root = new JSONObject();
-		root.put("swiperList", JsonUtil.getApiCommonGson().toJson(swiperList));
-		root.put("arcList", JsonUtil.getApiCommonGson().toJson(arcList));
-		root.put("activityList", JsonUtil.getApiCommonGson().toJson(activityList));
-		root.put("blockList", JsonUtil.getApiCommonGson().toJson(blockList));
-		root.put("miaoSha", msJSON);
-
-		// 澧炲姞閭�璇锋湁濂�
-		JSONObject invite = new JSONObject();
-		JumpDetailV2 jumpDetail = jumpDetailV2Service.getByTypeCache("invite");
-		invite.put("jumpDetail", jumpDetail);
-		invite.put("picture", configService.get("home_invite_banner"));
-
-		if ("ios".equalsIgnoreCase(acceptData.getPlatform())
-				&& configService.iosOnLining(Integer.parseInt(acceptData.getVersion()))) {
-			// 濡傛灉IOS褰撳墠鐗堟湰澶勪簬瀹℃牳鐘舵�佸氨涓嶈繑鍥�
+		root.put("time", nextTime.getTimeInMillis());
+		
+		
+		JSONArray array = new JSONArray();
+		String cachekey = "spikeGoodsList" ;
+		String cacheValue = redisManager.getCommonString(cachekey);
+		if (!StringUtil.isNullOrEmpty(cacheValue)) {
+			array = JSONArray.fromObject(cacheValue);
 		} else {
-
-			// 鎸夌収鐗堟湰杩斿洖锛岀増鏈鐩栬冻澶熷悗鍙垹闄�
-			if (("android".equalsIgnoreCase(acceptData.getPlatform()) && Integer.parseInt(acceptData.getVersion()) > 30)
-					|| ("ios".equalsIgnoreCase(acceptData.getPlatform())
-							&& Integer.parseInt(acceptData.getVersion()) > 37)) {
-				if (uid != null) {
-					try {
-						UserSettingsVO vo = userCustomSettingsService.getMySettings(uid);
-						if (vo == null || vo.getNoInvitationBonus() == null || vo.getNoInvitationBonus() == 0)// 娌℃湁鍏抽棴閭�璇�
-							root.put("invite", invite);
-					} catch (UserCustomSettingsException e) {
-						e.printStackTrace();
-					}
-				} else
-					root.put("invite", invite);
+			BigDecimal proportion = manageService.getFanLiRate();
+			Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
+					.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
+			
+			// 缂撳瓨涓笉瀛樺湪
+			List<QualityFactory> listGoods = qualityGoodsService.listFlashSaleRandGoods();
+			if (listGoods == null) {
+				listGoods = new ArrayList<QualityFactory>();
 			}
+			/* 閬嶅巻鍒楄〃鏁版嵁 */
+			for (QualityFactory qualityFactory : listGoods) {
+					
+				TaoBaoGoodsBrief taoBaoGoodsBrief = qualityFactory.getTaoBaoGoodsBrief();
+				if (taoBaoGoodsBrief == null) {
+					continue;
+				}
+				array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
+			}
+			// 缂撳瓨鍗婁釜灏忔椂
+			redisManager.cacheCommonString(cachekey, array.toString(), 60 * 30);
 		}
-
+		root.put("listgoods", array);
 		out.print(JsonUtil.loadTrueResult(root));
-
 	}
 	
 	

--
Gitblit v1.8.0