package com.yeshi.fanli.service.manger.user;
|
|
import java.util.Date;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.stereotype.Component;
|
|
import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
|
import com.yeshi.fanli.entity.bus.user.vip.UserVIPPreInfo;
|
import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
|
import com.yeshi.fanli.service.inter.user.vip.UserVIPPreInfoService;
|
|
@Component
|
public class UserLevelManager {
|
@Resource
|
private UserVIPInfoService userVIPInfoService;
|
|
@Resource
|
private UserVIPPreInfoService userVIPPreInfoService;
|
|
/**
|
* 获取用户等级
|
* @Title: getUserLevel
|
* @Description:
|
* @param uid
|
* @return
|
* UserLevelEnum 返回类型
|
* @throws
|
*/
|
public UserLevelEnum getUserLevel(Long uid) {
|
if (userVIPInfoService.isVIP(uid))
|
return UserLevelEnum.superVIP;
|
UserVIPPreInfo info = userVIPPreInfoService.getLatestProcessInfo(uid);
|
if (info != null)
|
for (UserLevelEnum level : UserLevelEnum.values())
|
if (level.getLevel() == info.getProcess())
|
return level;
|
return UserLevelEnum.daRen;
|
}
|
|
/**
|
* 获取当时的用户等级
|
* @Title: getUserLevel
|
* @Description:
|
* @param uid
|
* @param date
|
* @return
|
* UserLevelEnum 返回类型
|
* @throws
|
*/
|
public UserLevelEnum getUserLevel(Long uid, Date date) {
|
if (userVIPInfoService.isVIP(uid, date.getTime()))
|
return UserLevelEnum.superVIP;
|
UserVIPPreInfo info = userVIPPreInfoService.getProcessInfo(uid, date);
|
if (info != null)
|
for (UserLevelEnum level : UserLevelEnum.values())
|
if (level.getLevel() == info.getProcess())
|
return level;
|
return UserLevelEnum.daRen;
|
}
|
|
}
|