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