Просмотр исходного кода

[智价云] 角色权限校验更新

tangyuanwang 1 месяц назад
Родитель
Сommit
f941268ea3
1 измененных файлов с 14 добавлено и 11 удалено
  1. 14 11
      app/Models/Manager/Personnel/RolesAuthRule.php

+ 14 - 11
app/Models/Manager/Personnel/RolesAuthRule.php

@@ -6,6 +6,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
 use Illuminate\Database\Eloquent\Model;
 use Illuminate\Database\Eloquent\Model;
 use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\DB;
 use App\Models\Manager\Menu as MenuModel;
 use App\Models\Manager\Menu as MenuModel;
+use App\Models\Manager\Personnel\Employee as EmployeeModel;
 
 
 /**
 /**
  * 角色权限规则模型
  * 角色权限规则模型
@@ -55,7 +56,7 @@ class RolesAuthRule extends Model
     {
     {
         $MenuModel = new MenuModel();
         $MenuModel = new MenuModel();
         $menu_ids = explode(',', $data['menu_ids']);
         $menu_ids = explode(',', $data['menu_ids']);
-        $urls_data = $MenuModel->whereIn('id', $menu_ids)->select(['id','url'])->get()->keyBy('id')->toArray();
+        $urls_data = $MenuModel->whereIn('id', $menu_ids)->select(['id', 'url'])->get()->keyBy('id')->toArray();
         $menu_id_log = $this->where(['role_id' => $data['role_id']])->select(['menu_id'])->get()->toArray();
         $menu_id_log = $this->where(['role_id' => $data['role_id']])->select(['menu_id'])->get()->toArray();
         DB::beginTransaction();
         DB::beginTransaction();
         try {
         try {
@@ -82,7 +83,8 @@ class RolesAuthRule extends Model
             // 成功处理...
             // 成功处理...
         } catch (\Exception $e) {
         } catch (\Exception $e) {
             DB::rollBack();
             DB::rollBack();
-            print_r($e->getMessage());exit;
+            print_r($e->getMessage());
+            exit;
             // 错误处理...
             // 错误处理...
             return false;
             return false;
         }
         }
@@ -176,16 +178,17 @@ class RolesAuthRule extends Model
      * @param integer $uid  用户id
      * @param integer $uid  用户id
      * @param integer $type
      * @param integer $type
      */
      */
-    public function getAuthList($uid,$module='manager')
+    public function getAuthList($uid, $module = 'manager')
     {
     {
-        if( is_super($uid,$module) ){
-            $rules					=  (new MenuModel)->getList($module,true);
-            $rules                  = array_column($rules,'url');
-        }else{
-            $rules                  = $this
-                                ->join('personnel_employee','personnel_employee.role_id','=','personnel_roles_auth_rule.role_id')
-                                ->where([['personnel_employee.id','=',$uid]])
-                                ->pluck('personnel_roles_auth_rule.url')->toArray();
+        if (is_super($uid, $module)) {
+            $rules                    =  (new MenuModel)->getList($module, true);
+            $rules                  = array_column($rules, 'url');
+        } else {
+            // 获取用户角色
+            $EmployeeModel = new EmployeeModel();
+            $role_ids = $EmployeeModel->where([['id', '=', $uid]])->value('role_id');
+            if (!$role_ids) return [];
+            $rules = $this->where([['roles_id', '=', $role_ids]])->pluck('url')->toArray();
         }
         }
         // 循环转大写
         // 循环转大写
         foreach ($rules as $key => $rule) {
         foreach ($rules as $key => $rule) {