| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- package com.seecoder.thirdParty;
- import com.aliyuncs.CommonRequest;
- import com.aliyuncs.CommonResponse;
- import com.aliyuncs.DefaultAcsClient;
- import com.aliyuncs.IAcsClient;
- import com.aliyuncs.exceptions.ClientException;
- import com.aliyuncs.http.MethodType;
- import com.aliyuncs.profile.DefaultProfile;
- import com.seecoder.config.property.AliProperties;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.scheduling.annotation.Async;
- import org.springframework.stereotype.Service;
- @Service
- public class AliService {
- private static final Logger log = LoggerFactory.getLogger(AliService.class);
- private final AliProperties.Profile aliProfile;
- private final IAcsClient client;
- public AliService(AliProperties aliProperties) {
- this.aliProfile = aliProperties.getProfile();
- DefaultProfile profile = DefaultProfile.getProfile(
- aliProfile.getRegionId(),
- aliProfile.getAccessKeyId(),
- aliProfile.getAccessKeySecret());
- client = new DefaultAcsClient(profile);
- }
- @Async
- public void sendMessage(String phone, String text) {
- sendSms(phone, text);
- }
- private void sendSms(String phone, String code) {
- CommonRequest request = new CommonRequest();
- request.setSysMethod(MethodType.POST);
- request.setSysDomain(aliProfile.getSysDomain());
- request.setSysVersion(aliProfile.getSysVersion());
- request.setSysAction("SendSms");
- request.putQueryParameter("RegionId", aliProfile.getRegionId());
- request.putQueryParameter("PhoneNumbers", phone);
- request.putQueryParameter("SignName", aliProfile.getSignName());
- request.putQueryParameter("TemplateCode", aliProfile.getTemplateCode());
- request.putQueryParameter("TemplateParam", "{\"code\":\"" + code + "\"}");
- try {
- CommonResponse response = client.getCommonResponse(request);
- log.info(response.getData());
- } catch (ClientException e) {
- log.error("Send sms error", e);
- }
- }
- }
|