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

feat: EK-856: 管理员增加“Country”属性.

kevinElken 9 месяцев назад
Родитель
Сommit
31345ede63
1 измененных файлов с 27 добавлено и 3 удалено
  1. 27 3
      backendApi/modules/v1/controllers/AdminController.php

+ 27 - 3
backendApi/modules/v1/controllers/AdminController.php

@@ -100,9 +100,21 @@ class AdminController extends BaseController
                 // Log::adminHandle('添加管理员:'.$result->ADMIN_NAME);
             });
         }
-        // 获取全部管理员角色
-        $adminRoles = Cache::getAdminRole();
-        return static::notice(['adminRoles'=>$adminRoles]);
+
+        $countries = Cache::getCountries();
+        $isSuper = AdminRole::isSuperAdmin(\Yii::$app->getUser()->getUserInfo()['roleId']);
+        if (!$isSuper) {
+            $adminId = Yii::$app->getUser()->getUserInfo()['id'];
+            $adminCountry = AdminCountry::getCountry($adminId);
+
+            $countries = array_filter($countries, fn($country) => in_array($country['ID'], $adminCountry));
+            $countries = array_values($countries);
+        }
+
+        return static::notice([
+            'adminRoles' => Cache::getAdminRole(),
+            'countries'  => $countries
+        ]);
     }
 
     /**
@@ -124,8 +136,20 @@ class AdminController extends BaseController
         $adminCountry = AdminCountry::getCountry($id);
         // 获取全部管理员角色
         $adminRoles = Cache::getAdminRole();
+
+        $countries = Cache::getCountries();
+        $isSuper = AdminRole::isSuperAdmin(\Yii::$app->getUser()->getUserInfo()['roleId']);
+        if (!$isSuper) {
+            $adminId = Yii::$app->getUser()->getUserInfo()['id'];
+            $adminCountry = AdminCountry::getCountry($adminId);
+
+            $countries = array_filter($countries, fn($country) => in_array($country['ID'], $adminCountry));
+            $countries = array_values($countries);
+        }
+
         return static::notice([
             'adminRoles' => $adminRoles,
+            'countries'  => $countries,
             'oneData' => [
                 'adminName' => $oneData['ADMIN_NAME'],
                 'realName' => $oneData['REAL_NAME'],