PushDeviceJob.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. namespace App\Jobs;
  3. use Illuminate\Bus\Queueable;
  4. use Illuminate\Contracts\Queue\ShouldQueue;
  5. use Illuminate\Foundation\Bus\Dispatchable;
  6. use Illuminate\Queue\InteractsWithQueue;
  7. use Illuminate\Queue\SerializesModels;
  8. use Illuminate\Support\Facades\Log;
  9. class PushDeviceJob implements ShouldQueue
  10. {
  11. use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
  12. protected $data;
  13. protected $user;
  14. protected $type;
  15. public $timeout = 300;
  16. public function __construct($data)
  17. {
  18. $this->data = $data;
  19. }
  20. public function handle()
  21. { $data = $this->data;
  22. $this->sendToDeviceBatch($data);
  23. }
  24. public function sendToDeviceBatch($data){
  25. $curl = curl_init();
  26. $url = 'https://workapi.qingyaokeji.com/api/man_device_hc';
  27. curl_setopt_array($curl, array(
  28. CURLOPT_URL => $url,
  29. CURLOPT_RETURNTRANSFER => true,
  30. CURLOPT_ENCODING => '',
  31. CURLOPT_MAXREDIRS => 10,
  32. CURLOPT_TIMEOUT => 0,
  33. CURLOPT_FOLLOWLOCATION => true,
  34. CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  35. CURLOPT_CUSTOMREQUEST => 'POST',
  36. CURLOPT_POSTFIELDS => json_encode($data),
  37. CURLOPT_HTTPHEADER => array(
  38. 'Content-Type: application/json'
  39. ),
  40. ));
  41. $response = curl_exec($curl);
  42. Log::channel('apiLog')->info('request-JH', ["param" =>$data,"url"=>$url,"response"=>$response]);
  43. curl_close($curl);
  44. echo $response;
  45. }
  46. }