render('index'); } //会员列表 public function actionList() { $username = Yii::$app->user->identity->username; $cookie = new HiCookie(); $post = Yii::$app->request->post(); $where = $serach = []; $searchCookie = 'Member::List'; $Member = new Member(); if(isset($_GET['reset']) && $_GET['reset']==1){ $post['search'] = []; } if(isset($post['search'])){ $search = $post['search']; $cookie->set($searchCookie,$search,false); }elseif($cookie->get($searchCookie)){ $search = $cookie->get($searchCookie); } $where[] = 'or'; $search['username'] = isset($search['username']) ? trim(htmlspecialchars_decode($search['username'])) : ''; if($search['username']){ $where[] = ['LIKE','username',$search['username']]; } $search['mobile'] = isset($search['mobile']) ? trim(htmlspecialchars_decode($search['mobile'])) : ''; if($search['mobile']){ $where[] = ['LIKE','mobile',$search['mobile']]; } $search['email'] = isset($search['email']) ? trim(htmlspecialchars_decode($search['email'])) : ''; if($search['email']){ $where[] = ['LIKE','email',$search['email']]; } //没有搜索条件时,重置一下$where if(count($where)==1){ $where = []; } $data = $Member->find()->where($where); $pages = new Pagination(['totalCount' =>$data->count(), 'pageSize' => '20']); $members = $data->offset($pages->offset)->limit($pages->limit)->all(); $status = [ 0=>'禁用', 1=>'正常' ]; return $this->render('list',[ 'member'=>$members, 'search'=>$search, 'count'=>$data->count(), 'status'=>$status, 'pages' => $pages ]); } //新增会员 public function actionCreate() { $model = new Member(); if ($model->load(Yii::$app->request->post())) { $post = Yii::$app->request->post(); $model->username = $post['Member']['username']; $model->mobile = $post['Member']['mobile']; $model->email = $post['Member']['email']; $user = Member::find()->where(['mobile'=>$model->mobile])->all(); if(!empty($user)){ \Yii::$app->getSession()->setFlash('error', '该手机号已使用!'); return $this->redirect(['create']); } $user = Member::find()->where(['email'=>$model->email])->all(); if(!empty($user)){ \Yii::$app->getSession()->setFlash('error', '邮箱重复!'); return $this->redirect(['create']); } $model->avatar = $post['Member']['avatar']; $model->setPassword($post['Member']['auth_key']); $model->generateAuthKey(); $model->created_at = time(); $model->save(); $user_id = $model->attributes['id']; //获取插入后id return $this->redirect(['list']); } else { return $this->render('create', [ 'model' => $model, 'params' => Yii::$app->params ]); } } //更新会员 public function actionUpdate(){ $id = Yii::$app->request->get('id'); $model = $this->findModel($id); $status = [ 0=>'禁用', 1=>'正常' ]; if ($model->load(Yii::$app->request->post())) { $post = Yii::$app->request->post(); $mobile = $post['Member']['mobile']; if($model->mobile != $mobile){ $user = Member::find()->where(['mobile'=>$mobile])->all(); if(!empty($user)){ \Yii::$app->getSession()->setFlash('error', '该手机号已由其他账号绑定!'); return $this->render('update',[ 'model' => $model, 'status'=>$_status, ]); } } $email = $post['Member']['email']; if($model->email != $email){ $user = Member::find()->where(['email'=>$email])->all(); if(!empty($user)){ \Yii::$app->getSession()->setFlash('error', '该邮箱已有其他账号绑定!'); return $this->render('update',[ 'model' => $model, 'status'=>$status, ]); } } //更新密码 if(!empty($post['Member']['auth_key_new'])){ $model->setPassword($post['Member']['auth_key_new']); $model->generateAuthKey(); }else{ $model->auth_key = $post['Member']['auth_key']; } $model->avatar = $post['Member']['username']; $model->avatar = $post['Member']['avatar']; $model->mobile = $post['Member']['mobile']; $model->email = $post['Member']['email']; $model->status = $post['Member']['status']; $res = $model->save($post); \Yii::$app->getSession()->setFlash('sucess', '账户信息更新成功!'); return $this->redirect(['list']); } return $this->render('update',[ 'model' => $model, 'status'=>$status, ]); } //删除会员 public function actionRemove($id) { $connection=Yii::$app->db; $transaction=$connection->beginTransaction(); try { $connection->createCommand()->delete(Member::tableName(), "id = '$id'")->execute(); $transaction->commit(); } catch(Exception $ex) { $transaction->rollBack(); } return $this->redirect(['list']); } protected function findModel($id) { if (($model = Member::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } } }