package org.springblade.common.constant;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 数据状态枚举
 *
 * @author vic
 * @date 2024/8/26 6:45 PM
 * @description DataStatusEnum
 */
@Getter
@AllArgsConstructor
public enum DataStatusEnum {

    /**
     *
     */
    ENABLE(1, "启用"),

    DISABLE(2, "禁用"),


    ;


    private final Integer code;

    private final String name;


    /**
     * 匹配枚举值
     *
     * @param code
     * @return
     */
    public static boolean match(Integer code) {
        for (DataStatusEnum state : values()) {
            if (state.code.equals(code)) {
                return true;
            }
        }
        return false;
    }

    public static String getNameStr(Integer code) {
        for (DataStatusEnum state : values()) {
            if (state.code.equals(code)) {
                return state.name;
            }
        }
        return null;

    }


    /**
     * 是否可以编辑修改表单 .没有审批业务的使用此方法, 系统设计的是反的
     *  true:可编辑 false:不可编辑
     * @param value
     * @return
     */
    public static boolean canEdit(Integer value) {
        return DISABLE.getCode().equals(value);
    }

}
