123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400 |
- <?php
- namespace backend\controllers;
- use backend\models\AuthArea;
- use common\models\CompanyApply;
- use common\models\User;
- use common\models\UserCompany;
- use common\library\LMUploadFile;
- use common\models\UserHouse;
- use Yii;
- use yii\data\Pagination;
- use yii\filters\AccessControl;
- use yii\web\UploadedFile;
- /**
- * 用户列表管理
- * @package backend\controllers
- */
- class UserController extends BaseController
- {
- public $layout = 'iframe';
- const PAGESIZE =20;
- public function behaviors()
- {
- return [
- 'access' => [
- 'class' => AccessControl::className(),
- 'rules' => [
- [
- 'actions' => [],
- 'allow' => true,
- 'roles' => ['@'],
- ],
- ],
- ],
- ];
- }
- // public function actionIndex()
- // {
- //
- // return $this->render('index');
- // }
- // /**
- // * 装修用户待审核列表
- // * @return string
- // */
- // public function actionAuditlist(){
- // $datas = User::find()->where(['state'=>User::USER_STATE_WAIT])->andWhere(['status'=>User::STATUS_ACTIVE])->andWhere(['role'=>User::USER_ROLE_DECORATE]);
- // $pages=new Pagination(["totalCount"=>$datas->count(),"pageSize"=>self::PAGESIZE]);
- // $datas=$datas->offset($pages->offset)->limit($pages->limit)->all();
- // return $this->render('auditlist',['datas'=>$datas,'pages'=>$pages]);
- // }
- // /**
- // * 用户审核操作
- // * @return string
- // */
- // public function actionUseraudit(){
- // $result = ['sign'=>1,'msg'=>'ok'];
- // $id = Yii::$app->request->post('id');
- // $conduct = Yii::$app->request->post('conduct');
- // $user = User::find()->where('id=:id and state!=:state',[':id'=>$id,':state'=>User::USER_STATE_THROUGH])->one();
- // if(!empty($user)){
- // if($conduct == 'agree'){
- // $user->state = User::USER_STATE_THROUGH;
- // $user->updated_at = time();
- //
- // if($user->validate() && $user->save()){
- //
- // $result = ['sign'=>1,'msg'=>'操作成功'];
- // return json_encode($result);
- // }else{
- // var_dump($user->getErrors());exit;
- // }
- // }else{
- // $user->state = User::USER_STATE_REJECT;
- // $user->updated_at = time();
- // if($user->validate() && $user->save()){
- // $result = ['sign'=>1,'msg'=>'操作成功'];
- // return json_encode($result);
- // }
- // }
- // }
- // $result = ['sign'=>0,'msg'=>'操作失败'];
- // return json_encode($result);
- // }
- /**
- * 普通用户列表
- * @return string
- */
- public function actionUserlist(){
- $datas = User::find()->where(['state'=>User::USER_STATE_THROUGH])->andWhere(['status'=>User::STATUS_ACTIVE])->andWhere(['role'=>User::USER_ROLE_COMMON]);
- // $datas = $datas->joinWith('userinfo');
- $pages=new Pagination(["totalCount"=>$datas->count(),"pageSize"=>self::PAGESIZE]);
- $datas=$datas->offset($pages->offset)->limit($pages->limit)->all();
- return $this->render('userlist',['datas'=>$datas,'pages'=>$pages]);
- }
- /**
- * 装修公司列表
- * @return string
- */
- public function actionDecoratelist(){
- $member = Yii::$app->request->get('member');
- $datas = UserCompany::find()->where(['u.state'=>User::USER_STATE_THROUGH])->andWhere(['u.role'=>User::USER_ROLE_DECORATE])->select('uc.* ,u.id as user_id,u.username,u.status')->from('{{%user_company}} uc')->leftJoin(['u'=>'{{%user}}'],'uc.uid=u.id');
- $name = Yii::$app->request->get('name');
- if(!empty($name)){
- $datas->andWhere('u.username like :name OR uc.company like :name ',[':name'=>"%$name%"]);
- }
- if($member>-1){
- $datas->andWhere('uc.member=:member',[':member'=>$member]);
- }
- $citys = AuthArea::queryAuth();
- if($citys=='all')
- $datas;
- elseif (!empty($citys))
- $datas->andWhere("uc.city in ({$citys})");
- else
- $datas->andWhere("uc.city = -1");
- $pages=new Pagination(["totalCount"=>$datas->count(),"pageSize"=>self::PAGESIZE]);
- $datas=$datas->orderBy(['uc.id'=>SORT_DESC])->offset($pages->offset)->limit($pages->limit)->asArray()->all();
- return $this->render('decoratelist',['datas'=>$datas,'pages'=>$pages,'member'=>$member,'name'=>$name]);
- }
- /**
- * 修改装修公司
- * @return string
- */
- public function actionEdit(){
- $id = Yii::$app->request->post('id');
- $member = Yii::$app->request->post('member');
- $model = UserCompany::find()->where('id=:id',['id'=>$id])->one();
- $model->member = $member;
- $model->updated_at = time();
- if($model->validate()&&$model->save()){
- $result=['sign'=>1,'msg'=>'修改成功'];
- }else{
- $result=['sign'=>4000,'msg'=>'会员变动失败'];
- }
- return json_encode($result);
- }
- /**
- * 上传公司logo
- */
- public function actionLogoimgurl()
- {
- if (Yii::$app->request->isPost) {
- $picture_form = new LMUploadFile();
- $picture_form->imageFile = UploadedFile::getInstance($picture_form, 'imageFile');
- if ($picture_form->upload('logo_picture',false,160,160)) {
- return "<script language='JavaScript'>window.parent.callback('上传成功!',1,'" . $picture_form->filepath . "');</script>";
- } else {
- if(isset($picture_form->getErrors()['imageFile'][0])){
- $error = $picture_form->getErrors()['imageFile'][0];
- }else{
- $error = '图片上传失败';
- }
- return "<script language='JavaScript'>window.parent.callback('上传失败!',0,'" . $error . "');</script>";
- }
- }
- }
- /**
- * 检查用户名
- */
- public function actionCheckname()
- {
- $username = Yii::$app->request->post('username');
- $model = User::find()->where('username=:username',[':username'=>$username])->one();
- if(!empty($model)){
- return json_encode('该账号已存在');
- }
- return json_encode('该账号可用');
- }
- /**
- * 检查email
- */
- public function actionCheckemail()
- {
- $email = Yii::$app->request->post('email');
- $model = User::find()->where('email=:email',[':email'=>$email])->one();
- if(!empty($model)){
- return json_encode('该email已存在');
- }
- return json_encode('该email可用');
- }
- /**
- * 检查电话
- */
- public function actionChecktel()
- {
- $tel = Yii::$app->request->post('tel');
- $model = UserCompany::find()->where('tel=:tel',[':tel'=>$tel])->one();
- if(!empty($model)){
- return json_encode('该号码已存在');
- }
- return json_encode('该号码可用');
- }
- /**
- * 添加装修公司
- */
- public function actionAdd_decorate()
- {
- if(Yii::$app->request->isPost){
- $username = Yii::$app->request->post('username');
- $company = Yii::$app->request->post('company');
- $member = Yii::$app->request->post('member');
- $logo = Yii::$app->request->post('logo');
- $licence = Yii::$app->request->post('licence');
- $age = Yii::$app->request->post('age');
- $level = Yii::$app->request->post('level');
- $tel = Yii::$app->request->post('tel');
- $email = Yii::$app->request->post('email');
- $province = Yii::$app->request->post('province');
- $city = Yii::$app->request->post('city');
- $district = Yii::$app->request->post('district');
- $address = Yii::$app->request->post('address');
- $introduction = Yii::$app->request->post('introduction');
- $pwd = Yii::$app->request->post('pwd');
- $pwd_again = Yii::$app->request->post('pwd_again');
- $vip_start = Yii::$app->request->post('vip_start');
- $vip_end = Yii::$app->request->post('vip_end');
- $picture_form = new LMUploadFile();
- if(!empty($company)&&!empty($username)&&!empty($pwd)&&isset($member)){
- $model = User::find()->where('username=:username',[':username'=>$username])->one();
- if(empty($model)){
- $model = new User();
- $usercompany = new UserCompany();
- if($pwd==$pwd_again){
- $hash_password = Yii::$app->security->generatePasswordHash($pwd);
- $model->password_hash = $hash_password;
- $model->generateAuthKey();
- $model->username = $username;
- //$model->tel = $tel;
- $model->email = $email;
- $model->created_at = time();
- $model->updated_at = time();
- $model->status = User::STATUS_ACTIVE;
- $model->state = User::USER_STATE_THROUGH;
- $model->role = User::USER_ROLE_DECORATE;
- if($model->validate() ){
- $transaction = Yii::$app->db->beginTransaction();
- if($model->save()) {
- $usercompany->uid = $model->id;
- $usercompany->member = $member;
- $usercompany->logo = $logo;
- $usercompany->company = $company;
- $usercompany->updated_at = time();
- $usercompany->age = $age;
- $usercompany->licence = $licence;
- $usercompany->level = $level;
- $usercompany->created_at = time();
- $usercompany->province = $province;
- $usercompany->city = $city;
- $usercompany->tel = $tel;
- $usercompany->district = $district;
- $usercompany->address = $address;
- $usercompany->introduction = $introduction;
- if($member == UserCompany::ISMEMBER)
- {
- if(!empty($vip_start)){
- $usercompany->vip_start = strtotime($vip_start);}
- if(!empty($vip_end)){
- $usercompany->vip_end = strtotime($vip_end);}
- }
- if ($usercompany->validate() && $usercompany->save()) {
- $transaction->commit();
- Yii::$app->getSession()->setFlash('success', '添加成功!');
- $this->redirect(['user/decoratelist']);
- }else{
- var_dump($usercompany->getErrors());exit;
- $transaction->rollBack();
- Yii::$app->getSession()->setFlash('error', '添加失败');
- return $this->render('adddecorate',["picture_form" => $picture_form]);
- }
- }else{
- var_dump($model->getErrors());exit;
- $transaction->rollBack();
- Yii::$app->getSession()->setFlash('error', '添加失败');
- return $this->render('adddecorate',["picture_form" => $picture_form]);
- }
- }else{
- var_dump($model->getErrors());exit;
- Yii::$app->getSession()->setFlash('error', '添加失败');
- return $this->render('adddecorate',["picture_form" => $picture_form]);
- }
- }else{
- Yii::$app->getSession()->setFlash('error', '确认密码不相同');
- return $this->render('adddecorate',["picture_form" => $picture_form]);
- }
- }else{
- Yii::$app->getSession()->setFlash('error', '该号码已经注册!');
- return $this->render('adddecorate',["picture_form" => $picture_form]);
- }
- }else{
- Yii::$app->getSession()->setFlash('error', '输入不能空!');
- return $this->render('adddecorate',["picture_form" => $picture_form]);
- }
- }
- $picture_form = new LMUploadFile();
- return $this->render('adddecorate',["picture_form" => $picture_form]);
- }
- /**
- * 删除用户
- */
- public function actionDel_company()
- {
- $result=['sign'=>1,'msg'=>'ok'];
- $id = Yii::$app->request->post('id');
- $model = User::find()->where('id=:id',[':id'=>$id])->one();
- if(!empty($model)){
- $model->status = User::STATUS_DELETED;
- $model->updated_at = time();
- if($model->validate() && $model->save()){
- $result=['sign'=>1,'msg'=>'ok'];
- }else{
- // var_dump($model->getErrors());exit;
- $result=['sign'=>0,'msg'=>'error'];
- }
- }else{
- $result=['sign'=>0,'msg'=>'找不到该规格'];
- }
- return json_encode($result);
- }
- /**
- * 用户房屋列表
- * @return string
- */
- public function actionHouse(){
- $datas = UserHouse::find()->orderBy('updated_at DESC');
- $pages=new Pagination(["totalCount"=>$datas->count(),"pageSize"=>self::PAGESIZE]);
- $datas=$datas->offset($pages->offset)->limit($pages->limit)->all();
- return $this->render('houselist',['datas'=>$datas,'pages'=>$pages]);
- }
- /**
- * 删除用户房屋
- */
- public function actionDel_house()
- {
- $result=['sign'=>1,'msg'=>'ok'];
- $id = Yii::$app->request->post('id');
- //$model = UserHouse::find()->where('uid=:id',[':id'=>$id])->one();
- $model = UserHouse::findOne($id)->delete();
- if(!empty($model)){
- // $model->status = User::STATUS_DELETED;
- // $model->updated_at = time();
- // if($model->validate() && $model->save()){
- $result=['sign'=>1,'msg'=>'ok'];
- // }else{
- // $result=['sign'=>0,'msg'=>'error'];
- // }
- }else{
- $result=['sign'=>0,'msg'=>'error'];
- }
- return json_encode($result);
- }
- /**
- * 装修公司意向申请列表
- * @return string
- */
- public function actionCompanylist(){
- $datas = CompanyApply::find()->orderBy("created_at DESC");
- $pages=new Pagination(["totalCount"=>$datas->count(),"pageSize"=>self::PAGESIZE]);
- $datas=$datas->offset($pages->offset)->limit($pages->limit)->all();
- return $this->render('companylist',['datas'=>$datas,'pages'=>$pages]);
- }
- /**
- * 重置装修公司密码
- */
- public function actionReset()
- {
- $result=['sign'=>1,'msg'=>'ok'];
- $id = Yii::$app->request->post('id');
- //$model = UserHouse::find()->where('uid=:id',[':id'=>$id])->one();
- $model = User::find()->where(['id'=>$id])->one();
- if(!empty($model)){
- $pwd = '123456';
- $hash_password = Yii::$app->security->generatePasswordHash($pwd);
- $model->password_hash = $hash_password;
- $model->updated_at = time();
- if($model->validate() && $model->save()){
- $result=['sign'=>1,'msg'=>'重置密码成功'];
- }else{
- $result=['sign'=>0,'msg'=>'重置密码失败'];
- }
- }else{
- $result=['sign'=>0,'msg'=>'找不到该用户'];
- }
- return json_encode($result);
- }
- }
|