package com.lunhan.xxx.entity.enums;

import java.util.Arrays;
import java.util.Objects;

/**
 * �井����雁瓜�� ������筝�
 * @author linliu
 * @date   2019-01-02
 */
public enum EDataChangeType {
    /**
     * �医�
     */
    CREATE("�医�", 1),
    /**
     * 篆���
     */
    MODIFY("篆���", 2),
    /**
     * ����
     */
    DISABLED("����", 3),
    /**
     * ����
     */
    ENABLED("����", 4),
    /**
     * ����
     */
    DELETED("����", 5);

    private String desc;//��筝丈�菴�
    private Integer value;//��筝上��

    public Integer getValue() {
        return value;
    }
    public String getDesc() {
        return desc;
    }

    /**
     * �����号�
     * @param desc ��筝丈�菴�
     * @param value ��筝上��
     */
    private EDataChangeType(String desc, Integer value) {
        this.desc = desc;
        this.value = value;
    }

    /**
     * �号���取キ����筝�
     *
     * @param value ��筝上��
     * @return
     */
    public static EDataChangeType getByValue(Integer value) {
        return Arrays.stream(EDataChangeType.values())
                .filter(e -> Objects.equals(e.getValue(), value))
                .findAny()
                .orElse(null);
    }

    @Override
    public String toString() {
        return "EDataChangeType{" +
                "desc='" + desc + '\'' +
                ", value=" + value +
                '}';
    }
}