|
@@ -63,58 +63,70 @@ class TimerSsmPost extends Command
|
|
|
$sendLog = SmmPostLog::getSendLog(5);
|
|
|
$logIds = [];
|
|
|
foreach ($sendLog as $log) {
|
|
|
- Log::info('开始发送社媒帖子,id:'. $log->id);
|
|
|
- echo '开始发送社媒帖子,id:'. $log->id. "\n";
|
|
|
- if ($log->media_name == 'Twitter' && SmmPostLog::twitterCanSend() == false) {
|
|
|
- //15分钟内不重复发送
|
|
|
- Log::info('twitter可发送时间未到,暂时无法发送,ID'.$log->id);
|
|
|
- continue;
|
|
|
- }
|
|
|
- Log::info('开始发送社媒帖子,把状态改为发送中');
|
|
|
- //发送社媒帖子中
|
|
|
- $log->status = 1;//发送中
|
|
|
- $log->request_count = $log->request_count + 1;
|
|
|
- $log->remark = '';
|
|
|
- $log->updated_at = Carbon::now();
|
|
|
- $log->save();
|
|
|
- //发送社媒帖子中 end
|
|
|
-
|
|
|
- $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(),'postData'=>$post->toArray()];
|
|
|
- $ssmService = new SmmService($mediaName,$configData);
|
|
|
- if ($postType == 0) {
|
|
|
- //图片帖子
|
|
|
- $imageVideoUrl = explode(',', $imageVideoUrl);
|
|
|
- foreach ($imageVideoUrl as $key => $url) {
|
|
|
- $imageVideoUrl[$key] = CommonHelper::ossUrl($url);
|
|
|
+ try {
|
|
|
+ Log::info('开始发送社媒帖子,id:'. $log->id);
|
|
|
+ echo '开始发送社媒帖子,id:'. $log->id. "\n";
|
|
|
+ if ($log->media_name == 'Twitter' && SmmPostLog::twitterCanSend() == false) {
|
|
|
+ //15分钟内不重复发送
|
|
|
+ Log::info('twitter可发送时间未到,暂时无法发送,ID'.$log->id);
|
|
|
+ continue;
|
|
|
}
|
|
|
- $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 = 2;//发送成功
|
|
|
- $log->response_ids = json_encode($responseIds);
|
|
|
+ Log::info('开始发送社媒帖子,把状态改为发送中');
|
|
|
+ //发送社媒帖子中
|
|
|
+ $log->status = 1;//发送中
|
|
|
+ $log->request_count = $log->request_count + 1;
|
|
|
+ $log->remark = '';
|
|
|
$log->updated_at = Carbon::now();
|
|
|
- $log->send_time = Carbon::now();
|
|
|
$log->save();
|
|
|
- } else {
|
|
|
+ //发送社媒帖子中 end
|
|
|
+ $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);
|
|
|
+ if (!$accountInfo) {
|
|
|
+ Log::info('帐号不存在,id:'. $log->account_id);
|
|
|
+ throw new \Exception('帐号不存在,id:'. $log->account_id);
|
|
|
+ }
|
|
|
+ $accessToken = $accountInfo->access_token;
|
|
|
+ //发送帖子
|
|
|
+ $configData = ['accountInfo' => $accountInfo->toArray(),'postData'=>$post->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 = 2;//发送成功
|
|
|
+ $log->response_ids = json_encode($responseIds);
|
|
|
+ $log->updated_at = Carbon::now();
|
|
|
+ $log->send_time = Carbon::now();
|
|
|
+ $log->save();
|
|
|
+ } else {
|
|
|
+ $log->status = 3;//发送失败
|
|
|
+ $log->remark = $response['data'];
|
|
|
+ $log->updated_at = Carbon::now();
|
|
|
+ $log->send_time = Carbon::now();
|
|
|
+ $log->save();
|
|
|
+ }
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ Log::info('foreach 发送社媒帖子失败:'.$e->getMessage());
|
|
|
$log->status = 3;//发送失败
|
|
|
- $log->remark = $response['data'];
|
|
|
+ $log->remark = $e->getMessage();
|
|
|
$log->updated_at = Carbon::now();
|
|
|
$log->send_time = Carbon::now();
|
|
|
$log->save();
|
|
@@ -211,10 +223,13 @@ class TimerSsmPost extends Command
|
|
|
|
|
|
public function ossUpload()
|
|
|
{
|
|
|
+ //把上传时间大于10分钟,则把状态oss_upload改为0,重新上传
|
|
|
$has = SmmPost::hasOssUploadingPost();
|
|
|
if ($has == true) {
|
|
|
+ Log::info('hasOssUploadingPost: false');
|
|
|
return false;
|
|
|
}
|
|
|
+ Log::info('hasOssUploadingPost: true');
|
|
|
// 发送社媒帖子
|
|
|
$ossUploadPost = SmmPost::getOssUploadPost();
|
|
|
$disk = $this->disk('oss');
|