Class SmsSendService

java.lang.Object
com.bytedesk.core.sms.SmsSendService

@Service public class SmsSendService extends Object
短信发送服务
  • Field Details

    • regionId

      @Value("${aliyun.region.id:cn-hangzhou}") private String regionId
    • accessKeyId

      @Value("${aliyun.access.key.id:}") private String accessKeyId
    • accessKeySecret

      @Value("${aliyun.access.key.secret:}") private String accessKeySecret
    • signName

      @Value("${aliyun.sms.signname:}") private String signName
    • templateCode

      @Value("${aliyun.sms.templatecode:}") private String templateCode
    • bytedeskProperties

      @Autowired private BytedeskProperties bytedeskProperties
    • objectMapper

      private final com.fasterxml.jackson.databind.ObjectMapper objectMapper
  • Constructor Details

    • SmsSendService

      public SmsSendService()
  • Method Details

    • init

      @Autowired public void init()
      初始化时处理配置项编码问题
    • sendSms

      public boolean sendSms(String mobile, String country, String content, jakarta.servlet.http.HttpServletRequest request)
      发送短信
      Parameters:
      mobile - 手机号
      country - 国家代码
      content - 短信内容
      request - HTTP请求
      Returns:
      是否发送成功
    • sendSmsWithResult

      public SmsSendResult sendSmsWithResult(String mobile, String country, String content, jakarta.servlet.http.HttpServletRequest request)
      发送短信并返回详细结果
      Parameters:
      mobile - 手机号
      country - 国家代码
      content - 短信内容
      request - HTTP请求
      Returns:
      SmsSendResult 发送结果
    • sendValidateCode

      public SmsSendResult sendValidateCode(String mobile, String country, String code)
      发送验证码
      Parameters:
      mobile - 手机号
      country - 国家代码
      code - 验证码
      Returns:
      SmsSendResult 发送结果
    • normalizeAndValidateMobile

      private String normalizeAndValidateMobile(String mobile)
    • formatPhoneNumber

      private String formatPhoneNumber(String mobile, String country)
      格式化手机号码,处理国家代码
      Parameters:
      mobile - 手机号
      country - 国家代码
      Returns:
      格式化后的手机号
    • parseAliyunSmsResponse

      private SmsSendResult parseAliyunSmsResponse(String responseData)
      解析阿里云短信服务响应
      Parameters:
      responseData - 响应JSON数据
      Returns:
      SmsSendResult
    • getChineseErrorMessage

      private String getChineseErrorMessage(String code, String originalMessage)
      根据阿里云错误代码返回中文错误信息
      Parameters:
      code - 错误代码
      originalMessage - 原始错误信息
      Returns:
      中文错误信息