moshaorui 2 өдөр өмнө
parent
commit
df6e9ca5f0

+ 62 - 59
app/Console/Commands/TimerSsmPost.php

@@ -37,70 +37,73 @@ class TimerSsmPost extends Command
 
     public function handle()
     {
-        //创建日志
-        Log::info('开始生成发送帖子日志');
-        $this->createLog();
-
-        //刷新access_token
-        Log::info('开始刷新access_token');
-        $this->refreshAccessToken();
-
-        exit;
-
-        //发送社媒帖子开始
-        Log::info('开始发送社媒帖子');
-        $sendLog = SmmPostLog::getSendLog(5);
-        $logIds = [];
-        foreach ($sendLog as $log) {
-            if ($log->media_name == 'twitter' && SmmPostLog::twitterCanSend() == false) {
-                //15分钟内不重复发送
+        try {
+            //创建日志
+            Log::info('开始生成发送帖子日志');
+            $this->createLog();
+
+            //刷新access_token
+            Log::info('开始刷新access_token');
+            $this->refreshAccessToken();
+
+            //发送社媒帖子开始
+            Log::info('开始发送社媒帖子');
+            $sendLog = SmmPostLog::getSendLog(5);
+            $logIds = [];
+            foreach ($sendLog as $log) {
+                if ($log->media_name == 'twitter' && SmmPostLog::twitterCanSend() == false) {
+                    //15分钟内不重复发送
                     Log::info('twitter可发送时间未到,暂时无法发送,ID'.$log->post_id);
                     continue;
-            }
-            $logIds[] = $log->id;
-            //获取帖子内容
-            $post = SmmPost::getPostById($log->post_id);
-            $message = $post->message;
-            $imageVideoUrl = $post->image_video_url;
-            $mediaName = $log->media_name;
-            $postType = $post->post_type;
-            $accountInfo = SmmUserAccount::getAccountById($log->account_id);
-            $accessToken = $accountInfo->access_token;
-            //发送帖子
-            $configData = ['accountInfo' => $accountInfo->toArray()];
-            $ssmService = new SmmService($mediaName,$configData);
-            if ($postType == 0) {
-                //图片帖子
-                $imageVideoUrl = explode(',', $imageVideoUrl);
-                foreach ($imageVideoUrl as $key => $url) {
-                    $imageVideoUrl[$key] = CommonHelper::ossUrl($url);
                 }
-                $response = $ssmService->postImage($message, $imageVideoUrl,$accessToken);
-                Log::info('图片帖子返回'.json_encode($response));
-            } else {
-                $imageVideoUrl = CommonHelper::ossUrl($imageVideoUrl);
-                $response = $ssmService->postVideo($message, $imageVideoUrl,$accessToken);
-                Log::info('视频帖子返回'.json_encode($response));
-            }
-            //更新post_logs表
-            if ($response['status'] == true) {
-                $log->status = 1;
-                $log->response_ids = json_encode($response['data']['responseIds']);
-                $log->updated_at = Carbon::now();
-                $log->send_time = Carbon::now();
-                $log->save();
-            } else {
-                $log->status = 2;
-                $log->remark = $response['data'];
-                $log->updated_at = Carbon::now();
-                $log->send_time = Carbon::now();
-                $log->save();
+                $logIds[] = $log->id;
+                //获取帖子内容
+                $post = SmmPost::getPostById($log->post_id);
+                $message = $post->message;
+                $imageVideoUrl = $post->image_video_url;
+                $mediaName = $log->media_name;
+                $postType = $post->post_type;
+                $accountInfo = SmmUserAccount::getAccountById($log->account_id);
+                $accessToken = $accountInfo->access_token;
+                //发送帖子
+                $configData = ['accountInfo' => $accountInfo->toArray()];
+                $ssmService = new SmmService($mediaName,$configData);
+                if ($postType == 0) {
+                    //图片帖子
+                    $imageVideoUrl = explode(',', $imageVideoUrl);
+                    foreach ($imageVideoUrl as $key => $url) {
+                        $imageVideoUrl[$key] = CommonHelper::ossUrl($url);
+                    }
+                    $response = $ssmService->postImage($message, $imageVideoUrl,$accessToken);
+                    Log::info('图片帖子返回'.json_encode($response));
+                } else {
+                    $imageVideoUrl = CommonHelper::ossUrl($imageVideoUrl);
+                    $response = $ssmService->postVideo($message, $imageVideoUrl,$accessToken);
+                    Log::info('视频帖子返回'.json_encode($response));
+                }
+                $responseIds = isset($response['data']['responseIds'])? $response['data']['responseIds'] : [];
+                //更新post_logs表
+                if ($response['status'] == true) {
+                    $log->status = 1;
+                    $log->response_ids = json_encode($responseIds);
+                    $log->updated_at = Carbon::now();
+                    $log->send_time = Carbon::now();
+                    $log->save();
+                } else {
+                    $log->status = 2;
+                    $log->remark = $response['data'];
+                    $log->updated_at = Carbon::now();
+                    $log->send_time = Carbon::now();
+                    $log->save();
+                }
             }
+            $logIds = json_encode($logIds);
+            Log::info('发送社媒帖子完成'.$logIds);
+            dd('发送社媒帖子完成'.$logIds);
+        } catch (\Exception $e) {
+            Log::info('发送社媒帖子失败:'.$e->getMessage());
+            dd('发送社媒帖子失败:'.$e->getMessage());
         }
-
-        $logIds = json_encode($logIds);
-        Log::info('发送社媒帖子完成'.$logIds);
-        dd('发送社媒帖子完成'.$logIds);
     }
 
     /*

+ 5 - 4
app/Distributor/Controllers/SmmPostController.php

@@ -141,7 +141,7 @@ class SmmPostController extends AdminDistController
             //最后一步
             $data = [
                 'title'       => '操作成功',
-                'description' => '系统已生成发送队列,详情请查看日志。',
+                'description' => '系统已生成发送队列,详情请查看日志。 ',
             ];
             return view('distributor.form_custom.completion-page', $data);
         }
@@ -157,14 +157,15 @@ class SmmPostController extends AdminDistController
             $file = $this->file();
             $dir = 'ssm/'.getDistributorId();
             $newName = md5(uniqid() . mt_rand()) .'.'.$file->getClientOriginalExtension();
-            //保存到本地
-            $disk = $this->disk('local');
-            $result = $disk->putFileAs($dir, $file, $newName);
 
             //oss 保存
             $disk = $this->disk('oss');
             $result = $disk->putFileAs($dir, $file, $newName);
 
+            //保存到本地
+            $disk = $this->disk('local');
+            $result = $disk->putFileAs($dir, $file, $newName);
+
             return $result
                 ? $this->responseUploaded($result, $disk->url($result))
                 : $this->responseErrorMessage(admin_trans_label('upload_failed'));

+ 1 - 1
app/Distributor/Repositories/SmmUserAccount.php

@@ -116,7 +116,7 @@ class SmmUserAccount extends EloquentRepository
     public static function returnChildCount($id)
     {
         $model = new Model();
-        $count = $model->where('parent_id', $id)->count();
+        $count = $model->where('parent_id', $id)->where('expires_at','>', Carbon::now())->count();
         return $count;
     }
 

+ 9 - 7
app/Services/Smm/YoutubeService.php

@@ -82,6 +82,14 @@ class YoutubeService implements SmmPlatformInterface
         }
     }
 
+    public function postImage($message, $imagePaths, $accessToken)
+    {
+        return [
+            'status' => false,
+            'data' => 'YouTube API does not support image-only posts'
+        ];
+    }
+
 
     public function postVideo($message, $videoPath, $accessToken)
     {
@@ -176,13 +184,7 @@ class YoutubeService implements SmmPlatformInterface
         }
     }
 
-    public function postImage($message, $imagePaths, $accessToken)
-    {
-        return [
-            'status' => false,
-            'error' => 'YouTube API does not support image-only posts'
-        ];
-    }
+
 
     public function getComments($postId)
     {

+ 1 - 1
resources/views/distributor/form_custom/completion-page.blade.php

@@ -34,7 +34,7 @@
             {{ $title }}
         </div>
         <div class="st-desc" style="margin-top: 10px">
-            {{ $description }}
+            {{ $description }} <a href="/dist/ssm-post">继续发布!</a>
         </div>
     </div>
 </div>