Browse Source

会员列表SQL将JOIN拆分开

theo 3 năm trước cách đây
mục cha
commit
7ed7621faf
1 tập tin đã thay đổi với 18 bổ sung9 xóa
  1. 18 9
      backendApi/modules/v1/models/lists/user/IndexList.php

+ 18 - 9
backendApi/modules/v1/models/lists/user/IndexList.php

@@ -32,7 +32,7 @@ class IndexList extends \common\libs\dataList\DataList implements DataListInterf
      */
     public function dataHandle()
     {
-        $this->condition .= ' AND UN.USER_ID=UI.USER_ID AND UN.PARENT_UID=UI.CON_UID';
+//        $this->condition .= ' AND UN.PARENT_UID=UI.CON_UID';
         $this->listData = User::lists($this->condition, $this->params, [
             'select' => 'U.*,
                 UI.USER_ID, UI.ZC_PV, UI.CON_UID, UI.REC_UID, UI.CON_NUM, UI.REC_NUM, UI.NETWORK_DEEP, 
@@ -42,24 +42,33 @@ class IndexList extends \common\libs\dataList\DataList implements DataListInterf
                 UI.HIGHEST_EMP_LV, UI.CLOSE_LOGIN_AT, UI.PULLED_AT, 
                 UI.GROUP_LEADER_AT, UI.ALLOW_TRANSFER, UI.ALLOW_RECONSUME_SMS, UI.ALLOW_RECONSUME_SMS_TO, 
                 UI.HIGHEST_EMP_LV_PERIOD, UI.TRANSFER_PROP, UI.LOGIN_NUMS, UI.FAIL_NUMS, UI.LAST_LOGIN_IP, 
-                UI.LAST_LOGIN_AT, UI.SHOW_EMP_LV,UN.RELATIVE_LOCATION,
-                CU.USER_NAME CON_USER_NAME,CU.REAL_NAME CON_REAL_NAME,
-                RU.USER_NAME REC_USER_NAME,RU.REAL_NAME REC_REAL_NAME,
-                DU.USER_NAME DEC_USER_NAME
+                UI.LAST_LOGIN_AT, UI.SHOW_EMP_LV
                 ',
             'orderBy' => 'UI.CREATED_AT DESC',
             'from' => UserInfo::tableName() . ' AS UI',
             'join' => [
                 ['LEFT JOIN', User::tableName() . ' AS U', 'U.ID=UI.USER_ID'],
-                ['LEFT JOIN', UserNetwork::tableName() . ' AS UN', 'UI.USER_ID=UN.USER_ID'],
-                ['LEFT JOIN', User::tableName() . ' AS CU', 'UI.CON_UID=CU.ID'],
-                ['LEFT JOIN', User::tableName() . ' AS RU', 'UI.REC_UID=RU.ID'],
-                ['LEFT JOIN', User::tableName() . ' AS DU', 'U.DEC_ID=DU.ID'],
+//                ['LEFT JOIN', UserNetwork::tableName() . ' AS UN', 'UI.USER_ID=UN.USER_ID AND UN.PARENT_UID = UI.CON_UID'],
+//                ['LEFT JOIN', User::tableName() . ' AS CU', 'UI.CON_UID=CU.ID'],
+//                ['LEFT JOIN', User::tableName() . ' AS RU', 'UI.REC_UID=RU.ID'],
+//                ['LEFT JOIN', User::tableName() . ' AS DU', 'U.DEC_ID=DU.ID'],
             ],
             'page' => $this->page,
             'pageSize' => $this->pageSize,
         ]);
         foreach ($this->listData['list'] as $key => $value) {
+            $cu = User::find()->select('USER_NAME, REAL_NAME')->where(["ID"=>$value['CON_UID']])->asArray()->one();
+            $this->listData['list'][$key]['CON_USER_NAME'] = $cu?$cu['USER_NAME']:"";
+            $this->listData['list'][$key]['CON_REAL_NAME'] = $cu?$cu['REAL_NAME']:"";
+            $ru = User::find()->select('USER_NAME, REAL_NAME')->where(["ID"=>$value['REC_UID']])->asArray()->one();
+            $this->listData['list'][$key]['REC_USER_NAME'] = $ru?$ru['USER_NAME']:"";
+            $this->listData['list'][$key]['REC_REAL_NAME'] = $ru?$ru['REAL_NAME']:"";
+            $du = User::find()->select('USER_NAME, REAL_NAME')->where(["ID"=>$value['DEC_ID']])->asArray()->one();
+            $this->listData['list'][$key]['DEC_USER_NAME'] = $du?$du['USER_NAME']:"";
+
+            $un = UserNetwork::find()->select('RELATIVE_LOCATION')->where(["USER_ID"=>$value['USER_ID'],"PARENT_UID"=>$value['CON_UID']])->asArray()->one();
+            $this->listData['list'][$key]['RELATIVE_LOCATION'] = $un?$un['RELATIVE_LOCATION']:"";
+
             // 后台访问前台的请求参数
             if (!$this->isExport && Yii::$app->user->validateAdminAction('user', 'login-to-frontend')) {
                 $urlParams = BackendToFrontendApi::paramsFormat(['id' => $value['USER_ID']]);