EnrollController.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. namespace mobile\modules\live\controllers;
  3. use common\api\EnrollServer;
  4. use common\models\china\Enroll;
  5. use mobile\base\Help;
  6. use Yii;
  7. use mobile\modules\live\base\BaseController;
  8. use common\enums\EmailEnum;
  9. class EnrollController extends BaseController
  10. {
  11. public $enableCsrfValidation = false;
  12. /*
  13. * name 姓名
  14. * source_model 来源模块
  15. * mobile 手机号
  16. * intention_house 意向楼盘
  17. * hid 楼盘ID 不存在:0
  18. * equipment 设备 2=>pc 1=>移动
  19. * city 区域
  20. *
  21. * */
  22. public function actionSignup()
  23. {
  24. header("Access-Control-Allow-Origin:*");
  25. $en = new EnrollServer();
  26. $testNumber = \common\models\TestNumber::find()->andWhere(['number' => Yii::$app->request->post('mobile'), 'is_show' => 1])->asArray()->one();
  27. if (empty($testNumber)) {
  28. //如果不为测试号码,则需要限制报名次数
  29. $cacheResult = $en->Restrict();
  30. if ($cacheResult === false) return Help::JsonCode(Help::ERROR, '您今天的报名次数已超过限制');
  31. }
  32. $form = new \common\forms\VisitorRegistrationFormcn();
  33. $form->load(['type' => 'cn'], '');
  34. $form->load(Yii::$app->request->post(), '');
  35. if (!$form->validate()) return Help::JsonCode(Help::ERROR, '提交失败', $form->errors);
  36. $model = new Enroll();
  37. $model->scenario = 'madd';
  38. $model->load(array_merge($form->attributes, Yii::$app->request->post()), '');
  39. if ($model->save()) {
  40. if (!empty($testNumber)) {
  41. //如果是测试号码,则不走以下发送邮箱的步骤
  42. return Help::JsonCode(Help::SUCCESS, '测试号码提交成功');
  43. }
  44. $Email = $form->attributes;
  45. $Email['id'] = $model->attributes['id'];
  46. (new \common\service\common\MailerService())->send($form->send_email, $Email, EmailEnum::SITEFORM);
  47. return \frontend\base\Help::JsonCode(Help::SUCCESS, '提交成功');
  48. }
  49. return Help::JsonCode(Help::ERROR, '提交失败');
  50. }
  51. }