|
|
|
@ -0,0 +1,76 @@
|
|
|
|
|
package com.example.api.model.enums;
|
|
|
|
|
|
|
|
|
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
|
|
|
|
import lombok.Getter;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 角色枚举,用于表示系统中的不同角色。
|
|
|
|
|
*/
|
|
|
|
|
@Getter
|
|
|
|
|
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
|
|
|
|
|
public enum Role {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 超级管理员角色,拥有所有权限。
|
|
|
|
|
* 不对外提供添加此权限的方法。
|
|
|
|
|
*/
|
|
|
|
|
ROLE_SUPER_ADMIN("ROLE_SUPER_ADMIN", "超级管理员"),
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 管理员角色,拥有操作员相关权限。
|
|
|
|
|
*/
|
|
|
|
|
ROLE_ADMIN("ROLE_ADMIN", "操作员相关权限"),
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 商品角色,拥有商品相关权限。
|
|
|
|
|
*/
|
|
|
|
|
ROLE_COMMODITY("ROLE_COMMODITY", "商品相关权限"),
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 员工角色,拥有员工相关权限。
|
|
|
|
|
*/
|
|
|
|
|
ROLE_EMPLOYEE("ROLE_EMPLOYEE", "员工相关权限"),
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 销售角色,拥有销售相关权限。
|
|
|
|
|
*/
|
|
|
|
|
ROLE_SALE("ROLE_SALE", "销售相关权限"),
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 仓库角色,拥有仓库相关权限。
|
|
|
|
|
*/
|
|
|
|
|
ROLE_WAREHOUSE("ROLE_WAREHOUSE", "仓库相关权限");
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 角色的值,通常用于权限检查和存储。
|
|
|
|
|
*/
|
|
|
|
|
private final String value;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 角色的描述,用于说明角色的权限范围。
|
|
|
|
|
*/
|
|
|
|
|
private final String description;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 一个包含所有非超级管理员角色的数组。
|
|
|
|
|
* 用于需要排除超级管理员角色的场景。
|
|
|
|
|
*/
|
|
|
|
|
public static final Role[] ROLES = {
|
|
|
|
|
ROLE_ADMIN,
|
|
|
|
|
ROLE_COMMODITY,
|
|
|
|
|
ROLE_EMPLOYEE,
|
|
|
|
|
ROLE_SALE,
|
|
|
|
|
ROLE_WAREHOUSE
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 构造函数,用于为枚举实例设置角色的值和描述。
|
|
|
|
|
* @param value 角色的值
|
|
|
|
|
* @param description 角色的描述
|
|
|
|
|
*/
|
|
|
|
|
Role(String value, String description) {
|
|
|
|
|
this.value = value;
|
|
|
|
|
this.description = description;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|