package com.agileboot.common.core.enums.common;

import com.agileboot.common.core.enums.DictionaryEnum;
import com.agileboot.common.core.enums.dictionary.CssTag;
import com.agileboot.common.core.enums.dictionary.Dictionary;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 对应sys_notice的 notice_type字段
 * 名称一般由对应的表名.字段构成
 * 全局的话使用common作为表名
 *
 * @author valarchie
 */
@Dictionary(name = "sysNotice.noticeType")
@Getter
@AllArgsConstructor
public enum NoticeTypeEnum implements DictionaryEnum<Integer> {

    /**
     * 通知类型
     */
    NOTIFICATION(1, "通知", CssTag.WARNING),
    ANNOUNCEMENT(2, "公告", CssTag.SUCCESS);

    private final Integer value;
    private final String desc;
    private final String cssTag;

    public static Integer getDescByValue(Integer value) {
        for (NoticeTypeEnum item : values()) {
            if (item.value.equals(value)) {
                return item.value;
            }
        }
        return null;
    }
}
