<?php

namespace common\forms;

use common\enums\EmailEnum;
use common\models\HouseEmail;
use mobile\base\Help;
use Yii;
use yii\base\Model;
use \common\models\House;
use \common\models\Enroll;

/**
 * Class SignupForm
 * @package frontend\models
 */
class   VisitorRegistrationForm extends Model
{
    public $mobile;
    public $intention_house;
    public $intention_housetype;
    public $budget;
    public $name;
    public $hid;
    public $city;
    public $intention_city;
    public $housename;
    public $send_email;
    public $city_name; //区域名称

    /**
     * {@inheritdoc}
     */
    public function rules()
    {
        return [
            ['mobile', 'match', 'pattern' => '/^1[23456789]\d{9}$/', 'message' => '请输入正确的手机号码'],
            [['intention_house', 'intention_housetype', 'budget', 'name', 'hid', 'city', 'intention_city'], 'default', 'value' => ''],
            [['intention_house', 'intention_housetype', 'budget', 'name', 'hid', 'city', 'intention_city'], 'string'],
            [['city', 'hid', 'intention_city'], 'string'],
            ['send_email', 'filter', 'filter' => function ($val) {

                $model = House::FindByHid($this->hid);
                if ($model) {
                    $this->housename = $model->name;
                    $this->city = $model->city;
                }

                if (!empty($this->intention_city)) {
                    $city_rows = \common\models\CategoryCity::findOne(['city_name' => $this->intention_city]);
                    if ($city_rows) {
                        $this->city = $city_rows->id;
                    }
                }


                $catCity = (new \common\models\CategoryCity())->FindById($this->city);
                if ($catCity) {
                    $this->city_name = $catCity->city_name;
                }


                $cityEmail = new \common\models\Email();

                $email = $cityEmail->FindByEmail($this->city);
                if ($email) {

                    //查询该楼盘是否单独设置了邮箱
                    $HouseEmail = (new HouseEmail())->findEmail($this->hid);
                    if (!empty($HouseEmail)) {
                        return $HouseEmail['email'];
                    }

                    return $email['email'];
                } else {

                    //查询该楼盘是否单独设置了邮箱
                    $HouseEmail = (new HouseEmail())->findEmail($this->hid);
                    if (!empty($HouseEmail)) {
                        return $HouseEmail['email'];
                    }

                    return \Yii::$app->params['default_email'];
                }

            }],
        ];
    }

    public function attributeLabels()
    {
        return [
            'mobile' => '联系方式',
            'intention_house' => '意向楼盘',
            'intention_city' => '意向区域',
            'intention_housetype' => '意向户型',
            'budget' => '预算',
            'name' => '姓名',
            'hid' => '楼盘ID',
            'city' => '区域',
            'city_name' => '区域名称',
            'send_email' => '发送邮箱',
        ];
    }

}