From a4637ae9d71aa4a624b217ed3a1483f0e3a3a7ed Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期三, 06 五月 2020 14:04:53 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v1/ConfigController.java |  135 ++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 128 insertions(+), 7 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/ConfigController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/ConfigController.java
index 83d5447..f2a3b1f 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/ConfigController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/ConfigController.java
@@ -2,10 +2,12 @@
 
 import java.io.PrintWriter;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 import javax.annotation.Resource;
 
+import org.json.JSONArray;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
@@ -17,8 +19,13 @@
 import com.yeshi.fanli.entity.bus.homemodule.FloatAD.FloatADTypeEnum;
 import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture;
 import com.yeshi.fanli.entity.bus.msg.MsgDeviceReadState;
+import com.yeshi.fanli.entity.bus.user.ThreeSale;
 import com.yeshi.fanli.entity.bus.user.UserActiveLog;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
+import com.yeshi.fanli.entity.bus.user.vip.UserLevelUpgradedNotify;
+import com.yeshi.fanli.entity.bus.user.vip.UserVIPInfo;
+import com.yeshi.fanli.entity.bus.user.vip.UserVIPPreInfo;
 import com.yeshi.fanli.entity.common.JumpDetailV2;
 import com.yeshi.fanli.entity.config.AppHomeFloatImg;
 import com.yeshi.fanli.entity.system.ConfigKeyEnum;
@@ -34,13 +41,20 @@
 import com.yeshi.fanli.service.inter.user.UserActiveLogService;
 import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
 import com.yeshi.fanli.service.inter.user.UserInfoService;
+import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
 import com.yeshi.fanli.service.inter.user.notify.UserActivedRecordService;
+import com.yeshi.fanli.service.inter.user.vip.UserLevelUpgradedNotifyService;
+import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
+import com.yeshi.fanli.service.inter.user.vip.UserVIPPreInfoService;
+import com.yeshi.fanli.service.inter.user.vip.UserVipConfigService;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.ThreadUtil;
+import com.yeshi.fanli.util.TimeUtil;
 import com.yeshi.fanli.util.VersionUtil;
 import com.yeshi.fanli.vo.user.UserDialogBtnVO;
 import com.yeshi.fanli.vo.user.UserDialogVO;
+import com.yeshi.fanli.vo.user.VIPUpgradedNotifyVO;
 
 import net.sf.json.JSONObject;
 
@@ -89,6 +103,21 @@
 
 	@Resource
 	private UserInfoService userInfoService;
+
+	@Resource
+	private UserVIPInfoService userVIPInfoService;
+
+	@Resource
+	private UserVIPPreInfoService userVIPPreInfoService;
+
+	@Resource
+	private UserLevelUpgradedNotifyService userLevelUpgradedNotifyService;
+
+	@Resource
+	private ThreeSaleSerivce threeSaleSerivce;
+
+	@Resource
+	private UserVipConfigService userVipConfigService;
 
 	/**
 	 * s 棣栭〉閰嶇疆淇℃伅
@@ -260,7 +289,8 @@
 	 * @param out
 	 */
 	@RequestMapping(value = "closeDialogNotify", method = RequestMethod.POST)
-	public void closeDialogNotify(AcceptData acceptData, Long uid, String id, int type, PrintWriter out) {
+	public void closeDialogNotify(AcceptData acceptData, Long uid, String id, String sourceId, int type,
+			PrintWriter out) {
 
 		if (uid == null) {
 			out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
@@ -272,6 +302,9 @@
 		}
 		if (id.equalsIgnoreCase("tearcherNotify")) {
 			userActivedRecordService.setTearcherNotified(uid);
+			out.print(JsonUtil.loadTrueResult(""));
+		} else if (id.equalsIgnoreCase("vipUpgradedNotify")) {
+			userLevelUpgradedNotifyService.setNotified(sourceId);
 			out.print(JsonUtil.loadTrueResult(""));
 		} else {
 			out.print(JsonUtil.loadFalseResult("id涓嶅瓨鍦�"));
@@ -295,12 +328,18 @@
 			data.put("taoBaoCart", source);
 
 			if (VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(), acceptData.getVersion())) {
-				// 鎴戠殑鐣岄潰banner
-				List<SwiperPicture> banner = swiperPictureService.getByBannerCardAndVersion("my_interface_banner",
-						acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()));
-				if (banner == null)
-					banner = new ArrayList<SwiperPicture>();
-				data.put("banner", JsonUtil.getApiCommonGson().toJson(banner));
+				// IOS姝e湪涓婄嚎鐗堟湰
+				if ("ios".equalsIgnoreCase(acceptData.getPlatform())
+						&& configService.iosOnLining(Integer.parseInt(acceptData.getVersion()))) {
+					data.put("banner", new JSONArray());
+				} else {
+					// 鎴戠殑鐣岄潰banner
+					List<SwiperPicture> banner = swiperPictureService.getByBannerCardAndVersion("my_interface_banner",
+							acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()));
+					if (banner == null)
+						banner = new ArrayList<SwiperPicture>();
+					data.put("banner", JsonUtil.getApiCommonGson().toJson(banner));
+				}
 			}
 
 			if (VersionUtil.greaterThan_2_0_7(acceptData.getPlatform(), acceptData.getVersion())) {
@@ -336,14 +375,96 @@
 
 					data.put("tearcherLink", tearcherLink);
 				}
+			}
 
+			if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
+				UserVIPPreInfo info = userVIPPreInfoService.getLatestProcessInfo(uid);
+				JSONObject inner = new JSONObject();
+				inner.put("link", userVipConfigService.getValueByKey("vip_link"));
+				inner.put("ion", "http://img.flqapp.com/resource/vip/icon_vip.png");
+				inner.put("title", "鍏嶈垂鍗囩骇 浜細鍛樻潈鐩�");
+				inner.put("btnName", "鍗囩骇浼氬憳");
+
+				if (uid != null) {
+					if (info != null && info.getProcess() >= UserVIPPreInfo.PROCESS_3) {
+						inner.put("link", userVipConfigService.getValueByKey("vip_link"));
+						inner.put("ion", "http://img.flqapp.com/resource/vip/icon_tearcher.png");
+						inner.put("title", "鎷夸簲闄╀笌娲ヨ创 浜甯堟潈鐩�");
+						if (info.getProcess() == UserVIPPreInfo.PROCESS_4)
+							inner.put("btnName", "鏉挎牀蹇渷");
+						else
+							inner.put("btnName", "鍗囩骇瀵煎笀");
+					} else {
+						UserVIPPreInfo userVIPPreInfo = userVIPPreInfoService.getLatestProcessInfo(uid);
+						if (userVIPPreInfo != null) {
+							if (userVIPPreInfo.getProcess() == UserVIPPreInfo.PROCESS_1) {
+								inner.put("btnName", "鍗囩骇楂樼骇浼氬憳");
+							} else if (userVIPPreInfo.getProcess() == UserVIPPreInfo.PROCESS_2) {
+								inner.put("btnName", "鍗囩骇瓒呯骇浼氬憳");
+							}
+						}
+					}
+				}
+				// IOS姝e湪涓婄嚎
+				if ("ios".equalsIgnoreCase(acceptData.getPlatform())
+						&& configService.iosOnLining(Integer.parseInt(acceptData.getVersion()))) {
+				} else
+					data.put("vip", inner);
+				// 骞冲彴瑙勫垯
+				String platformRuleLink = configService.get(ConfigKeyEnum.platformRule.getKey());
+				data.put("platformRule", platformRuleLink);
+			}
+
+			if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion()) && uid != null) {
+				UserLevelUpgradedNotify notify = userLevelUpgradedNotifyService.getNeedNotifyByUid(uid);
+				if (notify != null) {
+					Date endTime = getUpgradedTime(uid, notify.getToLevel());
+					Date startTime = getUpgradedTime(uid, notify.getFromLevel());
+					if (endTime != null && startTime != null) {
+						VIPUpgradedNotifyVO notifyVO = new VIPUpgradedNotifyVO();
+						notifyVO.setDay(TimeUtil.getDayDifferenceCount(startTime, endTime));
+						notifyVO.setDetailLink(notify.getToLevel().getDetailLink());
+						notifyVO.setFromLevelName(notify.getFromLevel().getName());
+						notifyVO.setId("vipUpgradedNotify");
+						notifyVO.setSourceId(notify.getId());
+						notifyVO.setToLevel(notify.getToLevel().getTag());
+						notifyVO.setToLevelName(notify.getToLevel().getName());
+						data.put("vipUpgradedNotify", notifyVO);
+					}
+				}
 			}
 			out.print(JsonUtil.loadTrueResult(data));
 		} catch (Exception e) {
 			out.print(JsonUtil.loadFalseResult("鑾峰彇澶辫触"));
 			e.printStackTrace();
 		}
+	}
 
+	// 鑾峰彇鍗囩骇鏃堕棿
+	private Date getUpgradedTime(Long uid, UserLevelEnum level) {
+		Date time = null;
+		if (level == UserLevelEnum.superVIP) {
+			UserVIPInfo vipInfo = userVIPInfoService.selectByUid(uid);
+			if (vipInfo != null && vipInfo.getState() == UserVIPInfo.STATE_SUCCESS)
+				time = vipInfo.getSuccessTime();
+
+		} else if (level == UserLevelEnum.highVIP) {
+			UserVIPPreInfo info = userVIPPreInfoService.selectByUidAndProcess(uid, level.getLevel());
+			if (info != null)
+				time = info.getCreateTime();
+		} else if (level == UserLevelEnum.daRen) {
+
+			// 鎴愪负杈句汉鐨勬椂闂�,鐢ㄦ埛婵�娲绘椂闂�
+			ThreeSale threeSale = threeSaleSerivce.getByWorkerId(uid);
+			if (threeSale != null && threeSale.getState() == true && threeSale.getSucceedTime() != null) {
+				time = new Date(threeSale.getSucceedTime());
+			} else {// 鍙栫敤鎴锋敞鍐屾椂闂�
+				UserInfo user = userInfoService.selectAvailableByPrimaryKey(uid);
+				time = new Date(user.getCreatetime());
+			}
+		}
+
+		return time;
 	}
 
 	/**

--
Gitblit v1.8.0