NotifyController.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace App\Api\Controllers;
  3. use App\Model\MoviePushLog;
  4. use Storage;
  5. use App\Http\Controllers\Controller;
  6. class NotifyController extends Controller
  7. {
  8. public function gxydyst()
  9. {
  10. $response_data['code'] = 400;
  11. $raw_post_data = json_decode(file_get_contents('php://input', 'r'), true);
  12. //记录异步通知日志
  13. Storage::append(date('Ymd').'_pushlog.txt', json_encode($raw_post_data) . "\n");
  14. if(isset($raw_post_data['srcFiles'][0]['playUrl'])){
  15. //处理资源ID
  16. $movie_id_e = explode('_', $raw_post_data['mediaId']);
  17. $movie_id = $movie_id_e[3];
  18. $map[] = ['movie_id', $movie_id];
  19. $update_data['injection_status'] = 1;
  20. $update_data['view_url'] = $raw_post_data['srcFiles'][0]['playUrl'];
  21. //更新推送状态
  22. $rs = MoviePushLog::where($map)->update($update_data);
  23. if($rs){
  24. $response_data['msg'] = '成功';
  25. $response_data['code'] = 0;
  26. }else{
  27. $response_data['msg'] = '失败或重复更新';
  28. }
  29. }else{
  30. $response_data['msg'] = '缺少CDN播放地址';
  31. }
  32. return response()->json($response_data);
  33. }
  34. }