12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- <?php
- namespace App\Jobs;
- use App\Consts\SysConsts;
- use App\Modules\User\Models\QappUserRententionLog;
- use GuzzleHttp\Client;
- use Illuminate\Bus\Queueable;
- use Illuminate\Queue\SerializesModels;
- use Illuminate\Queue\InteractsWithQueue;
- use Illuminate\Contracts\Queue\ShouldQueue;
- use Illuminate\Foundation\Bus\Dispatchable;
- /**
- * 用户留存
- */
- class UserRententionJob implements ShouldQueue
- {
- use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
- protected $uid;
- protected $read_time;
- protected $register_time;
- /**
- * Create a new job instance.
- *
- * @return void
- */
- public function __construct(int $uid, string $read_time, string $register_time)
- {
- $this->uid = $uid;
- $this->read_time = $read_time;
- $this->register_time = $register_time;
- }
- /**
- * Execute the job.
- *
- * @return void
- */
- public function handle()
- {
- $date = date('Y-m-d', strtotime($this->read_time));
- $exists = QappUserRententionLog::where('uid', $this->uid)->exists();
- if ($exists) {
- return;
- }
- $client = new Client();
- $params = [
- 'uid' => $this->uid,
- 'source' => 'wdy'
- ];
- $params['sign'] = _sign($params, SysConsts::TIKTOK_KEY);
- $url = 'https://newtrackapi.zhuishuyun.com/api/qappuser/rentention';
- $response = $client->post($url, ['form_params' => $params])->getBody()->getContents();
- myLog('new_user_rentention')->info($response);
- $result = json_decode($response);
- if ($result) {
- if ($result->code == 0) {
- QappUserRententionLog::create([
- 'date' => $date,
- 'uid' => $this->uid,
- 'register_time' => $this->register_time,
- 'read_time' => $this->read_time,
- ]);
- }
- }
- }
- }
|