mirror of https://gitee.com/stylefeng/roses
【7.2.5】【enum】更新Readable枚举规范,增加反序列化接口
parent
f564c53c95
commit
22b5cb9987
|
@ -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> {
|
||||
|
||||
/**
|
||||
* 获取枚举中具有标识性的key或者id
|
||||
|
@ -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);
|
||||
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue