From ee1d39f11b9483b64a88029f1755a6e7166fea15 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期日, 26 四月 2020 16:49:21 +0800 Subject: [PATCH] 等级显示问题 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteServiceImpl.java | 73 ++++++++++++++++++++++++++++++++++++ 1 files changed, 73 insertions(+), 0 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteServiceImpl.java index 9654b6a..bd530ef 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteServiceImpl.java @@ -4,12 +4,18 @@ import org.springframework.stereotype.Service; +import com.yeshi.fanli.dao.mybatis.user.vip.UserVIPLevelMapper; import com.yeshi.fanli.dto.user.UserInviteLevelEnum; +import com.yeshi.fanli.dto.vip.UserVIPLevel; +import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum; import com.yeshi.fanli.entity.bus.user.vip.UserVIPInfo; +import com.yeshi.fanli.entity.bus.user.vip.UserVIPPreInfo; import com.yeshi.fanli.service.inter.user.UserInfoExtraService; import com.yeshi.fanli.service.inter.user.invite.UserInviteService; import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService; +import com.yeshi.fanli.service.inter.user.vip.UserVIPPreInfoService; import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.user.UserLevelUtil; @Service public class UserInviteServiceImpl implements UserInviteService { @@ -18,6 +24,12 @@ @Resource private UserVIPInfoService userVIPInfoService; + + @Resource + private UserVIPPreInfoService userVIPPreInfoService; + + @Resource + private UserVIPLevelMapper userVIPLevelMapper; @Override public UserInviteLevelEnum getUserInviteLevel(Long uid) { @@ -36,4 +48,65 @@ return UserInviteLevelEnum.vip; } + @Override + public UserInviteLevelEnum getUserInviteLevelNew(Long uid) { + String inviteCode = userInfoExtraService.getInviteCodeByUid(uid); + if (StringUtil.isNullOrEmpty(inviteCode)) { + return UserInviteLevelEnum.noActive; + } + + UserVIPPreInfo userVIPPreInfo = userVIPPreInfoService.getLatestProcessInfo(uid); + if (userVIPPreInfo != null) { + Integer process = userVIPPreInfo.getProcess(); + UserLevelEnum levelEnum = UserLevelUtil.getByLevel(process); + + levelEnum = UserLevelUtil.getShowLevel(levelEnum); + if (levelEnum == null || levelEnum == UserLevelEnum.daRen) { + return UserInviteLevelEnum.actived; + } + + if (levelEnum == UserLevelEnum.highVIP) { + UserVIPInfo info = userVIPInfoService.selectByUid(uid); + if (info != null && info.getState() == UserVIPInfo.STATE_VERIFING) { + return UserInviteLevelEnum.vipApply; + } + return UserInviteLevelEnum.highVIP; + } + + if (levelEnum == UserLevelEnum.superVIP) { + return UserInviteLevelEnum.vip; + } + + if (levelEnum == UserLevelEnum.tearcher) { + return UserInviteLevelEnum.tearcher; + } + } + return UserInviteLevelEnum.actived; + } + + @Override + public boolean verifyVIP(Long uid) { + String inviteCode = userInfoExtraService.getInviteCodeByUid(uid); + if (StringUtil.isNullOrEmpty(inviteCode)) { + return false; + } + + UserVIPInfo info = userVIPInfoService.selectByUid(uid); + if (info != null && info.getState() == UserVIPInfo.STATE_SUCCESS) { + return true; + } + + UserVIPPreInfo userVIPPreInfo = userVIPPreInfoService.getLatestProcessInfo(uid); + if (userVIPPreInfo != null) { + return true; + } + + return false; + } + + @Override + public UserVIPLevel getVIPLevelByUid(Long uid) { + return userVIPLevelMapper.getLevelByUid(uid); + } + } -- Gitblit v1.8.0