AliYunSmsService.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <?php
  2. /**
  3. * @package merchant
  4. *
  5. * @author xaboy
  6. * @day 2020-05-18
  7. *
  8. *
  9. */
  10. namespace crmeb\services;
  11. use AlibabaCloud\Client\AlibabaCloud;
  12. use think\Exception;
  13. use think\facade\Db;
  14. use GuzzleHttp\Exception\ClientException;
  15. use GuzzleHttp\Exception\ServerException;
  16. use think\facade\Log;
  17. /**
  18. * Class YunxinSmsService
  19. * @package crmeb\services
  20. * @author xaboy
  21. * @day 2020-05-18
  22. */
  23. class AliYunSmsService
  24. {
  25. public function send($mobile, $code, $templateId = 'AUTHCODE')
  26. {
  27. if($templateId=='') $templateId = 'AUTHCODE';
  28. // AlibabaCloud::accessKeyClient('LTAI5tPv49zdudnbTGExNKd3', 'nS7eFuPfI92i5h0MSvcAkpbyGsmkeF')
  29. // ->regionId('cn-hangzhou')
  30. // ->asDefaultClient();
  31. AlibabaCloud::accessKeyClient('LTAI5tKivJSckMYz5BHev3u8', 'nvetSdLB1YP7OgvpJcVeyhdJDVs4Ik')
  32. ->regionId('cn-hangzhou')
  33. ->asDefaultClient();
  34. $templateParam['code'] = $code;
  35. log::info("发送短信方法");
  36. switch ($templateId) {
  37. case 'AUTHCODE':
  38. $SignName = '融合华夏';
  39. $TemplateCode = 'SMS_311255692';
  40. $content = '【华夏幸福保】您的验证码是:' . $code;
  41. break;
  42. case 'ONESELFCARRY':
  43. $SignName = '华夏幸福保';
  44. $TemplateCode = 'SMS_465430830';
  45. $content = '【华夏幸福保】您购买的商品动态码(自提码)为' . $code . ',提货时请出示自提码!';
  46. break;
  47. case 'REDCHANGE':
  48. $SignName = '华夏幸福保';
  49. $TemplateCode = 'SMS_465371794';
  50. $content = '【华夏幸福保】您的短信验证码为' . $code . ',您正在人工调整红积分,如非本人操作,请忽略该短信。';
  51. break;
  52. case 'COMMISSIONCHANGE':
  53. $SignName = '华夏幸福保';
  54. $TemplateCode = 'SMS_465392073';
  55. $content = '【华夏幸福保】您的短信验证码为' . $code . ',您正在人工调整用户佣金,如非本人操作,请忽略该短信。';
  56. break;
  57. }
  58. try {
  59. $result = AlibabaCloud::rpc()
  60. ->product('Dysmsapi')
  61. ->version('2017-05-25')
  62. ->action('SendSms')
  63. ->method('POST')
  64. ->options([
  65. 'query' => [
  66. 'PhoneNumbers' => $mobile,
  67. 'SignName' => $SignName,
  68. 'TemplateCode' => $TemplateCode,//测试的
  69. // 'TemplateCode' => 'SMS_464451169',
  70. 'TemplateParam' => json_encode($templateParam),
  71. ],
  72. ])
  73. ->request();
  74. log::info("短信:返回参数");
  75. log::info($result);
  76. Db::name('sms_record')->insert(['phone' => $mobile, 'content' => $content, 'template' => $TemplateCode, 'create_time'=>date("Y-m-d H:i:s")]);
  77. return $result->toArray();
  78. // } catch (ClientException $e) {
  79. // return ['code' => 500, 'message' => '阿里云短信客户端异常:' . $e->getErrorMessage()];
  80. // } catch (ServerException $e) {
  81. // return ['code' => 500, 'message' => '阿里云短信服务端异常:' . $e->getErrorMessage()];
  82. } catch (Exception $e) {
  83. return ['code' => 500, 'message' => '阿里云短信服务端异常:' . $e->getMessage()];
  84. }
  85. }
  86. }