request->get('user_id'); $level = Yii::$app->request->get('level'); if (!isset($userID) && !isset($level)) return $this->render('rebate_list'); if (!isset($userID)) return InfoUtil::Info($this, '未填写用户ID'); if (!isset($level)) return InfoUtil::Info($this, '未填写几级分销'); $page = Yii::$app->request->get('page'); if (empty($page)) $page = 1; $page--; $pageSize = 20; $offset = $page * $pageSize; $find = Rebate::find()->where(['be_user_id' => $userID, 'level' => $level])->orderBy(['updated_at' => SORT_DESC]); $totalCount = $find->count(); $totalGold = $find->sum('rebate_gold'); $dbList = $find->offset($offset)->limit($pageSize)->all(); $pages = new Pagination(['totalCount' => $totalCount, 'pageSize' => $pageSize]); $returnData['totalCount'] = $totalCount; $returnData['totalGold'] = $totalGold; $returnData['list'] = $dbList; $returnData['pages'] = $pages; return $this->render('rebate_list', $returnData); } public function actionRebateUserList() { $userID = Yii::$app->request->get('user_id'); $startDate = Yii::$app->request->get('startDate'); $endDate = Yii::$app->request->get('endDate'); $level = Yii::$app->request->get('level'); if (!isset($userID)) return $this->render('rebate_user_list'); if (!isset($userID)) return InfoUtil::Info($this, '玩家ID错误'); $page = Yii::$app->request->get('page'); if (empty($page)) $page = 1; $page--; $pageSize = 20; $offset = $page * $pageSize; if (empty($startDate)) $startDate = 0; if (empty($endDate)) $endDate = time(); if (empty($level)) $level = '1,2,3'; $sql = 'SELECT ur.* ,user.phone,user.nickname,user.realname FROM farm.farm_user_rebate ur left join farm.farm_user user on child_user_id=user.id where parent_user_id=:parent_user_id AND ur.created_at>=:startDate AND ur.created_at<=:endDate AND ur.level in(:level) ORDER BY ur.created_at DESC '; $find = Yii::$app->db->createCommand($sql) ->bindValue(':parent_user_id', $userID) ->bindValue(':startDate', $startDate) ->bindValue(':endDate', $endDate); $sql = $find->getRawSql(); $countSql = sprintf('select count(*) count from (%s) u', $sql); $totalCount = Yii::$app->db->createCommand(str_replace(':level', $level, $countSql)) ->queryOne()['count']; $findSql = sprintf('%s LIMIT :offset,:count', $sql); $dbList = Yii::$app->db->createCommand(str_replace(':level', $level, $findSql)) ->bindValue(':offset', $offset) ->bindValue(':count', $pageSize) ->queryAll(); $pages = new Pagination(['totalCount' => $totalCount, 'pageSize' => $pageSize]); $parentUserIDList = UserRebate::find()->andWhere(['child_user_id' => $userID])->orderBy(['level' => SORT_DESC])->all(); $str = ''; for ($i = 0; $i < count($parentUserIDList); $i++) { if ($i == count($parentUserIDList) - 1) $str .= sprintf('%s', $parentUserIDList[$i]->parent_user_id); else $str .= sprintf('%s=>', $parentUserIDList[$i]->parent_user_id); } if (empty($str)) $str = "无"; $returnData['totalCount'] = $totalCount; $returnData['list'] = $dbList; $returnData['pages'] = $pages; $returnData['parentUser'] = $str; return $this->render('rebate_user_list', $returnData); } }