package com.yida.data.common.core.entity.system.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 角色标识枚举
 *
 * @author ZYJ
 * @date 2021/9/27
 */
@Getter
@AllArgsConstructor
public enum RoleEnum {

    /**
     * 角色标识
     */
    ROLE_ADMIN("role:admin", "超级管理员", 1, 1),
    ROLE_AGENT_ADMIN("role:agent:admin", "代理商管理员角色", 2, 6),
    ROLE_AGENT_NORMAL("role:agent:normal", "代理商普通人员角色", 3, 7),

    ROLE_SCHOOL_PRINCIPAL("role:school:principal", "学校负责人", 4, 2),
    ROLE_CAMPUS_PRINCIPAL("role:campus:principal", "校区负责人", 5, 3),
    ROLE_SECTION_PRINCIPAL("role:section:principal", "学段负责人", 6, 4),
    ROLE_GRADE_PRINCIPAL("role:grade:principal", "年级负责人", 7, 5),

    ROLE_CLASS_PRINCIPAL("role:class:principal", "班主任", 9, 5),

    ROLE_EDUCATION_PRINCIPAL("role:education:principal", "教育局负责人", 8, 2),

    ROLE_TEACHER("role:teacher", "教师基础角色", 10, 8);

    /**
     * 角色标识值
     */
    private final String value;

    /**
     * 角色标识说明
     */
    private final String message;

    /**
     * 角色类型 自定义
     */
    private final Integer type;

    /**
     * 排序, 多个角色以最小的排序值为准
     */
    private final Integer order;
}
