<?php
/**
 * Created by PhpStorm.
 * User: xiaofeng
 * Date: 2018/3/13
 * Time: 上午8:46
 */

namespace backend\controllers;

use backend\base\CommonController;
use backend\base\Help;
use backend\server\UploadFile;
use common\models\PushmHouse;
use Yii;
use common\models\Developers;
use common\models\PushmColumn;
use common\models\CategoryCity;
/*
 *
 * */
class PushmaController extends CommonController
{

        public function actionHouse_developers()
        {
            return $this->render('house_developers');
        }

        public function actionHouse_developers_form()
        {
            $model = new PushmColumn();
            $model->type = 1;
            $row = $model->getList(Yii::$app->request->post());
            if($row['data'])
            {
                $m = new \common\models\PushmHouse();
                $m->developers_id = array_column($row['data'],'did');
                $result = $m->getListGroup();
                if($result)
                {
                    $resultArr = array_column($result,'total','developers_id');
                }

                    foreach ($row['data'] as &$val)
                    {
                        $val['house_count']  = 0;
                        if(isset($resultArr[$val['did']]))
                        {
                            $val['house_count'] = $resultArr[$val['did']];
                        }
                        $val['create_at'] = date('Y-m-d H:i',$val['create_at']);
                        $val['img'] = Yii::$app->params['httpImg']['host'].Yii::$app->params['httpImg']['push_lb'].$val['img'];
                    }
                    return Help::JsonData(0,'成功',$row['total'],$row['data']);
            }
                    return Help::JsonCode(Help::ERROR,'暂无数据!');
        }

        public function actionHouse_developers_add()
        {
            $model = new Developers();
            $row = $model->getList([],['id','name']);
            return $this->render('house_developers_add',['model'=>$row]);
        }

        public function actionHouse_developers_addform()
        {
            try{
                $input = Yii::$app->request->post();
                $model = new PushmColumn();
                $model->scenario = 'add';
                $img = UploadFile::InstanceImgName_v1('img',Yii::$app->params['img_url']['push_lb']);
                if($img)
                {
                    $input['img'] = $img;
                }

                $img1 = UploadFile::InstanceImgName_v1('img_a',Yii::$app->params['img_url']['push_lb']);

                if($img1)
                {
                    $input['img_a'] = $img1;
                }

                $model->load($input,'');
                if($model->save())
                {
                    return Help::JsonCode(Help::SUCCESS,'添加成功');
                }
            }catch (\Exception $e){
                return Help::JsonCode(Help::ERROR,'添加失败',$e->getMessage());
            }
                return Help::JsonCode(Help::ERROR,'添加失败',$model->errors);
        }

        public function actionHouse_developers_edit()
        {
            $id = Yii::$app->request->get('id');
            $res = PushmColumn::findOne($id);
            $res['img'] = Yii::$app->params['httpImg']['host'].Yii::$app->params['httpImg']['push_lb'].$res['img'];
            $res['img_a'] = Yii::$app->params['httpImg']['host'].Yii::$app->params['httpImg']['push_lb'].$res['img_a'];
            $model = new Developers();
            $row = $model->getList([],['id','name']);
            return $this->render('house_developers_edit',['model'=>$row,'id'=>$id,'m'=>$res]);
        }


        public function actionHouse_developers_editform()
        {
            $img = '';
            $img_a = '';
            try{
                $input = Yii::$app->request->post();
                $model = PushmColumn::findOne($input['id']);
                if(!empty($_FILES['img']['size']))
                {
                    $img = UploadFile::InstanceImgName_v1('img',Yii::$app->params['img_url']['push_lb']);
                    if($img)
                    {
                        $input['img'] = $img;
                        $input['del_img'] = $model['img'];
                    }
                }

                if(!empty($_FILES['img_a']['size']))
                {
                    $img_a = UploadFile::InstanceImgName_v1('img_a',Yii::$app->params['img_url']['push_lb']);
                    if($img_a)
                    {
                        $input['img_a'] = $img_a;
                        $input['del_img_a'] = $model['img_a'];
                    }
                }

                if($model)
                {
                    if(!empty($input['type_edit']) && $input['type_edit'] == 'show')
                    {
                            if($model->is_show == 2)
                            {
                                $model->is_show = 1;
                                if ($model->save())return Help::JsonCode(Help::SUCCESS,'修改成功');
                            }else{
                                $model->is_show = 2;
                                if ($model->save())return Help::JsonCode(Help::SUCCESS,'修改成功');
                            }
                    }


                    if($model['did'] != $input['did'])
                    {
                        $did = $model['did'];
                        $model->scenario = 'add';
                    }
                    $model->load($input,'');
                    if($model->save())
                    {

                        if($model->getScenario() == 'add'){
                                 PushmHouse::updateAll(['developers_id'=>$input['did']],['developers_id'=>$did,'type'=>6]);
                        }

                        if($img != ''){
                            UploadFile::delImg(Yii::$app->params['img_url']['push_lb'],$input['del_img']);
                        }

                        if($img_a != ''){
                            UploadFile::delImg(Yii::$app->params['img_url']['push_lb'],$input['del_img_a']);
                        }
                        return Help::JsonCode(Help::SUCCESS,'修改成功');
                    }
                }

            }catch (\Exception $e){
                return Help::JsonCode(Help::ERROR,'修改失败',$e->getMessage());
            }
            return Help::JsonCode(Help::ERROR,'修改失败',$model->errors);
        }


        public function actionCloumndel()
        {
            $id = Yii::$app->request->post('id');
            if(is_numeric($id))
            {
                  $row =  PushmColumn::findOne($id);
                  if($row)
                  {
                      if($row->type == 1)
                      {
                          $arr['developers_id'] = $row->did;
                          $model = new \common\models\PushmHouse();
                          $arr['type'] = 6;
                          $result = $model->getList_v1($arr);
                          if($result['data']) return Help::JsonCode(Help::ERROR,'删除失败,请先删除关联楼盘。');
                          if($row->delete())
                          {
                              UploadFile::delImg(Yii::$app->params['img_url']['push_lb'],$row->img_a);
                              UploadFile::delImg(Yii::$app->params['img_url']['push_lb'],$row->img);
                              return Help::JsonCode(Help::SUCCESS,'操作成功');
                          }
                      }
                  }
            }
                            return Help::JsonCode(Help::ERROR,'操作失败');
        }

        //开发商关联的楼盘
        public function actionDevelopers_house()
        {
            return $this->render('developers_house',Yii::$app->request->get());
        }

        public function actionDevelopers_houseform()
        {
            $input = Yii::$app->request->post();
            if(is_numeric($input['did']))
            {
                $r = PushmColumn::findOne($input['did']);
                if($r)
                {
                    $input['developers_id'] = $r['did'];
                }
                $model = new \common\models\PushmHouse();
                $input['type'] = 6;
                if (!empty($input['city'])) {
                    $input['city'] = CategoryCity::find()->andWhere(['del'=>1,'pid'=>$input['city']])->select(['id'])->column();
                }
                $row = $model->getList_v1($input);


                if($row['data'])
                {
                    foreach ($row['data'] as &$val)
                    {
                        $val['create_at'] = date('Y-m-d H:i',$val['create_at']);
                    }
                    return Help::JsonData(0,'成功',$row['total'],$row['data']);
                }
            }
                return Help::JsonCode(Help::ERROR,'暂无数据');
        }

        //添加楼盘
        public function actionDevelopers_houseadd()
        {
            return $this->render('developers_houseadd',Yii::$app->request->get());
        }

        public function actionDevelopers_houseaddform()
        {
            $input = Yii::$app->request->post();
            if(!empty($input['did']))
            {
               $r = PushmColumn::findOne($input['did']);
               if($r)
               {
                   $input['developers_id'] = $r['did'];
               }
               $model = new \common\models\PushmHouse();
               $model->scenario = 'add';
               $model->load($input,'');
               if($model->save())  return Help::JsonCode(Help::SUCCESS,'操作成功');
                return Help::JsonCode(Help::ERROR,'操作失败',$model->errors);
            }
        }

        public function actionDevelopers_housedelform()
        {
             $id = Yii::$app->request->post('id');
             if(is_numeric($id))
             {
                $r = \common\models\PushmHouse::findOne($id);
                if($r)
                {
                        if($r->delete()) return Help::JsonCode(Help::SUCCESS,'操作成功');
                }
             }
            return Help::JsonCode(Help::ERROR,'操作失败');

        }

        //排序
        public function actionCloumnsort()
        {
            $id = Yii::$app->request->post('id');
            if(is_numeric($id))
            {
                $row = PushmColumn::findOne($id);
                if ($row){
                    $row->sort = Yii::$app->request->post('sort');
                }
                if ($row->save())return Help::JsonCode(Help::SUCCESS,'操作成功');
            }
            return Help::JsonCode(Help::ERROR,'操作失败');
        }


        //排序
        public function actionCloumn_house_sort()
        {
            $id = Yii::$app->request->post('id');
            if(is_numeric($id))
            {
                $row = PushmHouse::findOne($id);
                if ($row){
                    $row->sort = Yii::$app->request->post('sort');
                }
                if ($row->save())return Help::JsonCode(Help::SUCCESS,'操作成功');
            }
            return Help::JsonCode(Help::ERROR,'操作失败');
        }
}