【7.2.5】【enum】更新Readable枚举规范,增加反序列化接口

pull/37/head
fengshuonan 2022-09-24 15:30:06 +08:00
parent f564c53c95
commit 22b5cb9987
5 changed files with 73 additions and 5 deletions

View File

@ -33,7 +33,7 @@ package cn.stylefeng.roses.kernel.rule.base;
* @author fengshuonan
* @date 2022/9/6 11:27
*/
public interface ReadableEnum {
public interface ReadableEnum<T> {
/**
* keyid
@ -55,4 +55,14 @@ public interface ReadableEnum {
*/
Object getName();
/**
*
*
* @param originValue
* @return T
* @author fengshuonan
* @date 2022/9/24 15:17
*/
T parseToEnum(String originValue);
}

View File

@ -24,6 +24,7 @@
*/
package cn.stylefeng.roses.kernel.rule.enums;
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;
@ -37,7 +38,7 @@ import lombok.Getter;
* @date 2020/10/17 10:01
*/
@Getter
public enum SexEnum implements ReadableEnum {
public enum SexEnum implements ReadableEnum<SexEnum> {
/**
*
@ -104,4 +105,17 @@ public enum SexEnum implements ReadableEnum {
public Object getName() {
return this.message;
}
@Override
public SexEnum parseToEnum(String originValue) {
if (ObjectUtil.isEmpty(originValue)) {
return null;
}
for (SexEnum value : SexEnum.values()) {
if (value.code.equals(originValue)) {
return value;
}
}
return null;
}
}

View File

@ -24,6 +24,8 @@
*/
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;
@ -37,7 +39,7 @@ import lombok.Getter;
* @date 2020/10/14 21:31
*/
@Getter
public enum StatusEnum implements ReadableEnum {
public enum StatusEnum implements ReadableEnum<StatusEnum> {
/**
*
@ -87,4 +89,17 @@ public enum StatusEnum implements ReadableEnum {
public Object getName() {
return this.message;
}
@Override
public StatusEnum parseToEnum(String originValue) {
if (ObjectUtil.isEmpty(originValue)) {
return null;
}
for (StatusEnum value : StatusEnum.values()) {
if (value.code.equals(Convert.toInt(originValue))) {
return value;
}
}
return null;
}
}

View File

@ -24,6 +24,7 @@
*/
package cn.stylefeng.roses.kernel.rule.enums;
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;
@ -37,7 +38,7 @@ import lombok.Getter;
* @date 2020/4/13 22:59
*/
@Getter
public enum YesOrNotEnum implements ReadableEnum {
public enum YesOrNotEnum implements ReadableEnum<YesOrNotEnum> {
/**
*
@ -97,4 +98,17 @@ public enum YesOrNotEnum implements ReadableEnum {
return this.message;
}
@Override
public YesOrNotEnum parseToEnum(String originValue) {
if (ObjectUtil.isEmpty(originValue)) {
return null;
}
for (YesOrNotEnum value : YesOrNotEnum.values()) {
if (value.code.equals(originValue)) {
return value;
}
}
return null;
}
}

View File

@ -24,6 +24,8 @@
*/
package cn.stylefeng.roses.kernel.system.api.enums;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjectUtil;
import cn.stylefeng.roses.kernel.rule.base.ReadableEnum;
import lombok.Getter;
@ -34,7 +36,7 @@ import lombok.Getter;
* @date 2022/9/13 23:16
*/
@Getter
public enum OrgApproverTypeEnum implements ReadableEnum {
public enum OrgApproverTypeEnum implements ReadableEnum<OrgApproverTypeEnum> {
/**
*
@ -104,4 +106,17 @@ public enum OrgApproverTypeEnum implements ReadableEnum {
public Object getName() {
return this.name;
}
@Override
public OrgApproverTypeEnum parseToEnum(String originValue) {
if (ObjectUtil.isEmpty(originValue)) {
return null;
}
for (OrgApproverTypeEnum value : OrgApproverTypeEnum.values()) {
if (value.code.equals(Convert.toInt(originValue))) {
return value;
}
}
return null;
}
}