Quellcode durchsuchen

feat: EK-2086: Member Portal : Dashboard Article and Ad only show self country.

kevin vor 3 Monaten
Ursprung
Commit
5405786755
1 geänderte Dateien mit 19 neuen und 1 gelöschten Zeilen
  1. 19 1
      backendApi/modules/v1/controllers/AdminController.php

+ 19 - 1
backendApi/modules/v1/controllers/AdminController.php

@@ -8,6 +8,7 @@
 namespace backendApi\modules\v1\controllers;
 
 use backendApi\modules\v1\models\Admin;
+use backendApi\modules\v1\models\AdminCountry;
 use backendApi\modules\v1\models\AdminForm;
 use backendApi\modules\v1\models\AdminRoleForm;
 use common\helpers\Cache;
@@ -15,6 +16,7 @@ use common\helpers\Date;
 use common\helpers\Form;
 use common\helpers\Log;
 use common\helpers\Tool;
+use common\models\Countries;
 use Yii;
 use backendApi\modules\v1\models\AdminRole;
 use backendApi\modules\v1\models\User;
@@ -82,7 +84,23 @@ class AdminController extends BaseController
         }
         // 获取全部管理员角色
         $adminRoles = Cache::getAdminRole();
-        return static::notice(['adminRoles'=>$adminRoles]);
+
+        $admin = Admin::findOne(Yii::$app->user->id);
+        $roleId = $admin->ROLE_ID;
+        if ($roleId == \Yii::$app->params['superAdminRoleId']) {
+            $countries = Countries::find()->asArray()->all();
+        } else {
+            // 关联国家
+            $countries = Countries::find()
+                ->select('COU.ID, COU.CODE, COU.NAME')
+                ->from(['COU' => Countries::tableName()])
+                ->join('INNER JOIN', AdminCountry::tableName() . ' AS ADL', 'countries.COUNTRY_ID = ADL.ID')
+                ->where(['ADL.ADMIN_ID' => $admin->ID])
+                ->asArray()
+                ->all();
+        }
+
+        return static::notice(['adminRoles'=>$adminRoles, 'countries'=>$countries]);
     }
 
     /**