You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace app\home\job;
|
|
|
|
|
|
|
|
use think\facade\Cache;
|
|
|
|
use think\facade\Log;
|
|
|
|
use think\queue\Job;
|
|
|
|
|
|
|
|
class SendSms
|
|
|
|
{
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @desc 获取配置文件中的短信秘钥对
|
|
|
|
* @return array
|
|
|
|
*/
|
|
|
|
public function getConfig()
|
|
|
|
{
|
|
|
|
// 配置文件获取
|
|
|
|
$configStr = env('SMS.CONFIG');
|
|
|
|
$arr = explode(',', $configStr);
|
|
|
|
$config = [];
|
|
|
|
foreach ($arr as $value){
|
|
|
|
$conArr = explode('@', $value);
|
|
|
|
$config[] = [
|
|
|
|
'access_key' => $conArr[0],
|
|
|
|
'secret' => $conArr[1]
|
|
|
|
];
|
|
|
|
}
|
|
|
|
return $config;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @desc 发送短信验证码
|
|
|
|
* @param Job $job
|
|
|
|
* @param $data
|
|
|
|
* @return void
|
|
|
|
* @throws \Psr\SimpleCache\InvalidArgumentException
|
|
|
|
*/
|
|
|
|
public function fire(Job $job, $data)
|
|
|
|
{
|
|
|
|
trace($job->getJobId().'---发送短信任务开始--------'.json_encode($data), 'info');
|
|
|
|
$to = $data['mobile'];
|
|
|
|
$message = $data['subject'];
|
|
|
|
$from = 'Bourse';
|
|
|
|
$accessKey = env('SMS.ACCESS_KEY_ID');
|
|
|
|
$secret = env('SMS.ACCESS_KEY_SECRET');
|
|
|
|
if (empty($accessKey) || empty($secret)) {
|
|
|
|
trace('------- 短信账号配置错误 -------', 'error');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
(new \app\utility\SendSms())->sendMessageToGlobe($to, $message, $from, $accessKey, $secret);
|
|
|
|
// 删除任务
|
|
|
|
$job->delete();
|
|
|
|
}
|
|
|
|
|
|
|
|
public function failed($data)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
}
|