Parcourir la source

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

kevinElken il y a 9 mois
Parent
commit
72f4a133d6
1 fichiers modifiés avec 30 ajouts et 17 suppressions
  1. 30 17
      backendApi/modules/v1/controllers/UserController.php

+ 30 - 17
backendApi/modules/v1/controllers/UserController.php

@@ -11,6 +11,7 @@ namespace backendApi\modules\v1\controllers;
 use backendApi\modules\v1\components\UserAuth;
 use backendApi\modules\v1\models\Admin;
 use backendApi\modules\v1\models\AdminCountry;
+use backendApi\modules\v1\models\AdminRole;
 use backendApi\modules\v1\models\exportForms\BaUserExportForm;
 use backendApi\modules\v1\models\exportForms\UserExportForm;
 use backendApi\modules\v1\models\lists\shop\BaUserList;
@@ -146,18 +147,24 @@ class UserController extends BaseController
             'ADDRESS' => 'U.ADDRESS',
         ]);
 
-        $adminId = Yii::$app->getUser()->getUserInfo()['id'];
-        $adminCountry = AdminCountry::getCountry($adminId);
-        $quotedAdminCountry = array_map(function($item) {
-            return "'" . addslashes($item) . "'";
-        }, $adminCountry);
+        $isSuper = AdminRole::isSuperAdmin(\Yii::$app->getUser()->getUserInfo()['roleId']);
+        if (!$isSuper) {
+            $adminId = Yii::$app->getUser()->getUserInfo()['id'];
+            $adminCountry = AdminCountry::getCountry($adminId);
+            $quotedAdminCountry = array_map(function($item) {
+                return "'" . addslashes($item) . "'";
+            }, $adminCountry);
 
-        $condition = $filter['condition'] ?? '';
-        $filter['condition'] = $condition . " AND U.COUNTRY_ID IN (" . implode(',', $quotedAdminCountry) . ")";
+            $condition = $filter['condition'] ?? '';
+            $filter['condition'] = $condition . " AND U.COUNTRY_ID IN (" . implode(',', $quotedAdminCountry) . ")";
 
-        $condition = $filter['condition'];
-        $params = $filter['params'];
-        $condition .= " AND UI.DELETED=0 AND U.COUNTRY_ID IN (" . implode(',', $quotedAdminCountry) . ")";
+            $condition = $filter['condition'];
+            $params = $filter['params'];
+            $condition .= " AND UI.DELETED=0 AND U.COUNTRY_ID IN (" . implode(',', $quotedAdminCountry) . ")";
+        } else {
+            $condition = $filter['condition'] ?? '';
+            $params = $filter['params'];
+        }
 
         $listObj = new IndexList();
         $data = $listObj->getList(['condition' => $condition, 'params' => $params]);
@@ -214,14 +221,20 @@ class UserController extends BaseController
             'ALLOW_TRANSFER' => 'UI.ALLOW_TRANSFER',
         ]);
 
-        $adminId = Yii::$app->getUser()->getUserInfo()['id'];
-        $adminCountry = AdminCountry::getCountry($adminId);
-        $quotedAdminCountry = array_map(function($item) {
-            return "'" . addslashes($item) . "'";
-        }, $adminCountry);
+        $isSuper = AdminRole::isSuperAdmin(\Yii::$app->getUser()->getUserInfo()['roleId']);
+        if (!$isSuper) {
+            $adminId = Yii::$app->getUser()->getUserInfo()['id'];
+            $adminCountry = AdminCountry::getCountry($adminId);
+            $quotedAdminCountry = array_map(function($item) {
+                return "'" . addslashes($item) . "'";
+            }, $adminCountry);
 
-        $condition = $filter['condition'] ?? '';
-        $filter['condition'] = $condition . " AND U.COUNTRY_ID IN (" . implode(',', $quotedAdminCountry) . ")";
+            $condition = $filter['condition'] ?? '';
+            $filter['condition'] = $condition . " AND U.COUNTRY_ID IN (" . implode(',', $quotedAdminCountry) . ")";
+        } else {
+            $condition = $filter['condition'] ?? '';
+            $filter['condition'] = $condition;
+        }
 
         $form = new UserExportForm();
         $result = $form->run($filter, 'Member_List');