mirror of https://gitee.com/stylefeng/roses
【7.2.5】【框架】更新枚举序列化注解
parent
274fdcf588
commit
4ada674c1e
|
@ -25,6 +25,9 @@
|
|||
package cn.stylefeng.roses.kernel.rule.enums;
|
||||
|
||||
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;
|
||||
|
||||
/**
|
||||
|
@ -46,6 +49,8 @@ public enum SexEnum implements ReadableEnum {
|
|||
*/
|
||||
F("F", "女");
|
||||
|
||||
@EnumValue
|
||||
@JsonValue
|
||||
private final String code;
|
||||
|
||||
private final String message;
|
||||
|
@ -61,6 +66,7 @@ public enum SexEnum implements ReadableEnum {
|
|||
* @author fengshuonan
|
||||
* @date 2020/10/29 18:59
|
||||
*/
|
||||
@JsonCreator(mode = JsonCreator.Mode.DELEGATING)
|
||||
public static SexEnum codeToEnum(String code) {
|
||||
if (null != code) {
|
||||
for (SexEnum e : SexEnum.values()) {
|
||||
|
|
|
@ -26,6 +26,7 @@ package cn.stylefeng.roses.kernel.rule.enums;
|
|||
|
||||
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;
|
||||
|
||||
|
@ -56,6 +57,9 @@ public enum YesOrNotEnum implements ReadableEnum {
|
|||
|
||||
private final String message;
|
||||
|
||||
/**
|
||||
* 注解@JsonValue是返回给前端时候拿的值,而@JsonCreator是反序列化时候的方式
|
||||
*/
|
||||
@JsonValue
|
||||
private final Boolean boolFlag;
|
||||
|
||||
|
@ -65,6 +69,24 @@ public enum YesOrNotEnum implements ReadableEnum {
|
|||
this.boolFlag = boolFlag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据code获取枚举,用在接收前段传参
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @date 2022/9/7 17:58
|
||||
*/
|
||||
@JsonCreator(mode = JsonCreator.Mode.DELEGATING)
|
||||
public static YesOrNotEnum codeToEnum(Boolean boolFlag) {
|
||||
if (null != boolFlag) {
|
||||
for (YesOrNotEnum item : YesOrNotEnum.values()) {
|
||||
if (item.getBoolFlag().equals(boolFlag)) {
|
||||
return item;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getKey() {
|
||||
return this.code;
|
||||
|
|
Loading…
Reference in New Issue