Преглед изворни кода

feat: EK-879: 【AE】管理员增加“Country”属性,根据所选国家限制登录后所显示的奖金、余额等数据(二期).

kevinElken пре 9 месеци
родитељ
комит
bca9ec6978

+ 23 - 9
backendApi/modules/v1/controllers/UserController.php

@@ -727,24 +727,15 @@ class UserController extends BaseController
     public function actionMove()
     {
         $filter = $this->filterCondition([
-//            'userIds' => 'UM.USER_ID',
             'filterStatus' => 'UM.AUDIT_STATUS',
             'MOVE_USER_NAME' => 'CU.USER_NAME',
             'MOVE_REAL_NAME' => 'CU.REAL_NAME',
-//            'moveType' => 'UM.TYPE',
-//            'FROM_USER_NAME' => 'FUI.USER_NAME',
-//            'TO_USER_NAME' => 'TUI.USER_NAME',
             'MOVE_PERCENT_SHOW' => 'UM.MOVE_PERCENT',
-//            'STARTED_AT' => 'UM.STARTED_AT',
-//            'ENDED_AT' => 'UM.ENDED_AT',
             'CREATE_ADMIN_NAME' => 'ADMC.ADMIN_NAME',
             'PERIOD_NUM' => 'UM.PERIOD_NUM',
-//            'CREATED_AT' => 'UM.CREATED_AT',
             'AUDIT_ADMIN_NAME' => 'ADMU.ADMIN_NAME',
             'MOVE_ADMIN_NAME' => 'ADMC.ADMIN_NAME',
-//            'AUDIT_PERIOD_NUM' => 'UM.AUDIT_PERIOD_NUM',
             'AUDITED_AT' => 'UM.AUDITED_AT',
-//            'CREATE_REMARK' => 'UM.CREATE_REMARK',
         ]);
         $condition = $filter['condition'];
         $params = $filter['params'];
@@ -912,6 +903,17 @@ class UserController extends BaseController
     {
         $userName = Yii::$app->request->get('userName');
         $userInfo = Info::getBaseUserByUserName($userName);
+
+        $isSuper = AdminRole::isSuperAdmin(\Yii::$app->getUser()->getUserInfo()['roleId']);
+        if (!$isSuper) {
+            $adminId = Yii::$app->getUser()->getUserInfo()['id'];
+            $adminCountry = AdminCountry::getCountry($adminId);
+
+            if (!in_array($userInfo['COUNTRY_ID'], $adminCountry)) {
+                return static::notice('Member number does not exist', 400);
+            }
+        }
+
         if($userInfo){
             $decLevelConfig = Cache::getDecLevelConfig();
             $userInfo['LEVEL_NAME'] = isset($decLevelConfig[$userInfo['DEC_LV']])?$decLevelConfig[$userInfo['DEC_LV']]['LEVEL_NAME'] : '';
@@ -1475,6 +1477,18 @@ class UserController extends BaseController
         ]);
         $condition = $filter['condition'];
         $params = $filter['params'];
+
+        $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 .= " AND CU.COUNTRY_ID IN (" . implode(',', $quotedAdminCountry) . ")";
+        }
+
         $listObj = new DecLevelList();
         $data = $listObj->getList(['condition' => $condition, 'params' => $params]);
 

+ 2 - 3
backendApi/modules/v1/models/lists/user/DecLevelList.php

@@ -27,13 +27,12 @@ class DecLevelList extends \common\libs\dataList\DataList implements DataListInt
     public function dataHandle()
     {
         $this->listData = DecLevelLog::lists($this->condition, $this->params, [
-            'select' => 'LL.*,
-                CU.USER_NAME,ADM.ADMIN_NAME',
+            'select' => 'LL.*, CU.USER_NAME, ADM.ADMIN_NAME',
             'orderBy' => 'LL.CREATED_AT DESC, LL.ID DESC',
             'from' => DecLevelLog::tableName() . ' AS LL',
             'join' => [
                 ['LEFT JOIN', Admin::tableName() . ' AS ADM', 'LL.ADMIN_ID=ADM.ID'],
-                ['LEFT JOIN', User::tableName() . ' AS CU', 'LL.USER_ID=CU.ID'],
+                ['INNER JOIN', User::tableName() . ' AS CU', 'LL.USER_ID=CU.ID'],
             ],
             'page' => $this->page,
             'pageSize' => $this->pageSize,