Преглед на файлове

1. 模型新增数据时,增加输入验证 2. 增加美团订单模型

shizhongqi преди 4 години
родител
ревизия
8449de09d1

+ 4 - 7
app-hd/controllers/MtController.php

@@ -2,6 +2,7 @@
 
 namespace hd\controllers;
 
+use bizHd\meituan\classes\MtOrderClass;
 use Yii;
 use Abbotton\MeituanTakeaway\Application;
 use yii\helpers\Json;
@@ -24,16 +25,12 @@ class MtController extends PublicController
 
     public function actionNewOrder()
     {
-        Yii::info('本框架输出的中文会不会乱码');
         $post = Yii::$app->request->post();
-        if(!empty($post)) {
-            Yii::warning('newOrder: ' . urldecode(json_encode($post)));
-        }
-        $get = Yii::$app->request->get();
-        if(!empty($get)) {
-            Yii::warning('newOrder: ' . json_encode($get));
+        if(empty($post)) { // 无数据过来时,是美团对接口进行存活试探
+            return Json::encode(['data' => 'ok']);
         }
 
+        $mtOrder = MtOrderClass::add($post);
         return Json::encode(['data' => 'ok']);
 
         $app = new Application($this->config);

+ 9 - 0
biz-hd/meituan/classes/MtOrderClass.php

@@ -0,0 +1,9 @@
+<?php
+namespace bizHd\meituan\classes;
+
+use bizHd\base\classes\BaseClass;
+
+class MtOrderClass extends  BaseClass
+{
+    public static $baseFile = '\bizHd\meituan\models\MtOrder';
+}

+ 23 - 0
biz-hd/meituan/models/MtOrder.php

@@ -0,0 +1,23 @@
+<?php
+namespace bizHd\meituan\models;
+
+use bizHd\base\models\Base;
+
+class MtOrder extends Base
+{
+    public static function tableName()
+    {
+        return 'xhMtOrder';
+    }
+
+    public function rules()
+    {
+        return [
+            // name,orderId 特性是 `require`(必填)的
+            [['name', 'orderId'], 'required'],
+
+            // email 特性必须是一个有效的 email 地址
+            //['email', 'email'],
+        ];
+    }
+}

+ 9 - 0
biz-hd/meituan/services/MtOrderService.php

@@ -0,0 +1,9 @@
+<?php
+namespace bizHd\meituan\services;
+
+use bizHd\base\services\BaseService;
+
+class MtOrderService extends BaseService
+{
+    public static $baseFile = '\bizHd\meituan\classes\MtOrderClass';
+}

+ 10 - 1
common/base/models/Base.php

@@ -3,7 +3,6 @@
 namespace common\base\models;
 
 use common\components\util;
-use Yii;
 use yii\db\ActiveRecord;
 
 class Base extends ActiveRecord
@@ -28,6 +27,16 @@ class Base extends ActiveRecord
                 $model->$key = $data[$key];
             }
         }
+
+        if ($model->validate()) {
+            // 所有输入通过验证
+        } else {
+            // 验证失败: $errors 是一个包含错误信息的数组
+            $errors = $model->errors;
+            \Yii::warning('model validate errors: ' . json_encode($errors));
+            util::fail('非法查询方式:' . json_encode($errors));
+        }
+
         $model->save();
         if ($returnObject) {
             return $model;