From c9cbdfa41d645d42eeaa7e06d550d4ef8ac328e7 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期五, 03 一月 2020 12:15:08 +0800
Subject: [PATCH] redis关键词

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java |  170 ++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 122 insertions(+), 48 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java
index ce48b9e..6f11aba 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java
@@ -1,6 +1,8 @@
 package com.yeshi.fanli.controller.client.v2;
 
 import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.List;
 
 import javax.annotation.Resource;
 
@@ -12,26 +14,36 @@
 
 import com.yeshi.fanli.entity.accept.AcceptData;
 import com.yeshi.fanli.entity.bus.homemodule.FloatAD;
+import com.yeshi.fanli.entity.bus.homemodule.FloatAD.FloatADTypeEnum;
 import com.yeshi.fanli.entity.bus.msg.MsgDeviceReadState;
 import com.yeshi.fanli.entity.bus.user.UserActiveLog;
+import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
+import com.yeshi.fanli.entity.common.JumpDetailV2;
 import com.yeshi.fanli.entity.config.AppHomeFloatImg;
 import com.yeshi.fanli.entity.taobao.ClientTBPid;
+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.homemodule.FloatADService;
 import com.yeshi.fanli.service.inter.msg.MsgDeviceReadStateService;
+import com.yeshi.fanli.service.inter.redpack.UserTaoLiJinNewbiesService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
 import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinOriginService;
 import com.yeshi.fanli.service.inter.user.TBPidService;
 import com.yeshi.fanli.service.inter.user.UserActiveLogService;
 import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
+import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
 import com.yeshi.fanli.util.AESUtil;
 import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.RedisKeyEnum;
+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.VersionUtil;
 import com.yeshi.fanli.util.jd.JDUtil;
+import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
+import com.yeshi.fanli.vo.homemodule.FloatImgDetailVO;
 
 import net.sf.json.JSONObject;
 
@@ -72,6 +84,15 @@
 	@Resource
 	private UserActiveLogService userActiveLogService;
 
+	@Resource
+	private UserTaoLiJinNewbiesService userTaoLiJinNewbiesService;
+
+	@Resource
+	private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService;
+
+	@Resource
+	private RedisManager redisManager;
+
 	/**
 	 * s 棣栭〉閰嶇疆淇℃伅
 	 * 
@@ -101,7 +122,7 @@
 		// 鏃犳柊浜哄脊妗� 鍒欐煡璇㈤粯璁�
 		FloatAD floatAD = floatADService.getEffectiveFloatAD(FloatAD.POSITION_INDEX, 0);
 
-		if (floatAD != null) {
+		if (floatAD != null && floatAD.getTypeEnum() != FloatADTypeEnum.newUserRedPack) {
 			JSONObject detail = new JSONObject();
 			detail.put("img", floatAD.getPicture());
 			detail.put("jumpDetail", floatAD.getJumpDetail());
@@ -136,57 +157,67 @@
 		out.print(JsonUtil.loadTrueResult(data));
 	}
 
-	
 	/**
 	 * s 棣栭〉閰嶇疆淇℃伅
 	 * 
 	 * @param acceptData
 	 * @param out
 	 */
-	@RequestMapping(value = "getHomeConfigNew", method = RequestMethod.POST)
-	public void getHomeConfigNew(AcceptData acceptData, Long uid, PrintWriter out) {
+	@RequestMapping(value = "getHomeConfigNew")
+	public void getHomeConfigNew(AcceptData acceptData, Long uid, String callback, PrintWriter out) {
 		if (uid != null && uid == 0L)
 			uid = null;
 
-		AppHomeFloatImg appHomeFloatImg = configService.getAppHomeFloatImg();
-		if ("ios".equalsIgnoreCase(acceptData.getPlatform()) && !Constant.IS_TEST) {
-			appHomeFloatImg = null;
+		// 娲诲姩寮规
+		List<FloatAD> listAD = new ArrayList<FloatAD>();
+		List<FloatImgDetailVO> listVO = new ArrayList<FloatImgDetailVO>();
+
+		List<FloatAD> list = floatADService.getValidByPosition(FloatAD.POSITION_INDEX);
+		if (list != null && !list.isEmpty())
+			listAD.addAll(list);
+
+		for (int i = 0; i < listAD.size(); i++) {
+			FloatAD floatAD = listAD.get(i);
+			FloatADTypeEnum typeEnum = floatAD.getTypeEnum();
+			if (typeEnum == FloatADTypeEnum.newUserRedPack
+					&& (!VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion())
+							|| !userTaoLiJinNewbiesService.verifyHasReward(uid, acceptData.getDevice()))) {
+
+				listAD.remove(i);
+				i--;
+				continue;
+			}
+
+			JumpDetailV2 jumpDetail = floatAD.getJumpDetail();
+			if (jumpDetail != null) {
+				jumpDetail = jumpDetailV2Service.selectByPrimaryKey(jumpDetail.getId());
+				if (jumpDetail != null) {
+					jumpDetail.setNeedLogin(floatAD.isJumpNeedLogin());
+				}
+			}
+			FloatImgDetailVO floatImgVO = new FloatImgDetailVO();
+			floatImgVO.setId(floatAD.getId().toString());
+			floatImgVO.setImg(floatAD.getPicture());
+			floatImgVO.setParams(floatAD.getParams());
+			floatImgVO.setJumpDetail(jumpDetail);
+			floatImgVO.setShowTime(floatAD.getShowMode());
+			floatImgVO.setAccountLogin(floatAD.isJumpNeedLogin());
+			if (floatAD.getPlaySound() != null)
+				floatImgVO.setPlaySound(floatAD.getPlaySound());// 榛樿閮芥挱鏀鹃煶鏁�
+			else
+				floatImgVO.setPlaySound(false);
+			listVO.add(floatImgVO);
 		}
 
 		JSONObject data = new JSONObject();
-		if (appHomeFloatImg != null) {
-			data.put("floatImg", appHomeFloatImg);
-		}
-
-		String notifyImg = configService.getAppHomeFloatNotifyImg();
-		if (!StringUtil.isNullOrEmpty(notifyImg)) {
-			data.put("floatNotifyImg", notifyImg);
-		}
-
-		// 鏃犳柊浜哄脊妗� 鍒欐煡璇㈤粯璁�
-		FloatAD floatAD = floatADService.getEffectiveFloatAD(FloatAD.POSITION_INDEX, 0);
-
-		if (floatAD != null) {
-			JSONObject detail = new JSONObject();
-			detail.put("img", floatAD.getPicture());
-			detail.put("jumpDetail", floatAD.getJumpDetail());
-			detail.put("params", floatAD.getParams());
-			detail.put("showTime", floatAD.getShowMode());
-			detail.put("accountLogin", floatAD.isJumpNeedLogin());
-			data.put("floatImgDetail", detail);
-		}
+		data.put("listAD", JsonUtil.getApiCommonGson().toJson(listVO));
+		data.put("protocol", configService.get("user_protocol_home_data"));
 
 		// 棰嗗埜甯姪閾炬帴,1.5.2鍚庣敓鏁�
 		String couponHelp = configService.get("taobao_coupon_help");
 		data.put("couponHelpUrl", couponHelp);
 
-		// 搴曢儴缃戦〉閾炬帴
-		String platform = acceptData.getPlatform();
-		if ("android".equalsIgnoreCase(platform)) {
-			data.put("htmlLink", configService.get("index_html_link_android"));
-		}
-
-		// 鍒ゆ柇鏂拌�佺敤鎴�
+		// 鍒ゆ柇鏂拌�佺敤鎴� 鏄剧ず鐑棬鍔熻兘鎸夐挳婊戝姩
 		UserActiveLog da = null;
 		if (uid != null)
 			da = userActiveLogService.getFirstActiveInfo(uid);
@@ -196,12 +227,17 @@
 		} else {// 鑰佷汉
 			data.put("userTimeType", 1);
 		}
+
+		// 鏄惁鏄剧ず鐑棬鍔熻兘鎸夐挳
+		String platform = acceptData.getPlatform();
 		data.put("hotFuctionLink",
 				configService.getByVersion("hot_function_url", platform, Integer.parseInt(acceptData.getVersion())));
-		out.print(JsonUtil.loadTrueResult(data));
+		if (StringUtil.isNullOrEmpty(callback))
+			out.print(JsonUtil.loadTrueResult(data));
+		else
+			out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
 	}
-	
-	
+
 	/**
 	 * 娑堟伅涓績寮规
 	 * 
@@ -304,14 +340,15 @@
 			data.put("baichuan", false);// 涓嶉渶瑕侀噰鐢ㄩ樋閲岀櫨宸濈殑鏂瑰紡鍔犺浇webview
 			data.put("goodsDetail", false);// 涓嶉渶瑕佹嫤鎴晢鍝佽鎯�
 		}
-//TODO 鍓嶇闇�瑕佸鐞�		
-//		if (VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(), acceptData.getVersion())) {
-//			JSONObject js = new JSONObject();
-//			String jsStr = configService.get("url_extract_id");
-//			String md5 = StringUtil.Md5(jsStr);
-//			js.put("md5", md5);
-//			data.put("js", js);
-//		}
+		// TODO 鍓嶇闇�瑕佸鐞�
+		// if (VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(),
+		// acceptData.getVersion())) {
+		// JSONObject js = new JSONObject();
+		// String jsStr = configService.get("url_extract_id");
+		// String md5 = StringUtil.Md5(jsStr);
+		// js.put("md5", md5);
+		// data.put("js", js);
+		// }
 
 		out.print(JsonUtil.loadTrueResult(data));
 	}
@@ -459,9 +496,31 @@
 	 */
 	@RequestMapping(value = "getElemeLink")
 	public void getElemeLink(AcceptData acceptData, Long uid, String callback, PrintWriter out) {
+
+		UserExtraTaoBaoInfo userInfoExtra = userExtraTaoBaoInfoService.getByUid(uid);
+		if (userInfoExtra == null || StringUtil.isNullOrEmpty(userInfoExtra.getRelationId())) {
+			out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult(1001, "璇风粦瀹氭窐瀹�")));
+			return;
+		}
+		String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.elmeLink, uid + "");
+		String elmeLink = redisManager.getCommonString(key);
+		if (StringUtil.isNullOrEmpty(elmeLink)) {
+			elmeLink = TaoKeApiUtil.officialActivityConvert(TaoBaoConstant.TAOBAO_ELEME_PID.split("_")[3],
+					"1571715733668", userInfoExtra.getRelationId());
+			if (!StringUtil.isNullOrEmpty(elmeLink)) {
+				redisManager.cacheCommonString(key, elmeLink, 60 * 60);// 缂撳瓨1涓皬鏃�
+			}
+		}
+
 		JSONObject data = new JSONObject();
-		data.put("hongBao", configService.get("eleme_hongbao_link").replace("{鐢ㄦ埛ID}", uid + ""));
-		data.put("goods", configService.get("eleme_goods_link").replace("{鐢ㄦ埛ID}", uid + ""));
+
+		// data.put("hongBao",
+		// configService.get("eleme_hongbao_link").replace("{鐢ㄦ埛ID}", uid + ""));
+		// data.put("goods",
+		// configService.get("eleme_goods_link").replace("{鐢ㄦ埛ID}", uid + ""));
+
+		data.put("hongBao", elmeLink);
+		data.put("goods", elmeLink);
 
 		ClientTBPid clientTBPid1 = new ClientTBPid(TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_ELEME_PID,
 				null, TaoBaoConstant.TAOBAO_ELEME_PID.split("_")[3]);
@@ -472,4 +531,19 @@
 			out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
 	}
 
+	/**
+	 * 鑾峰彇楗夸簡涔堢殑鎺ㄥ箍閾炬帴
+	 * 
+	 * @param acceptData
+	 * @param uid
+	 * @param out
+	 */
+	@RequestMapping(value = "userProtocolListen")
+	public void userProtocolListen(AcceptData acceptData, Long uid, int type, PrintWriter out) {
+		LogHelper.userProtocolListen(String.format("%s#%s#%s", acceptData.getDevice(), uid, type));
+		out.print(JsonUtil.loadTrueResult(""));
+		
+		
+	}
+
 }

--
Gitblit v1.8.0