<?php
/**
 * Created by PhpStorm.
 * User: xiaofeng
 * Date: 2018/3/12
 * Time: 下午9:21
 */

namespace backend\controllers;

// 开发商,房产顾问,视频分类
use backend\base\CommonController;
use common\models\CategoryAdviser;
use common\models\Developers;
use common\models\CategoryVideo;
use backend\server\UploadFile;
use Yii;
use backend\base\Help;
class DictionarybController extends CommonController
{

        /*
         * 开发商显示页面
         * */
        public function actionDeveloper()
        {
            return $this->render('developer');
        }

        /*
         * 获取开发商数据
         * */
        public function actionDeveloperform()
        {
            $model = new Developers();
            $rows  = $model->getList(Yii::$app->request->post());
            if($rows != null)
            {
                foreach ($rows as &$val)
                {
                    $val['create_at'] = date('Y-m-d H:i',$val['create_at']);
                    $val['update_at'] = date('Y-m-d H:i',$val['update_at']);
                    $val['allow'] = Yii::$app->params['RecommendedState'][$val['allow']];
                    $val['logo'] = Yii::$app->params['httpImg']['host'].Yii::$app->params['httpImg']['developers'].$val['logo'];
                }
                return Help::JsonData(0,'成功',$model->Total(Yii::$app->request->post()),$rows);
            }
        }

        /*
         * 添加开发商页面
         * */
        public function actionDeveloperadd()
        {
            return $this->render('developeradd');
        }

        /*
         * 添加开发商数据
         * */
        public function actionDeveloperaddform()
        {
            $model =  new Developers();
            $model->scenario = 'add';
            $model->load(Yii::$app->request->post(),'');
            $url = Yii::$app->params['img_url']['developers'];
            $img = UploadFile::InstanceImgName('img',$url);
            $model->logo = $img;
            if($model->validate() && $model->insert())return Help::JsonCode(Help::SUCCESS,'添加成功');
            return Help::JsonCode(Help::ERROR,'添加失败',$model->errors);
        }

        /*
         * 添加和修改图片
         * */
        public function actionDeveloperimg()
        {
            $id = Yii::$app->request->post('id');

            $img =  UploadFile::InstanceImgName('img',Yii::$app->params['img_url']['developers']);
            if(is_numeric($id) && !empty($img))
            {
                    $model = new  Developers();
                    $row = $model->FindById($id);
                    if($row != null)
                    {
                            UploadFile::delImg(Yii::$app->params['img_url']['developers'],$row->logo);
                            $row->logo = $img;
                            if($row->update() == true) return Help::JsonCode(Help::SUCCESS,'成功',$img);
                    }
            }

           if($img != false) return Help::JsonCode(Help::SUCCESS,'成功',$img);
                             return Help::JsonCode(Help::ERROR,'失败');
        }

        /*
         * 删除图片
         * */
        public function actionDeveloperunimg()
        {
            UploadFile::delImg(Yii::$app->params['img_url']['developers'],Yii::$app->request->post('imgname'));
        }

        /*
         * 修改图片
         * */
        public function actionDeveloperuneditimg()
        {
//                p($_POST);
        }
        /*
         * 修改开发商页面
         * */
        public function actionDeveloperedit()
        {
//            p($_PO)
            $model = new Developers();
            $row = $model->FindById(Yii::$app->request->get('id'));
            if($row != null)
            {
                $row['logo'] = Yii::$app->params['httpImg']['host']. Yii::$app->params['httpImg']['developers'].$row['logo'];

                return $this->render('developeredit',['model'=>$row]);
            }

        }

        /*
         * 修改开发商数据
         * */
        public function actionDevelopereditform()
        {
            $model = new  Developers();
            $input = Yii::$app->request->post();
            $row = $model->FindById($input['id']);
            if($row)
            {
                $url = Yii::$app->params['img_url']['developers'];
                $img = UploadFile::InstanceImgName('img',$url);
                if(is_string($img))
                {
                    UploadFile::delImg($url,$row->logo);
                    $input['logo'] = $img;
                }

                $row->load($input,'');
                if($row->save()) return Help::JsonCode(Help::SUCCESS,'修改成功');
                return Help::JsonCode(Help::ERROR,'修改失败',$row->errors);
            }
            return Help::JsonCode(Help::ERROR,'修改失败');

        }

        /*
         * 删除开发商
         * */
        public function actionDeveloperdel()
        {
            $model = new  Developers();
            $row = $model->FindById(Yii::$app->request->post('id'));
            if($row != null)
            {
                UploadFile::delImg(Yii::$app->params['img_url']['developers'],$row->logo);
                if($row->delete() == true) return Help::JsonCode(Help::SUCCESS,'删除成功');
            }
                return Help::JsonCode(Help::ERROR,'删除失败',$model->errors);
        }

        //======================================房产顾问========================================

        /*
         * 房产顾问显示页面
         * */
        public function actionAdviser()
        {
            return $this->render('adviser');
        }

        /*
         * 获取房产顾问数据
         * */
        public function actionAdviserform()
        {
            $model = new CategoryAdviser();
            $rows = $model->getList(Yii::$app->request->post());
            if($rows != null)
            {
                    foreach ($rows as &$val)
                    {
                        $val['create_at'] = date('Y-m-d H:i',$val['create_at']);
                        $val['photo'] = Yii::$app->params['httpImg']['host'].Yii::$app->params['httpImg']['adviser'].$val['photo'];
                    }
                    return Help::JsonData(0,'成功',$model->Total(),$rows);
            }
        }

        /*
         * 添加房产顾问页面
         * */
        public function actionAdviseradd()
        {
            return $this->render('adviseradd');
        }

        /*
         * 添加房产顾问数据
         * */
        public function actionAdviseraddform()
        {
            $model = new CategoryAdviser();
            $model->Authenticator(Yii::$app->request->post('data'));
            if($model->validate() && $model->save()) return Help::JsonCode(Help::SUCCESS,'添加成功');
            return Help::JsonCode(Help::SUCCESS,'添加失败',$model->errors);

        }

        /*
         * 添加和修改图片
         * */
        public function actionAdviserimg()
        {
            $id = Yii::$app->request->post('id');

            $img =  UploadFile::InstanceImgName('img',Yii::$app->params['img_url']['adviser']);
            if(is_numeric($id) && !empty($img))
            {
                $model = new  CategoryAdviser();
                $row = $model->FindById($id);
                if($row != null)
                {
                    UploadFile::delImg(Yii::$app->params['img_url']['adviser'],$row->photo);
                    $row->photo = $img;
                    if($row->update() == true) return Help::JsonCode(Help::SUCCESS,'成功',$img);
                }
            }

            if($img != false) return Help::JsonCode(Help::SUCCESS,'成功',$img);
            return Help::JsonCode(Help::ERROR,'失败');
        }

        /*
         * 修改房产顾问页面
         * */
        public function actionAdviseredit()
        {
            $model = new CategoryAdviser();
            $row = $model->FindById(Yii::$app->request->get('id'));
            if($row != null)
            {
                $row['photo'] = Yii::$app->params['httpImg']['host']. Yii::$app->params['httpImg']['adviser'].$row['photo'];
                return $this->render('adviseredit',['model'=>$row]);
            }
        }

        /*
         * 修改房产顾问数据
         * */
        public function actionAdvisereditform()
        {
            $model = new CategoryAdviser();
            $result = $model->Authenticator(Yii::$app->request->post('data'));
            if(is_object($result))
            {
                    $row = $model->FindById(Yii::$app->request->post('data')['id']);
                    $row = Help::SetAttr(Yii::$app->request->post('data'),$result,$row);
                    if($row->update() == true) return  Help::JsonCode(Help::SUCCESS,'修改成功');

            }
            return  Help::JsonCode(Help::ERROR,'修改失败',$result);
        }

        /*
         * 删除图片
         * */
        public function actionAdviserunimg()
        {
            UploadFile::delImg(Yii::$app->params['img_url']['adviser'],Yii::$app->request->post('imgname'));
        }

        /*
         * 删除房产顾问
         * */
        public function actionAdviserdel()
        {
            $model = new CategoryAdviser();
            $row = $model->FindById(Yii::$app->request->post('id'));
            if($row != null)
            {
                $row->del = 2;
                if($row->update() == true) return Help::JsonCode(Help::SUCCESS,'删除成功');
            }
            return Help::JsonCode(Help::ERROR,'删除失败');
        }


        //======================================视频分类========================================

        /*
         * 视频分类-显示页面
         * */
        public function actionVideohome()
        {

            return $this->render('videohome');
        }

        /*
         * 视频分类-获取显示数据
         * */
        public function actionVideohomeform()
        {
            $model  = new CategoryVideo();
            $rows = $model->getList(Yii::$app->request->post());
            if($rows != null)
            {
                foreach($rows as &$val)
                {
                    $val['create_at'] = date('Y-m-d',$val['create_at']);
                    $val['is_recommend'] =Yii::$app->params['RecommendedState'][$val['is_recommend']];
                }
                return  Help::JsonData(0,'成功',$model->Total(),$rows);
            }
        }

        /*
         * 视频分类-修改显示页面
         * */
        public function actionVideoedit()
        {
            $model = new CategoryVideo();
            $row = $model->FindById(Yii::$app->request->get('id'));
            if($row != null)
            {
                return $this->render('videoedit',['model'=>$row]);
            }
        }

        /*
         * 视频分类-修改数据
         * */
        public function actionVideoeditform()
        {
            $model = new CategoryVideo();
            $input = Yii::$app->request->post('data');
            $authModel = $model->Authenticator($input);
            if(is_object($authModel))
            {
                $row = $model->FindById($input['id']);
                if($row != null)
                {
                   $row = Help::SetAttr($input,$authModel,$row);
                   if($row->save() == true) return Help::JsonCode(Help::SUCCESS,'修改成功');
                }
            }
                    return Help::JsonCode(Help::ERROR,'修改失败',$authModel);

        }

        /*
         * 视频分类-添加页面
         * */
        public function actionVideoadd()
        {
            return $this->render('videoadd');
        }

        /*
         * 视频分类-添加数据
         * */
        public function actionVideoaddform()
        {
            $model = new CategoryVideo();
            $videoModel = $model->Authenticator(Yii::$app->request->post('data'));
            if(is_object($videoModel))
            {
                if($videoModel->insert() == true) return Help::JsonCode(Help::SUCCESS,'添加成功');
            }
                return Help::JsonCode(Help::ERROR,'添加失败',$videoModel);
        }

        /*
         *视频分类-删除视频
         * */
        public function actionVideodel()
        {
            $model = new CategoryVideo();
            $input = Yii::$app->request->post();
            $row = $model->FindById($input['id']);
            if($row != null)
            {
                $row->del = 2;
                if($row->save() == true) return Help::JsonCode(Help::SUCCESS,'删除成功');
            }
                return Help::JsonCode(Help::SUCCESS,'删除失败');
        }
}