AliService.java 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package com.seecoder.thirdParty;
  2. import com.aliyuncs.CommonRequest;
  3. import com.aliyuncs.CommonResponse;
  4. import com.aliyuncs.DefaultAcsClient;
  5. import com.aliyuncs.IAcsClient;
  6. import com.aliyuncs.exceptions.ClientException;
  7. import com.aliyuncs.http.MethodType;
  8. import com.aliyuncs.profile.DefaultProfile;
  9. import com.seecoder.config.property.AliProperties;
  10. import org.slf4j.Logger;
  11. import org.slf4j.LoggerFactory;
  12. import org.springframework.scheduling.annotation.Async;
  13. import org.springframework.stereotype.Service;
  14. @Service
  15. public class AliService {
  16. private static final Logger log = LoggerFactory.getLogger(AliService.class);
  17. private final AliProperties.Profile aliProfile;
  18. private final IAcsClient client;
  19. public AliService(AliProperties aliProperties) {
  20. this.aliProfile = aliProperties.getProfile();
  21. DefaultProfile profile = DefaultProfile.getProfile(
  22. aliProfile.getRegionId(),
  23. aliProfile.getAccessKeyId(),
  24. aliProfile.getAccessKeySecret());
  25. client = new DefaultAcsClient(profile);
  26. }
  27. @Async
  28. public void sendMessage(String phone, String text) {
  29. sendSms(phone, text);
  30. }
  31. private void sendSms(String phone, String code) {
  32. CommonRequest request = new CommonRequest();
  33. request.setSysMethod(MethodType.POST);
  34. request.setSysDomain(aliProfile.getSysDomain());
  35. request.setSysVersion(aliProfile.getSysVersion());
  36. request.setSysAction("SendSms");
  37. request.putQueryParameter("RegionId", aliProfile.getRegionId());
  38. request.putQueryParameter("PhoneNumbers", phone);
  39. request.putQueryParameter("SignName", aliProfile.getSignName());
  40. request.putQueryParameter("TemplateCode", aliProfile.getTemplateCode());
  41. request.putQueryParameter("TemplateParam", "{\"code\":\"" + code + "\"}");
  42. try {
  43. CommonResponse response = client.getCommonResponse(request);
  44. log.info(response.getData());
  45. } catch (ClientException e) {
  46. log.error("Send sms error", e);
  47. }
  48. }
  49. }