From be1977072af0dfd4fa406f61f032e8341988bf9a Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期三, 20 五月 2020 14:09:21 +0800
Subject: [PATCH] 用户vip信息
---
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/ConfigController.java | 129 ++++++++++++++++++++++++++++++++++--------
1 files changed, 103 insertions(+), 26 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 0005391..6427764 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,24 +2,28 @@
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;
import org.yeshi.utils.JsonUtil;
import org.yeshi.utils.encrypt.DESUtil;
-import com.yeshi.fanli.dto.user.UserInviteLevelEnum;
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.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;
@@ -37,15 +41,21 @@
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.homemodule.BannerVO;
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;
@@ -94,13 +104,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 棣栭〉閰嶇疆淇℃伅
@@ -272,7 +290,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("鐢ㄦ埛鏈櫥褰�"));
@@ -284,6 +303,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涓嶅瓨鍦�"));
@@ -307,12 +329,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<BannerVO> banner = swiperPictureService.getByBannerCardAndVersion("my_interface_banner",
+ acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()));
+ if (banner == null)
+ banner = new ArrayList<BannerVO>();
+ data.put("banner", JsonUtil.getApiCommonGson().toJson(banner));
+ }
}
if (VersionUtil.greaterThan_2_0_7(acceptData.getPlatform(), acceptData.getVersion())) {
@@ -349,24 +377,24 @@
data.put("tearcherLink", tearcherLink);
}
}
-
+
if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
- // TODO 楠岃瘉鏄惁鏄甯�
-
+ UserVIPPreInfo info = userVIPPreInfoService.getLatestProcessInfo(uid);
JSONObject inner = new JSONObject();
- inner.put("link", "https://www.baidu.com/");
+ 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) {
- // 鏄惁瀵煎笀 TODO
-
- if (userVIPInfoService.isVIP(uid)) {
- inner.put("link", "https://www.baidu.com/");
+ 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", "鎷夸簲闄╀笌娲ヨ创 浜甯堟潈鐩�");
- inner.put("btnName", "鍗囩骇浼氬憳");
+ if (info.getProcess() == UserVIPPreInfo.PROCESS_4)
+ inner.put("btnName", "鏉挎牀蹇渷");
+ else
+ inner.put("btnName", "鍗囩骇瀵煎笀");
} else {
UserVIPPreInfo userVIPPreInfo = userVIPPreInfoService.getLatestProcessInfo(uid);
if (userVIPPreInfo != null) {
@@ -378,18 +406,67 @@
}
}
}
- data.put("vip", inner);
+ // 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;
+ }
/**
* 璁㈠崟瑙f瀽閰嶇疆
--
Gitblit v1.8.0