123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301 |
- <?php
- namespace backend\controllers;
- use backend\models\AuthArea;
- use common\library\LMUploadFile;
- use common\library\ZM_Geohash;
- use common\models\ImageSource;
- use common\models\MaterType;
- use common\models\User;
- use common\models\UserMater;
- use yii;
- use yii\filters\AccessControl;
- /**
- * 建材商管理
- * @package backend\controllers
- */
- class MaterController extends BaseController
- {
- public $layout = 'iframe';
- const PAGESIZE = 20;//分页数
- public function behaviors()
- {
- return [
- 'access' => [
- 'class' => AccessControl::className(),
- 'rules' => [
- [
- 'actions' => [],
- 'allow' => true,
- 'roles' => ['@'],
- ],
- ],
- ],
- ];
- }
- /**
- * 列表
- * @return string
- */
- public function actionIndex()
- {
- $search =['start'=>'','end'=>'','type_id'=>'','name'=>''];
- $search['start'] = Yii::$app->request->get('start');
- $search['end'] = Yii::$app->request->get('end');
- $search['type_id'] = Yii::$app->request->get('type_id');
- $search['name'] = Yii::$app->request->get('name');
- $search['member'] = Yii::$app->request->get('member');
- $typeList = MaterType::find()->select('id,name')->all();
- $models = UserMater::find()->where(['u.role'=>User::USER_ROLE_MATER])->from("{{%user_mater}} um")->leftJoin("{{%user}} u","um.uid = u.id");
- //$models = User::find()->where(['role'=>User::USER_ROLE_MATER]);
- if(!empty($search['start']))
- $models->andWhere("um.c_time > :start",[':start'=>strtotime($search['start'])]);
- if(!empty($search['end']))
- $models->andWhere("um.c_time < :end",[':end'=>strtotime($search['end'])+(3600*24-1)]);
- if(!empty($search['type_id']))
- $models->andWhere("um.type_id = :type_id",[':type_id'=>$search['type_id']]);
- if(!empty($search['name']))
- $models->andWhere("u.username like :name OR um.company like :name OR um.name like :name OR um.tel like :name ",[':name'=>"%".$search['name']."%"]);
- if(is_numeric($search['member']))
- $models->andWhere("um.member = :member",[':member'=>$search['member']]);
- $citys = AuthArea::queryAuth();
- if($citys=='all')
- $models;
- elseif (!empty($citys))
- $models->andWhere("um.city in ({$citys})");
- else
- $models->andWhere("um.city = -1");
- $pages = new yii\data\Pagination(["totalCount" => $models->count(), "pageSize" => self::PAGESIZE]);
- $models = $models->offset($pages->offset)->limit($pages->limit)->orderBy("um.id DESC")->all();
- return $this->render('index', ['models' => $models, 'pages' => $pages,'name'=>'建材商管理','search'=>$search,'typeList'=>$typeList]);
- }
- /**
- * 更新状态
- * @return string
- */
- public function actionUpdateStatus()
- {
- $id = Yii::$app->request->post('id');
- $model = User::find()->where(['id'=>$id])->one();
- if($model->status==User::STATUS_ACTIVE)
- $model->status = User::STATUS_DELETED;
- else
- $model->status = User::STATUS_ACTIVE;
- if($model->save())
- $result = ['sign'=>1,'msg'=>'修改状态成功'];
- else
- $result = ['sign'=>0,'msg'=>'修改状态失败'];
- return json_encode($result);
- }
- /**
- * 添加
- */
- public function actionAdd()
- {
- $picture_form = new LMUploadFile();
- if(Yii::$app->request->isPost){
- $username = Yii::$app->request->post('username');
- $pwd = Yii::$app->request->post('pwd');
- $pwd_again = Yii::$app->request->post('pwd_again');
- $pickup_address_coordinate = Yii::$app->request->post('pickup_address_coordinate');//地址坐标
- if(empty($pickup_address_coordinate))
- {
- Yii::$app->getSession()->setFlash('error', '获取不到地址坐标');
- return $this->redirect(Yii::$app->request->referrer);
- }
- if( $pwd != $pwd_again) {
- Yii::$app->getSession()->setFlash('error', '两次密码不一致');
- return $this->redirect(Yii::$app->request->referrer);
- }
- if(!empty($username)&&!empty($pwd)){
- $model = User::find()->where('username=:username',[':username'=>$username])->one();
- if(empty($model)){
- $model = new User();
- if($pwd==$pwd_again){
- $hash_password = Yii::$app->security->generatePasswordHash($pwd);
- $model->password_hash = $hash_password;
- $model->generateAuthKey();
- $model->username = $username;
- $model->created_at = time();
- $model->updated_at = time();
- $model->status = User::STATUS_ACTIVE;
- $model->state = User::USER_STATE_THROUGH;
- $model->role = User::USER_ROLE_MATER;
- if($model->validate() ){
- $transaction = Yii::$app->db->beginTransaction();
- if($model->save()) {
- $arr = explode(',',$pickup_address_coordinate);
- $usermater = new UserMater();
- $usermater->latitude = $arr[1];
- $usermater->longitude = $arr[0];
- $geohash = new ZM_Geohash();
- $geohash->init_codingMap();
- $usermater->hashcode =$geohash->encode($usermater->latitude,$usermater->longitude);
- $usermater->load(Yii::$app->request->post());
- $usermater->uid = $model->id;
- if(Yii::$app->request->post('UserMater')['member'] == UserMater::MEMBER_YES)
- {
- if(!empty(Yii::$app->request->post('UserMater')['vip_start'])){
- $usermater->vip_start = strtotime(Yii::$app->request->post('UserMater')['vip_start']);}
- if(!empty(Yii::$app->request->post('UserMater')['vip_end'])){
- $usermater->vip_end = strtotime(Yii::$app->request->post('UserMater')['vip_end']);}
- }
- if ($usermater->validate() && $usermater->save()) {
- $imgs = Yii::$app->request->post('imgs');
- if(!empty($imgs))
- {
- foreach ($imgs as $imgs_val)
- {
- $image_model = new ImageSource();
- $image_model->pic = $imgs_val;
- $image_model->type = ImageSource::TYPE_MATER_GOOD;
- $image_model->topid = $model->id;
- $image_model->created_at = time();
- $image_model->updated_at = time();
- $image_model->status = ImageSource::STATUS_YES;
- $image_model->save();
- }
- }
- $transaction->commit();
- Yii::$app->getSession()->setFlash('success', '添加成功!');
- $this->redirect(['mater/index']);
- }else{
- var_dump($usermater->getErrors());exit;
- $transaction->rollBack();
- Yii::$app->getSession()->setFlash('error', '添加失败');
- return $this->render('add',["picture_form" => $picture_form]);
- }
- }else{
- var_dump($model->getErrors());exit;
- $transaction->rollBack();
- Yii::$app->getSession()->setFlash('error', '添加失败');
- return $this->render('add',["picture_form" => $picture_form]);
- }
- }else{
- var_dump($model->getErrors());exit;
- Yii::$app->getSession()->setFlash('error', '添加失败');
- return $this->render('add',["picture_form" => $picture_form]);
- }
- }else{
- Yii::$app->getSession()->setFlash('error', '确认密码不相同');
- return $this->render('add',["picture_form" => $picture_form]);
- }
- }else{
- Yii::$app->getSession()->setFlash('error', '该号码已经注册!');
- return $this->render('add',["picture_form" => $picture_form]);
- }
- }else{
- Yii::$app->getSession()->setFlash('error', '输入不能空!');
- return $this->render('add',["picture_form" => $picture_form]);
- }
- }
- $id = Yii::$app->request->get('id');
- $shopimg = "";
- $imgcount = 1;
- if(!empty($id))
- {
- $model= UserMater::find()->where(['id'=>$id])->one();
- $shopimg = ImageSource::find()->where(['type'=>ImageSource::TYPE_MATER_GOOD,'topid'=>$model->uid,'status'=>ImageSource::STATUS_YES])->orderBy("id asc")->all();
- $imgcount = ImageSource::find()->where(['type'=>ImageSource::TYPE_MATER_GOOD,'topid'=>$model->uid,'status'=>ImageSource::STATUS_YES])->count();
- $imgcount++;
- }else{
- $model ="";
- }
- $typelist = MaterType::find()->where(['status'=>MaterType::STATUS_YES])->select('id,name')->all();
- return $this->render('add',['model'=>$model,"picture_form" => $picture_form,'typelist'=>$typelist,'shopimg'=>$shopimg,'imgcount'=>$imgcount]);
- }
- /**
- * 修改
- */
- public function actionEdit()
- {
- if(Yii::$app->request->isPost){
- $pickup_address_coordinate = Yii::$app->request->post('pickup_address_coordinate');//地址坐标
- $id = Yii::$app->request->post('id');
- if(empty($pickup_address_coordinate))
- {
- Yii::$app->getSession()->setFlash('error', '获取不到地址坐标');
- return $this->redirect(Yii::$app->request->referrer);
- }
- if(!empty($id)){
- $model = UserMater::find()->where('id=:id',[':id'=>$id])->one();
- if(empty($model))
- {
- Yii::$app->getSession()->setFlash('error', '找不到记录');
- return $this->redirect(Yii::$app->request->referrer);
- }
- $arr = explode(',',$pickup_address_coordinate);
- $model->latitude = $arr[1];
- $model->longitude = $arr[0];
- $geohash = new ZM_Geohash();
- $geohash->init_codingMap();
- $model->hashcode =$geohash->encode($model->latitude,$model->longitude);
- $model->load(Yii::$app->request->post());
- if(Yii::$app->request->post('UserMater')['member'] == UserMater::MEMBER_YES)
- {
- if(!empty(Yii::$app->request->post('UserMater')['vip_start'])){
- $model->vip_start = strtotime(Yii::$app->request->post('UserMater')['vip_start']);}
- if(!empty(Yii::$app->request->post('UserMater')['vip_end'])){
- $model->vip_end = strtotime(Yii::$app->request->post('UserMater')['vip_end']);}
- }else{
- $model->vip_start = 0 ;
- $model->vip_end = 0 ;
- }
- if ($model->validate() && $model->save()) {
- $imgs = Yii::$app->request->post('imgs');
- // $imgstemp = ImageSource::find()->where(['type'=>ImageSource::TYPE_MATER_GOOD,'topid'=>$model->uid])->orderBy("id asc")->all();
- if(!empty($imgs) )
- {
- foreach ($imgs as $imgs_val)
- {
- $image_model = new ImageSource();
- $image_model->pic = $imgs_val;
- $image_model->type = ImageSource::TYPE_MATER_GOOD;
- $image_model->topid = $model->uid;
- $image_model->created_at = time();
- $image_model->updated_at = time();
- $image_model->status = ImageSource::STATUS_YES;
- $image_model->save();
- }
- }
- $imgsdel = Yii::$app->request->post('imgsdel');
- if(!empty($imgsdel))
- {
- foreach ($imgsdel as $imgsdel_val)
- {
- $image_model = ImageSource::find()->where(['topid'=>$model->uid,'type'=>ImageSource::TYPE_MATER_GOOD,'pic'=>$imgsdel_val])->one();
- $image_model->status = ImageSource::STATUS_NO;
- $image_model->save();
- }
- }
- Yii::$app->getSession()->setFlash('success', '修改成功');
- return $this->redirect(Yii::$app->request->referrer);
- }else{
- Yii::$app->getSession()->setFlash('error', '修改失败');
- return $this->redirect(Yii::$app->request->referrer);
- }
- }else{
- Yii::$app->getSession()->setFlash('error', '缺少id!');
- return $this->redirect(Yii::$app->request->referrer);
- }
- }
- }
- }
|