From 69fc05f838b018192b2c5e465c41e057c3d45b24 Mon Sep 17 00:00:00 2001 From: Eterlaze <1215710470@qq.com> Date: Sat, 21 Dec 2024 20:16:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E6=9E=9A=E4=B8=BE/=E8=A7=92?= =?UTF-8?q?=E8=89=B2=E6=9E=9A=E4=B8=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/api/model/enums/BusinessType.java | 38 ++++++++++ .../com/example/api/model/enums/Role.java | 76 +++++++++++++++++++ 2 files changed, 114 insertions(+) create mode 100644 IDEA/src/main/java/com/example/api/model/enums/BusinessType.java create mode 100644 IDEA/src/main/java/com/example/api/model/enums/Role.java diff --git a/IDEA/src/main/java/com/example/api/model/enums/BusinessType.java b/IDEA/src/main/java/com/example/api/model/enums/BusinessType.java new file mode 100644 index 00000000..4ca7af71 --- /dev/null +++ b/IDEA/src/main/java/com/example/api/model/enums/BusinessType.java @@ -0,0 +1,38 @@ +package com.example.api.model.enums; +/* + 业务操作类型 + */ +public enum BusinessType { + // 枚举实例 + OTHER("其他"), // 其他类型的业务操作 + QUERY("查询"), // 查询数据的业务操作 + INSERT("新增"), // 新增数据的业务操作 + UPDATE("更新"), // 更新数据的业务操作 + DELETE("删除"), // 删除数据的业务操作 + EXPORT("导出"), // 导出数据的业务操作 + FORCE("退出"); // 强制退出系统的业务操作 + + // 构造函数,用于为枚举实例命名 + private BusinessType(String name){ + this.name = name; + } + + // 用于存储每个枚举实例的名称 + private String name; + + // 获取枚举实例的名称 + public String getName() { + return name; + } + + // 设置枚举实例的名称 + public void setName(String name) { + this.name = name; + } + + // 重写toString方法,返回枚举实例的名称 + @Override + public String toString() { + return name; + } +} \ No newline at end of file diff --git a/IDEA/src/main/java/com/example/api/model/enums/Role.java b/IDEA/src/main/java/com/example/api/model/enums/Role.java new file mode 100644 index 00000000..d37dc432 --- /dev/null +++ b/IDEA/src/main/java/com/example/api/model/enums/Role.java @@ -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; + } + +}