智能仲裁后端服务

SmsUtils.java 2.8KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package com.ruoyi.common.utils;
  2. import com.tencentcloudapi.common.Credential;
  3. import com.tencentcloudapi.common.exception.TencentCloudSDKException;
  4. import com.tencentcloudapi.common.profile.ClientProfile;
  5. import com.tencentcloudapi.common.profile.HttpProfile;
  6. import com.tencentcloudapi.cvm.v20170312.CvmClient;
  7. import com.tencentcloudapi.cvm.v20170312.models.DescribeRegionsRequest;
  8. import com.tencentcloudapi.cvm.v20170312.models.DescribeRegionsResponse;
  9. import com.tencentcloudapi.sms.v20210111.SmsClient;
  10. import com.tencentcloudapi.sms.v20210111.models.SendSmsResponse;
  11. import com.tencentcloudapi.sms.v20210111.models.SendStatus;
  12. import lombok.Data;
  13. import lombok.extern.slf4j.Slf4j;
  14. import lombok.var;
  15. import java.util.Objects;
  16. @Slf4j
  17. public class SmsUtils {
  18. //应用id
  19. private static final String SDK_APP_ID = "1400854852";
  20. //API的SecretId
  21. private static final String SECRET_ID = "AKIDeEf2A8uX1HSainvvnXAc3X9ZlhtyvkMp";
  22. //API的SecretKey
  23. private static final String SECRET_KEY = "QjphKo8zkHZigT8j9PVtFPJyfIvO3d6V";
  24. //签名内容
  25. private static final String SIGN_NAME = "西安云美电子科技有限公司";
  26. public static Boolean sendSms(SendSmsRequest request) {
  27. Credential cred = new Credential(SECRET_ID, SECRET_KEY );
  28. SmsClient client = new SmsClient(cred, "ap-guangzhou");
  29. final var req = new com.tencentcloudapi.sms.v20210111.models.SendSmsRequest();
  30. req.setPhoneNumberSet(new String[]{"+86" + request.getPhone()});
  31. req.setSmsSdkAppId(SDK_APP_ID );
  32. req.setSignName(SIGN_NAME);
  33. req.setTemplateId(request.getTemplateId());
  34. req.setTemplateParamSet(request.getTemplateParamSet());
  35. SendSmsResponse res = null;
  36. try {
  37. res = client.SendSms(req);
  38. } catch (TencentCloudSDKException e) {
  39. log.error("发送短信出错:", e);
  40. return Boolean.FALSE;
  41. }
  42. SendStatus sendStatus = res.getSendStatusSet()[0];
  43. log.info("发送短信结果:Code={}, Message={}", sendStatus.getCode(), sendStatus.getMessage());
  44. if (Objects.nonNull(res.getSendStatusSet()) && res.getSendStatusSet().length > 0 && "Ok".equals(res.getSendStatusSet()[0].getCode())){
  45. return Boolean.TRUE;
  46. }
  47. return Boolean.FALSE;
  48. }
  49. /**
  50. * 参数对象
  51. */
  52. @Data
  53. public static class SendSmsRequest {
  54. /**
  55. * 电话
  56. */
  57. private String phone;
  58. /**
  59. * 模板 ID: 必须填写已审核通过的模板 ID
  60. */
  61. private String templateId;
  62. /**
  63. * 模板参数: 模板参数的个数需要与 TemplateId 对应模板的变量个数保持一致,若无模板参数,则设置为空
  64. */
  65. private String[] templateParamSet;
  66. }
  67. }