public function actionSearch()
 {
     $request = Yii::$app->request;
     $type = $request->get("type");
     $query = Yii::$app->session->getFlash('query');
     if (!$type) {
         $type = $request->post("type");
         $content = $request->post("content");
     } else {
         $content = $request->get("content");
     }
     if ($type || !$query) {
         switch ($type) {
             case 'userId':
                 $query = Service::find()->where(['userId' => $content]);
                 break;
             case 'date':
                 $query = Service::find()->where(['between', 'createDate', date('Y-m-d H:i:s', strtotime($content)), date('Y-m-d H:i:s')]);
                 break;
             case 'state':
                 if ($content == 'noReply') {
                     $query = Service::find()->where(['state' => Service::STATE_UNREPLY]);
                 } elseif ($content == 'replied') {
                     $query = Service::find()->where(['state' => Service::STATE_REPLIED]);
                 } elseif ($content == 'publish') {
                     $query = Service::find()->where(['state' => Service::STATE_PUBLISH]);
                 } else {
                     $query = Service::find();
                 }
                 break;
             case 'nickname':
                 $table_a = Service::tableName();
                 $table_b = Users::tableName();
                 $query = Service::find()->leftJoin($table_b, "{$table_a}.userId={$table_b}.userId")->where(['like', "{$table_b}.nickname", $content]);
                 break;
             case 'content':
                 $query = Service::find()->where(['like', $type, $content]);
                 break;
             default:
                 $query = Service::find();
                 break;
         }
     }
     $pagination = new Pagination(['defaultPageSize' => Yii::$app->params['pageSize'], 'totalCount' => $query->count()]);
     $models = $query->offset($pagination->offset)->limit($pagination->limit)->orderBy(['createDate' => SORT_DESC])->all();
     return $this->render('index', ['models' => $models, 'pages' => $pagination]);
 }
 /** 查询 */
 public function actionSearch()
 {
     $request = Yii::$app->request;
     $query = Yii::$app->session->getFlash('query');
     if ($request->isPost) {
         $type = $request->post('type');
         $content = $request->post('content');
     } else {
         $type = $request->get('type');
         $content = trim($request->get('content'));
     }
     if ($type || !$query) {
         $user = Yii::$app->session->get('user');
         switch ($type) {
             case 'income':
                 if ($content == 'my') {
                     $query = IncomeConsume::find()->where(['type' => IncomeConsume::TYPE_INCOME, 'userId' => $user['userId']]);
                 } elseif ($content == 'others') {
                     $query = IncomeConsume::find()->where(['type' => IncomeConsume::TYPE_INCOME, 'FromUserId' => $user['userId']]);
                 }
                 break;
             case 'consume':
                 if ($content == 'my') {
                     $query = IncomeConsume::find()->where(['type' => IncomeConsume::TYPE_CONSUME, 'userId' => $user['userId']]);
                 }
                 break;
             case 'userId':
                 $query = IncomeConsume::find()->where(['userId' => $user['userId']])->orWhere(['fromUserId' => $user['userId']])->andWhere(['userId' => $content]);
                 break;
             case 'nickname':
             case 'realname':
                 $table_a = IncomeConsume::tableName();
                 $table_b = Users::tableName();
                 $query = IncomeConsume::find()->leftJoin($table_b, "{$table_a}.userId={$table_b}.userId")->where(["{$table_a}.userId" => $user['userId']])->orWhere(["{$table_a}.fromUserId" => $user['userId']])->andWhere(['like', "{$table_b}.{$type}", $content]);
                 break;
             default:
                 $query = IncomeConsume::find()->where(['userId' => $user['userId']])->orWhere(['fromUserId' => $user['userId']]);
                 break;
         }
     }
     Yii::$app->session->setFlash('query', $query);
     $pagination = new Pagination(['defaultPageSize' => Yii::$app->params['pageSize'], 'totalCount' => $query->count()]);
     $model = $query->offset($pagination->offset)->limit($pagination->limit)->orderBy(['createDate' => SORT_DESC])->all();
     return $this->render('index', ['models' => $model, 'pages' => $pagination]);
 }
 public function actionSearch()
 {
     $request = Yii::$app->request;
     $query = Yii::$app->session->getFlash('query');
     if ($request->isPost) {
         $type = $request->post('type');
         $content = trim($request->post('content'));
     } else {
         $type = $request->get('type');
         $content = trim($request->get('content'));
     }
     if ($type || !$query) {
         switch ($type) {
             case 'province':
                 $table_a = Users::tableName();
                 $table_b = Province::tableName();
                 $query = Users::find()->leftJoin($table_b, "{$table_a}.provinceId={$table_b}.provinceId")->where(['like', "{$table_b}.name", $content]);
                 break;
             case 'majorJob':
                 $table_a = Users::tableName();
                 $table_b = MajorJob::tableName();
                 $query = Users::find()->leftJoin($table_b, "{$table_a}.majorJobId={$table_b}.majorJobId")->where(['like', $table_b . ".name", $content]);
                 break;
             case 'nickname':
             case 'cellphone':
                 $query = Users::find()->where(['like', $type, $content]);
                 break;
             default:
                 $query = Users::find();
                 break;
         }
         $query = $query->andWhere('weixin is not null');
         //添加微信用户条件,位置不可改
     }
     Yii::$app->session->setFlash('query', $query);
     $pagination = new Pagination(['defaultPageSize' => Yii::$app->params['pageSize'], 'totalCount' => $query->count()]);
     $user = $query->offset($pagination->offset)->limit($pagination->limit)->orderBy(['registerDate' => SORT_DESC])->all();
     return $this->render('index', ['users' => $user, 'pages' => $pagination]);
 }
 /** 资金查询 */
 public function actionSearch()
 {
     $request = Yii::$app->request;
     $query = Yii::$app->session->getFlash('query');
     if ($request->isPost) {
         $type = $request->post('type');
         $content = $request->post('content');
     } else {
         $type = $request->get('type');
         $content = trim($request->get('content'));
     }
     if ($type || !$query) {
         switch ($type) {
             case 'type':
                 $query = Money::find()->where(['type' => $content]);
                 break;
             case 'userId':
                 $query = Money::find()->Where(['userId' => $content]);
                 break;
             case 'nickname':
                 $table_a = Money::tableName();
                 $table_b = Users::tableName();
                 $query = Money::find()->leftJoin($table_b, "{$table_a}.userId={$table_b}.userId")->where(['like', "{$table_b}.nickname", $content]);
                 break;
             case 'pay-more':
                 $query = Money::find()->Where(['>=', 'money', $content])->andWhere(['type' => Money::TYPE_PAY]);
                 break;
             case 'pay-equal':
                 $query = Money::find()->where(['=', 'money', $content])->andWhere(['type' => Money::TYPE_PAY]);
                 break;
             case 'pay-less':
                 $query = Money::find()->Where(['<=', 'money', $content])->andWhere(['type' => Money::TYPE_PAY]);
                 break;
             case 'withdraw-more':
                 $query = Money::find()->Where(['>=', 'money', $content])->andWhere(['type' => Money::TYPE_WITHDRAW]);
                 break;
             case 'withdraw-equal':
                 $query = Money::find()->where(['=', 'money', $content])->andWhere(['type' => Money::TYPE_WITHDRAW]);
                 break;
             case 'withdraw-less':
                 $query = Money::find()->Where(['<=', 'money', $content])->andWhere(['type' => Money::TYPE_WITHDRAW]);
                 break;
             case 'role':
                 $role = '';
                 if ($content == 'a' || $content == 'A' || $content == 'A级') {
                     $role = Users::ROLE_A;
                 } elseif (strstr('金牌伙伴', $content)) {
                     $role = Users::ROLE_AA;
                 } elseif (strstr('钻石伙伴', $content)) {
                     $role = Users::ROLE_AAA;
                 } elseif ($content == '管理员') {
                     $role = Users::ROLE_ADMIN;
                 }
                 $table_a = Money::tableName();
                 $table_b = Users::tableName();
                 $query = Money::find()->leftJoin($table_b, "{$table_a}.userId={$table_b}.userId")->where(["{$table_b}.role" => $role]);
                 break;
             default:
                 $query = Money::find();
                 break;
         }
     }
     Yii::$app->session->setFlash('query', $query);
     $pagination = new Pagination(['defaultPageSize' => Yii::$app->params['pageSize'], 'totalCount' => $query->count()]);
     $model = $query->offset($pagination->offset)->limit($pagination->limit)->orderBy(['moneyId' => SORT_DESC])->all();
     return $this->render('index', ['models' => $model, 'pages' => $pagination]);
 }
 /** 发票查询 */
 public function actionSearch()
 {
     $request = Yii::$app->request;
     $session = Yii::$app->session;
     $query = $session->getFlash('query');
     if ($request->isPost) {
         $type = $request->post('type');
         $content = $request->post('content');
     } else {
         $type = $request->get('type');
         $content = trim($request->get('content'));
     }
     if ($type || !$query) {
         switch ($type) {
             case 'nickname':
                 $table_a = Invoice::tableName();
                 $table_b = Users::tableName();
                 $query = Invoice::find()->leftJoin($table_b, "{$table_a}.userId={$table_b}.userId")->where(['like', "{$table_b}.nickname", $content]);
                 break;
             case 'money-more':
                 $query = Invoice::find()->Where(['>=', 'money', $content]);
                 break;
             case 'money-equal':
                 $query = Invoice::find()->where(['==', 'money', $content]);
                 break;
             case 'money-less':
                 $query = Invoice::find()->Where(['<=', 'money', $content]);
                 break;
             case 'role':
                 $role = '';
                 if ($content == 'a' || $content == 'A' || $content == 'A级') {
                     $role = Users::ROLE_A;
                 } elseif (strstr('金牌伙伴', $content)) {
                     $role = Users::ROLE_AA;
                 } elseif (strstr('钻石伙伴', $content)) {
                     $role = Users::ROLE_AAA;
                 } elseif ($content == '管理员') {
                     $role = Users::ROLE_ADMIN;
                 }
                 $table_a = Invoice::tableName();
                 $table_b = Users::tableName();
                 $query = Invoice::find()->leftJoin($table_b, "{$table_a}.userId={$table_b}.userId")->where(["{$table_b}.role" => $role]);
                 break;
             default:
                 $query = Invoice::find()->where(['like', $type, $content]);
                 break;
         }
     }
     $view = $session->getFlash('view');
     if (!$view) {
         //非下一页
         $view = $request->get('view');
         //取哪个页面的搜索
         if (!$view) {
             //不存在即为index的搜索
             $view = 'index';
         }
     }
     if ($view == 'apply') {
         //发票申请的搜索
         $query->andWhere(['state' => Invoice::STATE_ING]);
     } elseif ($view == 'opener') {
         //发票开具的搜索
         $query->andWhere(['state' => Invoice::STATE_PASS]);
     }
     $session->setFlash('view', $view);
     $session->setFlash('query', $query);
     $pagination = new Pagination(['defaultPageSize' => Yii::$app->params['pageSize'], 'totalCount' => $query->count()]);
     $models = $query->offset($pagination->offset)->limit($pagination->limit)->orderBy(['createDate' => SORT_DESC])->all();
     return $this->render($view, ['models' => $models, 'pages' => $pagination]);
 }