|  |  | 
 |  |  | import cn.hutool.core.util.XmlUtil; | 
 |  |  | import cn.hutool.crypto.SecureUtil; | 
 |  |  | import cn.hutool.http.HttpUtil; | 
 |  |  | import cn.hutool.json.JSONObject; | 
 |  |  | import cn.hutool.json.JSONUtil; | 
 |  |  | import com.aliyun.dysmsapi20170525.models.SendSmsResponse; | 
 |  |  | import lombok.extern.slf4j.Slf4j; | 
 |  |  | import com.aliyun.tea.*; | 
 |  |  |  | 
 |  |  | import java.util.Date; | 
 |  |  | import java.util.HashMap; | 
 |  |  | 
 |  |  |  **/ | 
 |  |  | @Slf4j | 
 |  |  | public class ZzSmsSend { | 
 |  |  |  | 
 |  |  |     public static com.aliyun.dysmsapi20170525.Client createClient(String accessKeyId, String accessKeySecret) throws Exception { | 
 |  |  |         com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config() | 
 |  |  |                 // 您的 AccessKey ID | 
 |  |  |                 .setAccessKeyId(accessKeyId) | 
 |  |  |                 // 您的 AccessKey Secret | 
 |  |  |                 .setAccessKeySecret(accessKeySecret); | 
 |  |  |         // 访问的域名 | 
 |  |  |         config.endpoint = "dysmsapi.aliyuncs.com"; | 
 |  |  |         return new com.aliyun.dysmsapi20170525.Client(config); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private static final String SIGNNAME = "汇达农业"; | 
 |  |  |     private static final String TEMPLATECODE = "SMS_251041117"; | 
 |  |  |     public static boolean sendALiYun(String phone,String TemplateParam){ | 
 |  |  |         com.aliyun.dysmsapi20170525.Client client = null; | 
 |  |  |         try { | 
 |  |  |             client = createClient("LTAI4GBuydqbJ5bTsDP97Lpd", "vbCjQtPxABWjqtUlQfzjlA0qAY96fh"); | 
 |  |  |         } catch (Exception e) { | 
 |  |  |             e.printStackTrace(); | 
 |  |  |             return false; | 
 |  |  |         } | 
 |  |  |         com.aliyun.dysmsapi20170525.models.SendSmsRequest sendSmsRequest = new com.aliyun.dysmsapi20170525.models.SendSmsRequest() | 
 |  |  | //                .setSignName("阿里云短信测试") | 
 |  |  |                 .setSignName(SIGNNAME) | 
 |  |  | //                .setTemplateCode("SMS_154950909") | 
 |  |  |                 .setTemplateCode(TEMPLATECODE) | 
 |  |  | //                .setPhoneNumbers("15274802129") | 
 |  |  |                 .setPhoneNumbers(phone) | 
 |  |  | //                .setTemplateParam("{\"code\":\"1234\"}"); | 
 |  |  |                 .setTemplateParam("{\"code\":\""+TemplateParam+"\"}"); | 
 |  |  |         com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions(); | 
 |  |  |         try { | 
 |  |  |             // 复制代码运行请自行打印 API 的返回值 | 
 |  |  |             SendSmsResponse sendSmsResponse = client.sendSmsWithOptions(sendSmsRequest, runtime); | 
 |  |  |             log.info("短信发送:{}", sendSmsResponse); | 
 |  |  |             JSONObject jsonObject = JSONUtil.parseObj(sendSmsResponse); | 
 |  |  |             System.out.print(jsonObject); | 
 |  |  |             if(200 == sendSmsResponse.getStatusCode()) { | 
 |  |  |                 return true; | 
 |  |  |             }else{ | 
 |  |  |                 return false; | 
 |  |  |             } | 
 |  |  |         } catch (TeaException error) { | 
 |  |  |             // 如有需要,请打印 error | 
 |  |  |             com.aliyun.teautil.Common.assertAsString(error.message); | 
 |  |  |         } catch (Exception _error) { | 
 |  |  |             TeaException error = new TeaException(_error.getMessage(), _error); | 
 |  |  |             // 如有需要,请打印 error | 
 |  |  |             com.aliyun.teautil.Common.assertAsString(error.message); | 
 |  |  |         } | 
 |  |  |         return false; | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private static final String URL = "http://zzsms365.com/v2sms.aspx?action=send"; | 
 |  |  |  | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public static void main(String[] args) { | 
 |  |  |         Map<String, Object> data = new HashMap<>(); | 
 |  |  |         Long time = System.currentTimeMillis(); | 
 |  |  |         data.put("userid", USER_ID); | 
 |  |  |         data.put("timestamp", time); | 
 |  |  |         data.put("mobile", "15773002834"); | 
 |  |  |         String signStr = ACCOUNT + PWD + time; | 
 |  |  |         String sign = SecureUtil.md5(signStr); | 
 |  |  |         data.put("sign", sign); | 
 |  |  |         data.put("content", "【HiBit】尊敬的用户,恭喜您于2010-03-25有一笔充值已成功到账,充值数量为10。"); | 
 |  |  |  | 
 |  |  |         String post = HttpUtil.post(URL, data); | 
 |  |  |         System.out.println(post); | 
 |  |  | //        Map<String, Object> data = new HashMap<>(); | 
 |  |  | //        Long time = System.currentTimeMillis(); | 
 |  |  | //        data.put("userid", USER_ID); | 
 |  |  | //        data.put("timestamp", time); | 
 |  |  | //        data.put("mobile", "15773002834"); | 
 |  |  | //        String signStr = ACCOUNT + PWD + time; | 
 |  |  | //        String sign = SecureUtil.md5(signStr); | 
 |  |  | //        data.put("sign", sign); | 
 |  |  | //        data.put("content", "【HiBit】尊敬的用户,恭喜您于2010-03-25有一笔充值已成功到账,充值数量为10。"); | 
 |  |  | // | 
 |  |  | //        String post = HttpUtil.post(URL, data); | 
 |  |  | //        System.out.println(post); | 
 |  |  |         boolean b = sendALiYun( "15274802129", "123456"); | 
 |  |  |         System.out.println(b); | 
 |  |  |     } | 
 |  |  | } |