option('drama_ids'); if($drama_ids) { $dramaIds = explode(',', $drama_ids); } $accessToken = $this->getAccessToken(); DB::table('video_wechat_check') ->when($dramaIds, function ($query, $dramaIds) { return $query->whereIn('drama_id', $dramaIds); }) ->where('drama_id', '<>', 0) ->where([ 'status' => 1, 'is_enabled' => 1 ]) ->select('drama_id', 'id', 'status') ->orderBy('id') ->chunk(100, function ($items) use ($accessToken){ foreach ($items as $item) { $result = HttpRequestService::simplePost(WechatURL::vod_getdrama. $accessToken, [ 'drama_id' => $item->drama_id ]); if(false === $result || (0 != ($result['errcode'] ?? 0))) { myLog('SyncDramaInfo')->error('获取剧目信息失败', [ 'id' => $item->id, 'drama_id' => $item->drama_id, 'errcode' => $result['errocode'] ?? '', 'errmsg' => $result['errmsg'] ?? '' ]); continue; } $status = $result['drama_info']['audit_detail']['status']; if($status != $item->status) { DB::table('video_wechat_check') ->where('id', $item->id) ->update([ 'check_at' => date('Y-m-d H:i:s', $result['drama_info']['audit_detail']['audit_time']), 'status' => $status, ]); } } }); } private function getAccessToken() { return Redis::get(AccessTokenService::getAccessTokenRedisKey(config('wechat.duanju.masterAppid'))); } }