package com.moral.api.pojo.enums; import com.baomidou.mybatisplus.annotation.EnumValue; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonFormat; import com.moral.api.exception.BusinessException; import lombok.Getter; import java.util.HashMap; import java.util.Map; /** * @ClassName StateEnum * @Description TODO * @Author @lizijie * @Date 2023-09-20 11:11 * @Version 1.0 */ @Getter @JsonFormat(shape = JsonFormat.Shape.OBJECT) public enum YesOrNo implements IntegerValueEnum { /** *未生效 */ YES(1, "是"), /** *已生效 */ NO(0, "否"); @EnumValue public final Integer value; public final String name; YesOrNo(Integer value, String name) { this.value = value; this.name = name; } private static Map valueMap = new HashMap<>(); static { for (YesOrNo v : YesOrNo.values()) { valueMap.put(v.value, v); } } @JsonCreator public static YesOrNo getByValue(Integer value) { if (value == null) { return null; } YesOrNo result = valueMap.get(value); if (result == null) { throw new BusinessException("枚举转换异常" + value); } return result; } }