love_php/app/Jobs/CrmScreenUser.php
2026-04-02 09:20:51 +08:00

62 lines
1.8 KiB
PHP

<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use App\Models\User;
use App\Models\CrmUser;
use App\Models\Server\MerchantUser;
class CrmScreenUser implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
protected $options;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($options)
{
$this->options = $options;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
$is_approved = ($this->options)['is_approved'];
$has_pay = ($this->options)['has_pay'];
$users = User::single();
$users = $users->approve();
$users = $users->pay();
$users->whereDoesntHave('crmUser')->fullinkUser()->chunk(200, function($users) {
foreach($users as $user) {
$c_user = CrmUser::where('user_id', $user->id)->first();
if ($c_user) continue;
$c_user = CrmUser::create(['user_id'=>$user->id, 'step'=>'default']);
}
});
MerchantUser::whereHas('mpUser', function($sql){
$sql->single()->approve()->fullinkUser();
})->whereHas('orders', function($sql){
$sql->where('pay_status', '<>', 0)->where('price', '>', 0)->where('merchant_id', 491);
})->whereDoesntHave('crmUser')->chunk(200, function($users) {
foreach($users as $user) {
$c_user = CrmUser::where('user_id', $user->user_id)->first();
if ($c_user) continue;
$c_user = CrmUser::create(['user_id'=>$user->user_id, 'step'=>'default']);
}
});
}
}