WechatCheckSyncService.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. namespace Modules\Video\Services;
  3. use GuzzleHttp\Client;
  4. use Illuminate\Support\Facades\DB;
  5. use Modules\Common\Errors\Errors;
  6. use Modules\Common\Exceptions\CommonBusinessException;
  7. use Modules\Common\Support\Http\HttpRequest;
  8. use Modules\Common\Support\Http\WechatURL;
  9. use Modules\Manage\Services\WechatMiniprogramService;
  10. class WechatCheckSyncService
  11. {
  12. /**
  13. * 拉取上传
  14. * @param $item 剧集信息
  15. * @param $accessToken 小程序accessToken
  16. * @return string task_id
  17. * @throws \GuzzleHttp\Exception\GuzzleException
  18. */
  19. public static function pullupload($item, $accessToken) {
  20. return HttpRequest::simplePost(WechatURL::vod_pullupload. $accessToken, [
  21. 'media_name' => $item->media_name,
  22. 'media_url' => $item->video_url
  23. ]);
  24. }
  25. /**
  26. * 获取微信短剧剧集的播放链接信息
  27. * @param $seriesId
  28. * @return mixed
  29. * @throws \GuzzleHttp\Exception\GuzzleException
  30. */
  31. public static function getMedialinkInfo($seriesId) {
  32. $syncInfo = DB::table('video_series_wechat_check')
  33. ->where([
  34. 'series_id'=> $seriesId,
  35. 'sync_status' => 3,
  36. 'is_enabled' => 1,
  37. ])->first();
  38. if(!$syncInfo || !$syncInfo->media_id) {
  39. CommonBusinessException::throwError(Errors::SYNC_WECHAT_NOT_OK);
  40. }
  41. $mediaId = $syncInfo->media_id;
  42. $accessToken = WechatMiniprogramService::getDuanjuCheckAccessToken($syncInfo->appid);
  43. return HttpRequest::simplePost(WechatURL::vod_getmedialink. $accessToken, [
  44. 'media_id' => $mediaId,
  45. 't' => time() + 7200,
  46. ]);
  47. }
  48. /**
  49. * 短剧播放链接保存的rediskey
  50. * @param $seriesId
  51. * @return string
  52. */
  53. public static function getWechatMediaLinkRedisKey($seriesId) {
  54. return 'wechat.medialink.'.$seriesId;
  55. }
  56. }