Jelajahi Sumber

Merge branch 'dev' of http://16.162.42.175:8014/guanli/aklast into dev

# Conflicts:
#	common/components/SwooleAsyncTimer.php
#	common/helpers/DingTalk.php
#	console/controllers/ToolController.php
kevin_zhangl 3 tahun lalu
induk
melakukan
e31843711b

+ 8 - 4
common/models/UserNetwork.php

@@ -256,7 +256,7 @@ class UserNetwork extends \common\components\ActiveRecord
      * @throws \yii\base\Exception
      * @throws \yii\base\Exception
      * @throws \yii\db\Exception
      * @throws \yii\db\Exception
      */
      */
-    public static function getChildrenWithDeepAndLayer($userId, $deep, $loopedDeep = 1, $periodNum=null){
+    public static function getChildrenWithDeepAndLayer($userId, $deep, $loopedDeep = 1, $periodNum=null, $hiddenUser=[]){
         $allData = self::getChildrenFromPeriod($userId, $periodNum);
         $allData = self::getChildrenFromPeriod($userId, $periodNum);
         if($allData){
         if($allData){
             $decLevelConfig = Cache::getDecLevelConfig();
             $decLevelConfig = Cache::getDecLevelConfig();
@@ -273,10 +273,14 @@ class UserNetwork extends \common\components\ActiveRecord
 //                    'MOBILE' => $baseInfo['MOBILE'],
 //                    'MOBILE' => $baseInfo['MOBILE'],
                     'PERIOD_AT' => $baseInfo['PERIOD_AT'],
                     'PERIOD_AT' => $baseInfo['PERIOD_AT'],
                 ]);
                 ]);
+                if(in_array($data['USER_ID'], $hiddenUser)){
+                    unset($allData[$key]);
+                    continue;
+                }
                 // 获取字节点数量
                 // 获取字节点数量
                 $childNum = self::firstFloorChildNumFromPeriod($data['USER_ID'], $periodNum);
                 $childNum = self::firstFloorChildNumFromPeriod($data['USER_ID'], $periodNum);
                 if($childNum > 0 && $loopedDeep < $deep){
                 if($childNum > 0 && $loopedDeep < $deep){
-                    $child = self::getChildrenWithDeepAndLayer($data['USER_ID'], $deep, $loopedDeep + 1, $periodNum);
+                    $child = self::getChildrenWithDeepAndLayer($data['USER_ID'], $deep, $loopedDeep + 1, $periodNum, $hiddenUser);
                     $leaf = false;
                     $leaf = false;
                     $icon = 'el-icon-user-solid';
                     $icon = 'el-icon-user-solid';
                 }
                 }
@@ -297,7 +301,7 @@ class UserNetwork extends \common\components\ActiveRecord
                 $allData[$key]['displayNone'] = 'display-none';
                 $allData[$key]['displayNone'] = 'display-none';
             }
             }
         }
         }
-        return $allData;
+        return array_values($allData);
     }
     }
 
 
     /**
     /**
@@ -337,7 +341,7 @@ class UserNetwork extends \common\components\ActiveRecord
         $table = self::getTableNameFromPeriod($periodNum);
         $table = self::getTableNameFromPeriod($periodNum);
         $db = $table['db'];
         $db = $table['db'];
         $tableName = $table['tableName'];
         $tableName = $table['tableName'];
-        return $db->createCommand("SELECT USER_ID,TOP_DEEP,RELATIVE_LOCATION FROM {$tableName} WHERE PARENT_UID=:PARENT_UID AND USER_ID NOT IN (SELECT HIDDEN_USER_ID FROM AR_USER_NETWORK_HIDDEN WHERE USER_ID=:PARENT_UID)")->bindValues([':PARENT_UID'=>$userId])->queryAll();
+        return $db->createCommand("SELECT USER_ID,TOP_DEEP,RELATIVE_LOCATION FROM {$tableName} WHERE PARENT_UID=:PARENT_UID")->bindValues([':PARENT_UID'=>$userId])->queryAll();
     }
     }
 
 
     /**
     /**

+ 57 - 0
common/models/UserNetworkHidden.php

@@ -0,0 +1,57 @@
+<?php
+
+namespace common\models;
+
+use common\components\ActiveRecord;
+
+/**
+ * This is the model class for table "{{%USER_NETWORK}}".
+ *
+ * @property string $USER_ID 会员ID
+ * @property string $HIDDEN_USER_ID 隐藏会员ID
+ */
+class UserNetworkHidden extends \common\components\ActiveRecord
+{
+    /**
+     * @inheritdoc
+     */
+    public static function tableName()
+    {
+        return '{{%USER_NETWORK_HIDDEN}}';
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function rules()
+    {
+        return [
+        ];
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function attributeLabels()
+    {
+        return [
+            'USER_ID' => '会员ID',
+            'HIDDEN_USER_ID' => '隐藏会员ID',
+        ];
+    }
+
+    /**
+     * 获取隐藏会员列表
+     * @param $userId
+     * @return array
+     */
+    public static function fetchHiddenUser($userId)
+    {
+        $hiddenUsers = static::find()->select(['HIDDEN_USER_ID'])->where('USER_ID=:USER_ID', ['USER_ID'=>$userId])->asArray()->all();
+        $hiddenUser = [];
+        foreach($hiddenUsers as $hu){
+            $hiddenUser[] = $hu['HIDDEN_USER_ID'];
+        }
+        return $hiddenUser;
+    }
+}

+ 5 - 2
frontendApi/modules/v1/controllers/AtlasController.php

@@ -12,6 +12,7 @@ use common\helpers\Cache;
 use common\helpers\user\Info;
 use common\helpers\user\Info;
 use common\models\Period;
 use common\models\Period;
 use common\models\UserNetwork;
 use common\models\UserNetwork;
+use common\models\UserNetworkHidden;
 use Yii;
 use Yii;
 use common\models\User;
 use common\models\User;
 
 
@@ -81,10 +82,12 @@ class AtlasController extends BaseController {
         $userId = Yii::$app->request->get('id', \Yii::$app->user->id);
         $userId = Yii::$app->request->get('id', \Yii::$app->user->id);
         $periodNum = Yii::$app->request->get('periodNum', null);
         $periodNum = Yii::$app->request->get('periodNum', null);
         $deep = Yii::$app->request->get('deep', 5);
         $deep = Yii::$app->request->get('deep', 5);
+        $myUserId = \Yii::$app->user->id;
+        $hiddenUser = UserNetworkHidden::fetchHiddenUser($myUserId);
         if ($deep > 20) {
         if ($deep > 20) {
             return static::notice('最多查看会员的前20层子会员', 400);
             return static::notice('最多查看会员的前20层子会员', 400);
         }
         }
-        $allData = UserNetwork::getChildrenWithDeepAndLayer($userId, $deep, 1, $periodNum);
+        $allData = UserNetwork::getChildrenWithDeepAndLayer($userId, $deep, 1, $periodNum, $hiddenUser);
         return static::notice(['allData' => $allData, 'periodNum' => $periodNum]);
         return static::notice(['allData' => $allData, 'periodNum' => $periodNum]);
     }
     }
 
 
@@ -147,4 +150,4 @@ class AtlasController extends BaseController {
         ]);
         ]);
     }
     }
 
 
-}
+}

+ 6 - 4
frontendApi/modules/v1/controllers/OauthController.php

@@ -57,7 +57,7 @@ class OauthController extends BaseController
         if($isDec==1 && $item['allow']=='declarer'){
         if($isDec==1 && $item['allow']=='declarer'){
             return true;
             return true;
         }
         }
-        
+
         return false;
         return false;
     }
     }
 
 
@@ -95,7 +95,9 @@ class OauthController extends BaseController
      * @throws \yii\base\Exception
      * @throws \yii\base\Exception
      */
      */
     public function actionLogin() {
     public function actionLogin() {
-        $userName = Yii::$app->request->post('userName');
+        $userName = preg_replace("/[^A-Z0-9]/", "", Yii::$app->request->post('userName'));
+        $posts = Yii::$app->request->post();
+        $posts['userName'] = $userName;
         $model = new LoginForm(
         $model = new LoginForm(
             [
             [
                 'userName' =>$userName
                 'userName' =>$userName
@@ -106,7 +108,7 @@ class OauthController extends BaseController
         }else {
         }else {
             $model->scenario = 'login';
             $model->scenario = 'login';
         }
         }
-        if ($model->load(Yii::$app->request->post(), '') && $model->login()) {
+        if ($model->load($posts, '') && $model->login()) {
             $token = Yii::$app->getUser()->getToken();
             $token = Yii::$app->getUser()->getToken();
             return static::notice($token);
             return static::notice($token);
         } else {
         } else {
@@ -201,4 +203,4 @@ class OauthController extends BaseController
         return static::notice('非法访问', 400);
         return static::notice('非法访问', 400);
     }
     }
 
 
-}
+}