Browse Source

增加对派单id的验证

liuzejian 2 years ago
parent
commit
d91b5e5445

+ 6 - 0
app/Exceptions/Handler.php

@@ -89,6 +89,12 @@ EOF;
 
             return response()->json($data);
         }
+        if($e instanceof ValidationException) {
+            return response()->json([
+                'code' =>  -1,
+                'msg' => array_first(array_flatten($e->errors()))
+            ]);
+        }
 
         return parent::render($request, $e);
     }

+ 12 - 2
app/Http/Controllers/QuickApp/SendOrder/TxAdqNewNoAdvBookController.php

@@ -8,9 +8,12 @@ use App\Exceptions\ApiException;
 use App\Http\Controllers\QuickApp\BaseController;
 use App\Modules\SendOrder\Models\QappSendOrder;
 use Hashids\Hashids;
+use Illuminate\Foundation\Validation\ValidatesRequests;
+use Illuminate\Http\Request;
 
 class TxAdqNewNoAdvBookController extends  BaseController
 {
+    use ValidatesRequests;
     /**
      * 腾讯广告新版,非点击广告访问链接的用户将看到配置的非广告书籍
      * - 如果是通过腾讯adq广告投放的hap链接中,会有腾讯广告那边添加的参数,形如:hap://app/com.beidao.kuaiying.zsy/views/Reader?send_order_id=3402324&bid=5pNo6A7wqQmB1WgQygDjkOM9VZn2vXeY&chapter_id=1252&platform=tx_adq_new&back_name=%E5%BE%AE%E8%A7%86&back_pkg=com.tencent.weishi&back_url=weishi%3A%2F%2F
@@ -19,8 +22,15 @@ class TxAdqNewNoAdvBookController extends  BaseController
      * @return mixed
      * @throws ApiException
      */
-    public function getNoAdvBookInfo($sendOrderId) {
-        $extraConfig = QappSendOrder::where('send_order_id', $sendOrderId)
+    public function getNoAdvBookInfo(Request $request) {
+        $this->validate($request,[
+            'send_order_id' => 'required'
+        ],[
+            'required' => ':attribute 必传'
+        ], [
+            'send_order_id' => '派单id'
+        ]);
+        $extraConfig = QappSendOrder::where('send_order_id', $request->input('send_order_id'))
             ->where('platform', 'tx_adq_new')
             ->value('extra_config');
         if($extraConfig) {

+ 19 - 0
tests/Http/Controllers/QuickApp/SendOrder/TxAdqNewNoAdvBookControllerTest.php

@@ -0,0 +1,19 @@
+<?php
+
+namespace Http\Controllers\QuickApp\SendOrder;
+
+use App\Http\Controllers\QuickApp\SendOrder\TxAdqNewNoAdvBookController;
+use PHPUnit\Framework\TestCase;
+
+class TxAdqNewNoAdvBookControllerTest extends \TestCase
+{
+
+    public function testGetNoAdvBookInfo()
+    {
+        $res = $this->get('http://localhost/api/txAdqNew/noAdvBookInfo', [
+            'query' => []
+        ]);
+
+        $res->dump();
+    }
+}