| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- <?php
- namespace App\Jobs;
- use App\Model\VideoModel;
- use App\Repositories\ConfigRepoistory;
- use Hyperf\AsyncQueue\Job;
- class SavePcVideoCoverCebJob extends Job
- {
- protected $params = [];
- public function __construct($params = [])
- {
- $this->params = $params;
- }
- public function handle()
- {
- $videoId = $this->params['video_id'];
- $cover = $this->params['cover'];
- if (empty($cover) || empty($videoId)) {
- return true;
- }
- $configRepo = make(ConfigRepoistory::class);
- $arrConfig = $configRepo->gets(['upload_url'], 'sys');
- $uploadToken = env('UPLOAD_TOKEN', 'GAkucH8');
- $url = rtrim($arrConfig['upload_url'], '/') . '/uploader.php?upload_token='. $uploadToken .'&receive_type=json&remote_file='. urlencode($cover);
- $strBody = file_get_contents($url);
- if (substr($strBody, 0, 1) == '{') {
- $arrJson = json_decode($strBody, true);
- if ($arrJson['code'] == 200) {
- $linkUrl = $arrJson['data']['link_url'];
- $videoObj = VideoModel::query()->find($videoId, ['id', 'cover', 'custom_cover']);
- if (!empty($videoObj) && !empty($linkUrl)) {
- $videoObj->cover = $linkUrl;
- $videoObj->custom_cover = $linkUrl;
- $videoObj->save();
- }
- }
- }
- }
- }
|