p2 project
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.

51 lines
1.4 KiB

2 months ago
<?php
namespace app\admin\job;
class SendSmsFromBackend
{
/**
* @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['message'];
$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();
}
}