diff --git a/app/admin/controller/v1/Role.php b/app/admin/controller/v1/Role.php index d478207b..84602676 100644 --- a/app/admin/controller/v1/Role.php +++ b/app/admin/controller/v1/Role.php @@ -227,6 +227,10 @@ class Role return error('请确认要操作对象是否存在'); } + if (1 == $role->is_system) { + return error('该角色禁止删除'); + } + if (!$role->delete()) { return error('操作失败'); } diff --git a/app/common/model/SysRoleBaseModel.php b/app/common/model/SysRoleBaseModel.php index 43e8179c..bfb359da 100644 --- a/app/common/model/SysRoleBaseModel.php +++ b/app/common/model/SysRoleBaseModel.php @@ -21,6 +21,7 @@ class SysRoleBaseModel extends BaseModel 'pid' => 'int', 'name' => 'string', 'desc' => 'string', + 'is_system' => 'int', 'created_at' => 'datetime', 'updated_at' => 'datetime', 'deleted_at' => 'datetime', diff --git a/database/migrations/20241230062221_create_sys_role.php b/database/migrations/20241230062221_create_sys_role.php index 603120fd..ccbc52fd 100644 --- a/database/migrations/20241230062221_create_sys_role.php +++ b/database/migrations/20241230062221_create_sys_role.php @@ -31,6 +31,7 @@ class CreateSysRole extends Migrator $table->addColumn('pid', 'integer', ['null' => false, 'default' => 0, 'comment' => '父级ID']) ->addColumn('name', 'string', ['limit' => 64, 'null' => false, 'comment' => '角色名称']) ->addColumn('desc', 'string', ['limit' => 255, 'null' => false, 'comment' => '角色描述']) + ->addColumn('is_system', 'boolean', ['null' => false, 'limit' => 1, 'default' => 0, 'comment' => '是否系统角色:1为是,0为否']) ->addColumn('created_at', 'timestamp', ['null' => false, 'default' => 'CURRENT_TIMESTAMP', 'comment' => '创建时间']) ->addColumn('updated_at', 'timestamp', ['null' => false, 'default' => 'CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP', 'comment' => '更新时间']) ->addColumn('deleted_at', 'timestamp', ['null' => true, 'default' => null, 'comment' => '删除时间'])