71 lines
1.9 KiB
PHP
71 lines
1.9 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\CoinLog;
|
||
use App\Repositories\Eloquent\SmsRepository as Sms;
|
||
use App\Utils\Messenger;
|
||
use App\Models\Message;
|
||
|
||
class AddSystemCoin implements ShouldQueue
|
||
{
|
||
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
|
||
public $tries = 3;
|
||
protected $user_ids;
|
||
/**
|
||
* Create a new job instance.
|
||
*
|
||
* @return void
|
||
*/
|
||
public function __construct($user_ids)
|
||
{
|
||
$this->user_ids = $user_ids;
|
||
}
|
||
|
||
/**
|
||
* Execute the job.
|
||
*
|
||
* @return void
|
||
*/
|
||
public function handle()
|
||
{
|
||
$user_ids = $this->user_ids;
|
||
if (empty(count($user_ids))) {
|
||
return true;
|
||
}
|
||
$message = "感谢您在2020年9月20号,13点30分至19点之间观看福恋app直播相亲,特赠送20福币以表感谢!【福恋】";
|
||
foreach ($user_ids as $user_id) {
|
||
$user = User::find($user_id);
|
||
if (empty($user)) continue;
|
||
//判断记录是否存在
|
||
$log = CoinLog::where('user_id', $user->id)->where('type', 'RECSYSTEM')->where('coin', 20)->first();
|
||
if ($log) continue;
|
||
$user->updateCoinInfo('add', 20, 'other');
|
||
$user->addCoinLog('RECSYSTEM', 0, 20);
|
||
//短信通知
|
||
$this->sentMessage($user->mobile, $message);
|
||
}
|
||
}
|
||
|
||
//发送普通消息
|
||
function sentMessage($mobile, $message){
|
||
if (empty($mobile)) {
|
||
return true;
|
||
}
|
||
Message::create([
|
||
'phone'=>$mobile,
|
||
'message'=>$message,
|
||
'confirmed' => 1,
|
||
'ip' => request()?request()->ip():'127.0.0.1',
|
||
]);
|
||
Messenger::sendSMS($mobile, $message);
|
||
return true;
|
||
}
|
||
}
|