Procházet zdrojové kódy

关键词增加小程序id

zqwang před 1 rokem
rodič
revize
7ac6b28fce

+ 0 - 1
modules/User/Models/Traits/UserRelations.php

@@ -106,7 +106,6 @@ trait UserRelations
                 $actions->add(strtolower(CatchAdmin::getModuleControllerNamespace($permission->module).$controller.'Controller@'.$action));
             }
         });
-
         if ($permission) {
             [$module, $controller, $action] = explode('@', $permission);
 

+ 12 - 2
modules/WechatPlatform/Http/Controllers/CommonController.php

@@ -10,12 +10,22 @@
 namespace Modules\WechatPlatform\Http\Controllers;
 
 use Catch\Base\CatchController;
+use Catch\Exceptions\FailedException;
+use Illuminate\Support\Facades\DB;
+use Modules\WechatPlatform\Http\Requests\PlayPageUrlRequest;
+use Modules\WechatPlatform\Services\WechatCommonService;
 
 class CommonController extends CatchController
 {
 
-    public function getPageUrl()
+    public function getPlayPageUrl(PlayPageUrlRequest $request)
     {
-
+        $sequence = $request->input('sequence');
+        $videoId = $request->input('video_id');
+        $sequenceId = DB::table('video_series')->where('video_id',$videoId)->where('series_sequence',$sequence)->where('is_enabled',1)->value('id');
+        if(empty($sequenceId)){
+            throw  new  FailedException("所选剧集不存在");
+        }
+        return WechatCommonService::getPlayPageUrl($videoId,$sequence);
     }
 }

+ 6 - 0
modules/WechatPlatform/Http/Controllers/SettingController.php

@@ -10,8 +10,14 @@
 namespace Modules\WechatPlatform\Http\Controllers;
 
 use Catch\Base\CatchController;
+use Illuminate\Http\Request;
 
 class SettingController extends CatchController
 {
 
+    public function getConfig(Request $request)
+    {
+        $key = $request->input('key');
+
+    }
 }

+ 45 - 1
modules/WechatPlatform/Http/Requests/PlayPageUrlRequest.php

@@ -10,9 +10,53 @@
 namespace Modules\WechatPlatform\Http\Requests;
 
 use Illuminate\Foundation\Http\FormRequest;
+use Illuminate\Support\Facades\DB;
 
 class PlayPageUrlRequest extends FormRequest
 {
-    
+    /**
+     * rules
+     *
+     * @return array
+     */
+    public function rules(): array
+    {
+        return [
+            'video_id' => [
+                'required',
+                'Integer',
+                "gt:0",
+                function ($attribute, $value, $fail) {
+                    $has = DB::table('videos')->where('id', $value)->first();
+                    if (empty($has)) {
+                        $fail("短剧不不正确");
+                        exit();
+                    }
+                    if ($has->shelf_type != 2){
+                        $fail("短剧未上架");
+                    }
+                }
+            ],
+            'sequence' => [
+                'required',
+                'Integer',
+                "gt:0"
+            ],
+        ];
+    }
+
+    /**
+     * messages
+     *
+     * @return string[]
+     */
+    public function messages(): array
+    {
+        return [
+            'video_id.required' => '请选择短剧',
+            'sequence.required' => '请选择剧集',
+            'sequence' => '剧集不正确',
+        ];
+    }
 
 }

+ 1 - 1
modules/WechatPlatform/Models/WechatAccountKeywordLog.php

@@ -10,7 +10,7 @@ class WechatAccountKeywordLog extends BaseModel
     protected $table = 'wechat_account_keyword_log';
 
     protected $fillable = [
-        'id', 'weacht_keyworld_id', 'appid',"wechat_authorization_info_id", 'nick_name', 'keyword', 'content', 'status', 'send_total', 'updated_at', 'created_at',
+        'id', 'weacht_keyworld_id',"miniprogram_id", 'appid',"wechat_authorization_info_id", 'nick_name', 'keyword', 'content', 'status', 'send_total', 'updated_at', 'created_at',
     ];
 
 }

+ 29 - 0
modules/WechatPlatform/Services/WechatCommonService.php

@@ -0,0 +1,29 @@
+<?php
+/**
+ *
+ * @file:WechatCommonSevice.php
+ * @Date: 2023/7/7
+ * @Time: 11:44
+ */
+
+
+namespace Modules\WechatPlatform\Services;
+
+use Modules\Common\Services\BaseService;
+
+class WechatCommonService extends BaseService
+{
+
+
+    /**
+     *  播放页面地址
+     * name: getPlayPageUrl
+     * @param $videoId
+     * @param $sequence
+     * date 2023/07/07 11:52
+     */
+    public static function getPlayPageUrl($videoId,$sequence)
+    {
+        return ['url' =>  "/pages/video/index?video_id={$videoId}&sequence={$sequence}"];
+    }
+}

+ 3 - 2
modules/WechatPlatform/Services/WechatKeywordsService.php

@@ -99,9 +99,9 @@ class WechatKeywordsService extends BaseService
         if ($param['keyword'] != $info->keyword) {
             // 修改关键词,需要查询词关键词是否已配置
             if ($info->wechat_accounts) {
-                $appIds = WechatAccountKeywordLog::where('weacht_keyworld_id', $info->id)->where('status', 1)->pluck('appid')->get();
+                $appIds = WechatAccountKeywordLog::where('weacht_keyworld_id', $info->id)->where('status', 1)->pluck('appid')->toArray();
                 if ($appIds) {
-                    $hasUsed = WechatAccountKeywordLog::where('keyword', $param['keyword'])->whereIn('appid', $appIds)->where('status', 1)->pluck('nick_name')->get();
+                    $hasUsed = WechatAccountKeywordLog::where('keyword', $param['keyword'])->whereIn('appid', $appIds)->where('status', 1)->pluck('nick_name')->toArray();
                     if ($hasUsed) {
                         self::throwErrMsg("关键字{$param['keyword']}已配置了以下公众号" . implode(',', $hasUsed) . "请先解绑后再编辑");
                     }
@@ -114,6 +114,7 @@ class WechatKeywordsService extends BaseService
             $data = [
                 'content' => $param['send_content'],
                 'keyword' => $param['keyword'],
+                'miniprogram_id' => $info->miniprogram_id,
             ];
             WechatAccountKeywordLog::where('weacht_keyworld_id', $info->id)->update($data);
             DB::commit();

+ 1 - 1
modules/WechatPlatform/routes/route.php

@@ -37,7 +37,7 @@ Route::prefix('wechatPlatform')->group(function(){
     // 公共部分
     Route::prefix('common')->group(function (){
         // 获取小程序页面链接
-        Route::post('get_page',[CommonController::class,'getPageUrl'])->withoutMiddleware(config('catch.route.middlewares'));
+        Route::post('get_play_url',[CommonController::class,'getPlayPageUrl'])->withoutMiddleware(config('catch.route.middlewares'));
     });
 
     // 设置