package com.ruoyi.user.enums;
|
|
/**
|
* 会员等级枚举
|
*
|
* 与 account_user.system_level 字段一一对应(复用既有列,不再另建等级列):
|
* C —— 普通用户(个人中心受限展示:仅「收货地址」「联系我们」)
|
* L1~L4 —— 会员(个人中心展示全部内容,含收益卡与全部菜单)
|
*
|
* @author hugray
|
*/
|
public enum MemberLevelEnum
|
{
|
/** 普通用户(受限展示) */
|
C("C", "普通用户"),
|
/** 会员 L1 */
|
L1("L1", "会员"),
|
/** 会员 L2 */
|
L2("L2", "会员"),
|
/** 会员 L3 */
|
L3("L3", "会员"),
|
/** 会员 L4 */
|
L4("L4", "会员");
|
|
/** 等级编码(落库值) */
|
private final String code;
|
|
/** 等级描述 */
|
private final String desc;
|
|
/** 默认等级:普通用户,用于等级为空或非法的兜底 */
|
public static final MemberLevelEnum DEFAULT = C;
|
|
MemberLevelEnum(String code, String desc)
|
{
|
this.code = code;
|
this.desc = desc;
|
}
|
|
public String getCode()
|
{
|
return code;
|
}
|
|
public String getDesc()
|
{
|
return desc;
|
}
|
|
/**
|
* 按编码获取枚举
|
*
|
* @param code 等级编码
|
* @return 命中返回枚举;未命中返回 null
|
*/
|
public static MemberLevelEnum getByCode(String code)
|
{
|
for (MemberLevelEnum level : values())
|
{
|
if (level.code.equals(code))
|
{
|
return level;
|
}
|
}
|
return null;
|
}
|
|
/**
|
* 归一化等级编码:非法或空值统一兜底为默认等级,避免脏数据影响前端展示
|
*
|
* @param code 原始等级编码
|
* @return 合法的等级编码
|
*/
|
public static String normalize(String code)
|
{
|
return getByCode(code) == null ? DEFAULT.getCode() : code;
|
}
|
}
|