package cn.stylefeng.roses.kernel.rule.enums;
|
|
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.util.ObjectUtil;
|
import cn.stylefeng.roses.kernel.rule.base.ReadableEnum;
|
import com.baomidou.mybatisplus.annotation.EnumValue;
|
import com.fasterxml.jackson.annotation.JsonCreator;
|
import com.fasterxml.jackson.annotation.JsonValue;
|
import lombok.Getter;
|
|
/**
|
* 用户状态,一般用来表示开启和关闭
|
*/
|
@Getter
|
public enum CustomerStatusEnum implements ReadableEnum<CustomerStatusEnum> {
|
|
/**
|
* 启用
|
*/
|
ENABLE(1, "启用"),
|
|
/**
|
* 禁用
|
*/
|
DISABLE(2, "禁用"),
|
|
/**
|
* 注销
|
*/
|
LOGOUT(3, "注销");
|
|
@EnumValue
|
@JsonValue
|
private final Integer code;
|
|
private final String message;
|
|
CustomerStatusEnum(Integer code, String message) {
|
this.code = code;
|
this.message = message;
|
}
|
|
/**
|
* 根据code获取枚举
|
*
|
* @author fengshuonan
|
* @date 2020/10/29 18:59
|
*/
|
@JsonCreator(mode = JsonCreator.Mode.DELEGATING)
|
public static CustomerStatusEnum codeToEnum(Integer code) {
|
if (null != code) {
|
for (CustomerStatusEnum item : CustomerStatusEnum.values()) {
|
if (item.getCode().equals(code)) {
|
return item;
|
}
|
}
|
}
|
return null;
|
}
|
|
@Override
|
public Object getKey() {
|
return this.code;
|
}
|
|
@Override
|
public Object getName() {
|
return this.message;
|
}
|
|
@Override
|
public CustomerStatusEnum parseToEnum(String originValue) {
|
if (ObjectUtil.isEmpty(originValue)) {
|
return null;
|
}
|
for (CustomerStatusEnum value : CustomerStatusEnum.values()) {
|
if (value.code.equals(Convert.toInt(originValue))) {
|
return value;
|
}
|
}
|
return null;
|
}
|
|
@Override
|
public String toString() {
|
return "状态标记(" + code + ", " + message + ")";
|
}
|
}
|