【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 * @author fengshuonan
* @date 2022/9/6 11:27 * @date 2022/9/6 11:27
*/ */
public interface ReadableEnum { public interface ReadableEnum<T> {
/** /**
* keyid * keyid
@ -55,4 +55,14 @@ public interface ReadableEnum {
*/ */
Object getName(); 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; package cn.stylefeng.roses.kernel.rule.enums;
import cn.hutool.core.util.ObjectUtil;
import cn.stylefeng.roses.kernel.rule.base.ReadableEnum; import cn.stylefeng.roses.kernel.rule.base.ReadableEnum;
import com.baomidou.mybatisplus.annotation.EnumValue; import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonCreator;
@ -37,7 +38,7 @@ import lombok.Getter;
* @date 2020/10/17 10:01 * @date 2020/10/17 10:01
*/ */
@Getter @Getter
public enum SexEnum implements ReadableEnum { public enum SexEnum implements ReadableEnum<SexEnum> {
/** /**
* *
@ -104,4 +105,17 @@ public enum SexEnum implements ReadableEnum {
public Object getName() { public Object getName() {
return this.message; 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; 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 cn.stylefeng.roses.kernel.rule.base.ReadableEnum;
import com.baomidou.mybatisplus.annotation.EnumValue; import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonCreator;
@ -37,7 +39,7 @@ import lombok.Getter;
* @date 2020/10/14 21:31 * @date 2020/10/14 21:31
*/ */
@Getter @Getter
public enum StatusEnum implements ReadableEnum { public enum StatusEnum implements ReadableEnum<StatusEnum> {
/** /**
* *
@ -87,4 +89,17 @@ public enum StatusEnum implements ReadableEnum {
public Object getName() { public Object getName() {
return this.message; 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; package cn.stylefeng.roses.kernel.rule.enums;
import cn.hutool.core.util.ObjectUtil;
import cn.stylefeng.roses.kernel.rule.base.ReadableEnum; import cn.stylefeng.roses.kernel.rule.base.ReadableEnum;
import com.baomidou.mybatisplus.annotation.EnumValue; import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonCreator;
@ -37,7 +38,7 @@ import lombok.Getter;
* @date 2020/4/13 22:59 * @date 2020/4/13 22:59
*/ */
@Getter @Getter
public enum YesOrNotEnum implements ReadableEnum { public enum YesOrNotEnum implements ReadableEnum<YesOrNotEnum> {
/** /**
* *
@ -97,4 +98,17 @@ public enum YesOrNotEnum implements ReadableEnum {
return this.message; 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; 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 cn.stylefeng.roses.kernel.rule.base.ReadableEnum;
import lombok.Getter; import lombok.Getter;
@ -34,7 +36,7 @@ import lombok.Getter;
* @date 2022/9/13 23:16 * @date 2022/9/13 23:16
*/ */
@Getter @Getter
public enum OrgApproverTypeEnum implements ReadableEnum { public enum OrgApproverTypeEnum implements ReadableEnum<OrgApproverTypeEnum> {
/** /**
* *
@ -104,4 +106,17 @@ public enum OrgApproverTypeEnum implements ReadableEnum {
public Object getName() { public Object getName() {
return this.name; 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;
}
} }