love_php/app/Jobs/SendSmsBatch.php

63 lines
1.6 KiB
PHP
Raw Permalink Normal View History

2026-04-02 09:20:51 +08:00
<?php
namespace App\Jobs;
use App\Models\Message;
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\RankHistory;
use App\Utils\Messenger;
use App\Models\User;
class SendSmsBatch implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public $tries = 1;
protected $mobile;
protected $message;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($array)
{
$this->mobile = $array['mobile'];
$this->message = $array['message'];
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
$mobile_list = implode(',', $this->mobile);
$result = Messenger::sendSmsBatch($mobile_list, $this->message,$this->mobile);
if($result['code']){
foreach ($this->mobile as $mobile){
// $user = User::where('mobile',$mobile)->first();
// $user->addSuperRank($day=0, $month=3, $type='support_henan');
$arr = [
'phone' => $mobile,
'message' => $this->message,
'confirmed' => 1,
'ip' => '127.0.0.1',
'created_at' => date('Y-m-d H:i:s'),
'updated_at' => date('Y-m-d H:i:s'),
];
$insert[] = $arr;
}
if(!empty($insert)){
Message::insert($insert);
}
}
}
}