alibaba基类配置

This commit is contained in:
2025-10-14 17:01:57 +08:00
parent d0588895b5
commit 1dbd96cb03
7 changed files with 202 additions and 37 deletions

View File

@@ -29,6 +29,21 @@ class YskController extends ApiController
// $data = \app\model\MessagePushTask::send_sms_msg();
}
public function sendsms(Request $request)
{
// 加入队列发送短信
// $a = AlibabaSms::main([
// 'templateCode' => 'SMS_244665149',
// 'templateParam' => json_encode(['code' => 1234]),
// 'phoneNumbers' => '15851408673',
// 'signName' => '陕西超掌柜科技',
// ]);
// p($a);
}
}

View File

@@ -8,25 +8,30 @@ use support\Log;
use think\Model;
use AlibabaCloud\SDK\Dysmsapi\V20170525\Dysmsapi;
use AlibabaCloud\Tea\Exception\TeaError;
use AlibabaCloud\Tea\Utils\Utils;
use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;
use AlibabaCloud\SDK\Dysmsapi\V20170525\Models\CreateSmsTemplateRequest;
use AlibabaCloud\SDK\Dysmsapi\V20170525\Models\GetSmsTemplateRequest;
use AlibabaCloud\SDK\Dysmsapi\V20170525\Models\UpdateSmsTemplateRequest;
use AlibabaCloud\SDK\Dysmsapi\V20170525\Models\DeleteSmsTemplateRequest;
use Darabonba\OpenApi\Models\Config;
use AlibabaCloud\SDK\Dysmsapi\V20170525\Models\SendSmsRequest;
use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;
use AlibabaCloud\Tea\Utils\Utils;
class AlibabaSms extends Model
{
protected static $sms_code = '陕西超掌柜科技';
/**
* 使用AK&SK初始化账号Client
* @param string $accessKeyId
* @param string $accessKeySecret
* @return Dysmsapi Client
*/
public static function createClient($accessKeyId, $accessKeySecret){
public static function createClient(){
$config = new Config([
"accessKeyId" => $accessKeyId,
"accessKeySecret" => $accessKeySecret
"accessKeyId" => config('cons.alibaba_sms.access_key_id'),
"accessKeySecret" => config('cons.alibaba_sms.access_key_secret')
]);
$config->endpoint = "dysmsapi.aliyuncs.com";
return new Dysmsapi($config);
@@ -39,13 +44,13 @@ class AlibabaSms extends Model
*/
public static function main($args){
$client = self::createClient(config('cons.alibaba_sms.access_key_id'), config('cons.alibaba_sms.access_key_secret'));
$client = self::createClient();
$sendSmsRequest = new SendSmsRequest($args);
$runtime = new RuntimeOptions([]);
try {
// 复制代码运行请自行打印 API 的返回值
$res = $client->sendSmsWithOptions($sendSmsRequest, $runtime);
Log::info('短信接口返回---》' . json_encode($res->body->toArray()));
Log::info('发送短信接口返回---》' . json_encode($res->body->toArray()));
if($res->body->code == 'OK') {
return true;
}else {
@@ -58,12 +63,119 @@ class AlibabaSms extends Model
}
// 如有需要,请打印 error
Utils::assertAsString($error->message);
Log::info('短信发送错误--' . $error->message);
return false;
Log::info('发送短信错误--' . $error->message);
}
}
// 申请新短信模版
public function CreateSmsTemplate($data)
{
$client = self::createClient();
$createSmsTemplateRequest = new CreateSmsTemplateRequest([]);
$runtime = new RuntimeOptions([]);
try {
$res = $client->createSmsTemplateWithOptions($createSmsTemplateRequest, $runtime);
Log::info('申请新短信模版接口返回---》' . json_encode($res->body->toArray()));
if($res->body->code == 'OK') {
return true;
}else {
return false;
}
}
catch (Exception $error) {
if (!($error instanceof TeaError)) {
$error = new TeaError([], $error->getMessage(), $error->getCode(), $error);
}
Utils::assertAsString($error->message);
Log::info('申请新短信模版错误--' . $error->message);
}
}
// 查询模版审核详情
public function GetSmsTemplate($data)
{
$client = self::createClient();
$getSmsTemplateRequest = new GetSmsTemplateRequest([]);
$runtime = new RuntimeOptions([]);
try {
$res = $client->getSmsTemplateWithOptions($getSmsTemplateRequest, $runtime);
Log::info('查询模版审核详情接口返回---》' . json_encode($res->body->toArray()));
if($res->body->code == 'OK') {
return $res->body->toArray();
}else {
return false;
}
}
catch (Exception $error) {
if (!($error instanceof TeaError)) {
$error = new TeaError([], $error->getMessage(), $error->getCode(), $error);
}
Utils::assertAsString($error->message);
Log::info('查询模版审核详情接口错误--' . $error->message);
}
}
// 修改模版
public function UpdateSmsTemplate($data)
{
$client = self::createClient();
$updateSmsTemplateRequest = new UpdateSmsTemplateRequest([]);
$runtime = new RuntimeOptions([]);
try {
$res = $client->updateSmsTemplateWithOptions($updateSmsTemplateRequest, $runtime);
Log::info('修改模版接口返回---》' . json_encode($res->body->toArray()));
if($res->body->code == 'OK') {
return true;
}else {
return false;
}
}
catch (Exception $error) {
if (!($error instanceof TeaError)) {
$error = new TeaError([], $error->getMessage(), $error->getCode(), $error);
}
Utils::assertAsString($error->message);
Log::info('修改模版接口错误--' . $error->message);
}
}
// 删除短信模版
public function DeleteSmsTemplate($data)
{
$client = self::createClient();
$deleteSmsTemplateRequest = new DeleteSmsTemplateRequest([]);
$runtime = new RuntimeOptions([]);
try {
// 复制代码运行请自行打印 API 的返回值
$res = $client->deleteSmsTemplateWithOptions($deleteSmsTemplateRequest, $runtime);
Log::info('删除短信模版接口返回---》' . json_encode($res->body->toArray()));
if($res->body->code == 'OK') {
return true;
}else {
return false;
}
}
catch (Exception $error) {
if (!($error instanceof TeaError)) {
$error = new TeaError([], $error->getMessage(), $error->getCode(), $error);
}
Utils::assertAsString($error->message);
Log::info('删除短信模版接口错误--' . $error->message);
}
}
/**
* 查询短信发送结果
*/

View File

@@ -9,27 +9,11 @@ class MessagePushTask
{
public function onWorkerStart()
{
// 每月1号 营销接收次数更新
// 每月1号 查询短信发送状态
new Crontab('0 0 1 * *', function(){
Log::info('营销接收次数更新开始执行---->');
\app\model\SaveUserPushNumber::savePushNumber();
Log::info('营销接收次数更新执行结束---->');
});
// 每分钟执行 营销推送
// new Crontab('1 * * * * *', function(){
// Log::info('营销推送开始执行---->');
// \app\model\MessagePushTask::send_msg();
// Log::info('营销推送执行结束---->');
// });
}
}

View File

@@ -18,7 +18,11 @@ class ApplySmsTemp implements Consumer
{
Log::info('消息队列【申请新短信模版】接收到消息' . $data);
// 查询没有提交审核的模版
$temp_list = Db::table('sms_shop_template')->where(['shop_id' => 1, 'status' => 0])->select()->toArray();
if ($temp_list) {
}