Pārlūkot izejas kodu

Merge branch 'liuzj-1001016-dev' into test

liuzejian 1 gadu atpakaļ
vecāks
revīzija
b00398f4a2

+ 32 - 0
app/Jobs/WechatPlatform/GZHSendKFMessage.php

@@ -0,0 +1,32 @@
+<?php
+
+namespace App\Jobs\WechatPlatform;
+
+use Illuminate\Bus\Queueable;
+use Illuminate\Contracts\Queue\ShouldBeUnique;
+use Illuminate\Contracts\Queue\ShouldQueue;
+use Illuminate\Foundation\Bus\Dispatchable;
+use Illuminate\Queue\InteractsWithQueue;
+use Illuminate\Queue\SerializesModels;
+
+class GZHSendKFMessage implements ShouldQueue
+{
+    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
+
+    private $info;
+    /**
+     * Create a new job instance.
+     */
+    public function __construct($info)
+    {
+
+    }
+
+    /**
+     * Execute the job.
+     */
+    public function handle(): void
+    {
+        //
+    }
+}

+ 24 - 2
modules/WechatPlatform/Http/Controllers/KFMessageController.php

@@ -2,6 +2,7 @@
 
 namespace Modules\WechatPlatform\Http\Controllers;
 
+use App\Jobs\WechatPlatform\GZHSendKFMessage;
 use Catch\Base\CatchController;
 use Illuminate\Foundation\Validation\ValidatesRequests;
 use Illuminate\Http\Request;
@@ -91,7 +92,7 @@ class KFMessageController extends CatchController
                 'name' => $request->input('name'),
                 'message_type' => $request->input('message_type'),
                 'message_content' => \json_encode($request->input('message_content'), JSON_UNESCAPED_UNICODE),
-                'u_type' => $request->input('u_type'),
+                'u_type' => $request->input('u_type', 1),
                 'uc_unique_key' => $request->input('uc_unique_key', ''),
                 'send_at' => $request->input('send_at'),
                 'status' => WechatPlatformConstService::KF_MESSAGE_STATUS_PRE_SEND,
@@ -110,6 +111,8 @@ class KFMessageController extends CatchController
     public function updateContent(Request $request) {
         $this->validate($request, [
             'id' => 'required',
+            'name' => 'required', 'message_type' => 'required|in:1', 'message_content' => 'required|array',
+            'u_type' => 'required|in:1,2', 'uc_unique_key' => 'required_if:u_type,2', 'send_at' => 'required|date_format:Y-m-d H:i:s',
         ]);
         $now = date('Y-m-d H:i:s');
         DB::table('wechat_kf_messages')
@@ -122,7 +125,7 @@ class KFMessageController extends CatchController
                 'name' => $request->input('name'),
                 'message_type' => $request->input('message_type'),
                 'message_content' =>  \json_encode($request->input('message_content'), JSON_UNESCAPED_UNICODE),
-                'u_type' => $request->input('u_type'),
+                'u_type' => $request->input('u_type', '1'),
                 'uc_unique_key' => $request->input('uc_unique_key', ''),
                 'send_at' => $request->input('send_at'),
                 'updated_at' => $now,
@@ -208,4 +211,23 @@ class KFMessageController extends CatchController
         return 'ok';
     }
 
+    /**
+     * 测试发送
+     * @param Request $request
+     */
+    public function testSend(Request $request) {
+        $this->validate($request, [
+            'gzh_id' => 'required', 'message_id' => 'required', 'openid' => 'required'
+        ]);
+
+        GZHSendKFMessage::dispatch([
+            'gzhId' => $request->input('gzhId'),
+            'messageId' => $request->input('message_id'),
+            'openid' => $request->input('openid'),
+            'isTest' => true
+        ])->onQueue('{duanju_manage}.wechatPlatform.sendKFMessage')
+            ->onConnection('queue-redis');
+
+        return 'ok';
+    }
 }

+ 21 - 1
tests/WechatPlatform/Http/KFMessageControllerTest.php

@@ -43,7 +43,27 @@ AAA;
     {
         $res = $this->withHeaders([
             'Authorization' => 'Bearer '. $this->token,
-        ])->json('get','http://localhost/api/wechatPlatform/kfMessage/list', [
+        ])->json('post','http://localhost/api/wechatPlatform/kfMessage/updateContent', [
+            'id' => 4,
+            'name' => 'change-'.uniqid(),
+            'message_type' => 1,
+            'message_content' => [
+                ['text' => 'changexxxx']
+            ],
+            'u_type' => 2,
+            'uc_unique_key' => uniqid('',true),
+            'send_at' => date('Y-m-d H:i:s', strtotime('+2 hour'))
+        ]);
+        $this->dumpJson($res);
+    }
+
+    public function testupdateGZH()
+    {
+        $res = $this->withHeaders([
+            'Authorization' => 'Bearer '. $this->token,
+        ])->json('post','http://localhost/api/wechatPlatform/kfMessage/updateGZH', [
+            'id' => 4,
+            'gzh_ids' => [1,2]
         ]);
         $this->dumpJson($res);
     }