赞
踩
如果通过阿里云短信服务产品发送短信。需要做以下操作
- 添加短信依赖
- <dependency>
- <groupId>com.aliyun</groupId>
- <artifactId>alibabacloud-dysmsapi20170525</artifactId>
- <version>2.0.22</version>
- </dependency>
-
-
- import cn.hutool.core.date.DateUtil;
- import cn.hutool.extra.spring.SpringUtil;
- import com.alibaba.fastjson.JSONObject;
- import com.aliyun.auth.credentials.Credential;
- import com.aliyun.auth.credentials.provider.StaticCredentialProvider;
- import com.aliyun.sdk.service.dysmsapi20170525.AsyncClient;
- import com.aliyun.sdk.service.dysmsapi20170525.models.SendSmsRequest;
- import com.aliyun.sdk.service.dysmsapi20170525.models.SendSmsResponse;
-
- import com.google.gson.Gson;
- import darabonba.core.client.ClientOverrideConfiguration;
- import lombok.extern.slf4j.Slf4j;
-
- import java.util.Date;
- import java.util.TimerTask;
- import java.util.concurrent.CompletableFuture;
- import java.util.concurrent.ExecutionException;
-
- /**
- * 短信发送服务
- * @author zmd
- */
- @Slf4j
- public class SendSmsService extends TimerTask {
- private AppletUser appletUser;
- private RepairOrder repairOrder;
- public SendSmsService(AppletUser appletUser, RepairOrder repairOrder){
- this.appletUser = appletUser;
- this.repairOrder = repairOrder;
- }
- @Override
- public void run() {
- SmsProperties smsProperties = SpringUtil.getBean(SmsProperties.class);
-
- StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
- .accessKeyId(OCRConstant.ACCESS_ID)
- .accessKeySecret(OCRConstant.ACCESS_SECRET)
- .build());
-
- AsyncClient client = AsyncClient.builder()
- .region("cn-hangzhou")
- .credentialsProvider(provider)
- .overrideConfiguration(ClientOverrideConfiguration.create()
- .setEndpointOverride("dysmsapi.aliyuncs.com")).build();
- // String timeStr = DateUtil.format(this.repairOrder.getDateOfArrival(),"yyyy-MM-dd HH:mm:ss");
- String timeStr = DateUtil.format(new Date(),"yyyy-MM-dd");
- JSONObject jsonObject = new JSONObject();
- jsonObject.put(smsProperties.getTemplateParam(),timeStr);
- //{"time":"2022-12-12"}
- SendSmsRequest sendSmsRequest = SendSmsRequest.builder()
- //接收短信的手机号码
- .phoneNumbers(this.appletUser.getPhonenumber())
- //短信签名名称
- .signName(smsProperties.getSignName())
- //短信模板code
- .templateCode(smsProperties.getTemplateCode())
- //短信模板变量对应的实际值
- .templateParam(String.valueOf(jsonObject))
- .build();
- CompletableFuture<SendSmsResponse> response = client.sendSms(sendSmsRequest);
- SendSmsResponse resp = null;
- try {
- resp = response.get();
- } catch (InterruptedException | ExecutionException e) {
- e.printStackTrace();
- }
- log.info(new Gson().toJson(resp));
- client.close();
- }
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。