UserAddDeskJob.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. namespace App\Jobs;
  3. use App\Consts\SysConsts;
  4. use App\Modules\User\Models\QappUserAddDestop;
  5. use App\Modules\User\Models\QappUserRententionLog;
  6. use GuzzleHttp\Client;
  7. use Illuminate\Bus\Queueable;
  8. use Illuminate\Queue\SerializesModels;
  9. use Illuminate\Queue\InteractsWithQueue;
  10. use Illuminate\Contracts\Queue\ShouldQueue;
  11. use Illuminate\Foundation\Bus\Dispatchable;
  12. /**
  13. * 用户加桌
  14. */
  15. class UserAddDeskJob implements ShouldQueue
  16. {
  17. use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
  18. protected $uid;
  19. /**
  20. * Create a new job instance.
  21. *
  22. * @return void
  23. */
  24. public function __construct(int $uid)
  25. {
  26. $this->uid = $uid;
  27. }
  28. /**
  29. * Execute the job.
  30. *
  31. * @return void
  32. */
  33. public function handle()
  34. {
  35. $exists = QappUserAddDestop::where('uid', $this->uid)->exists();
  36. if ($exists) {
  37. return;
  38. }
  39. $client = new Client();
  40. $params = [
  41. 'uid' => $this->uid,
  42. 'source' => 'zsy'
  43. ];
  44. $params['sign'] = _sign($params, SysConsts::TIKTOK_KEY);
  45. $url = env('TIKTOK_API_URL').'api/qappuser/addDesk';
  46. myLog('user_add_desk')->info(compact('url'));
  47. myLog('user_add_desk')->info($params);
  48. $response = $client->post($url, ['form_params' => $params])->getBody()->getContents();
  49. myLog('user_add_desk')->info($response);
  50. $result = json_decode($response);
  51. if ($result) {
  52. if ($result->code == 0) {
  53. QappUserAddDestop::create([
  54. 'uid' => $this->uid,
  55. 'status' => 1,
  56. ]);
  57. }
  58. myLog('user_add_desk')->info(json_encode(['code' => $result->code,'msg' => $result->msg,'uid' => $this->uid]));
  59. }
  60. }
  61. }