| package cc.mrbird.febs.common.utils; | 
|   | 
| import cn.hutool.core.date.DatePattern; | 
| import cn.hutool.core.date.DateUtil; | 
| import cn.hutool.core.util.StrUtil; | 
| 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; | 
| import java.util.Map; | 
|   | 
| /** | 
|  * @author wzy | 
|  * @date 2021-03-25 | 
|  **/ | 
| @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 = "BLNKA"; | 
| //    private static final String TEMPLATECODE = "SMS_291555713"; | 
|     private static final String TEMPLATECODE = "SMS_464995315"; | 
|     public static boolean sendALiYun(String phone,String TemplateParam){ | 
|         com.aliyun.dysmsapi20170525.Client client = null; | 
|         try { | 
|             client = createClient("LTAI5tKRA3S29dWTRMxLFNdJ", "hXBMw2VASDwgGnXo6jgBYaflhE33i9"); | 
|         } 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"; | 
|   | 
|     private static final String USER_ID = "1654"; | 
|     private static final String ACCOUNT = "1369815429"; | 
|     private static final String PWD = "1369815429"; | 
|   | 
|     public static boolean sendVerifyCode(String telphone, String code, int time) { | 
|         String content = "【美澳】您的验证码是{},请在{}分钟内输入,请勿泄露给他人,如非本人操作,请及时修改密码。"; | 
|         return send(telphone, StrUtil.format(content, code, time)); | 
|     } | 
|   | 
|     private static boolean send(String telphone, String content) { | 
|         Map<String, Object> data = new HashMap<>(); | 
|         Long time = System.currentTimeMillis(); | 
|         data.put("userid", USER_ID); | 
|         data.put("timestamp", time); | 
|         data.put("mobile", telphone); | 
|         String signStr = ACCOUNT + PWD + time; | 
|         String sign = SecureUtil.md5(signStr); | 
|         data.put("sign", sign); | 
|         data.put("content", content); | 
|   | 
|         String response = HttpUtil.post(URL, data); | 
|         log.info("短信发送:{}", response); | 
|         if ("Success".equals(XmlUtil.xmlToMap(response).get("returnstatus"))) { | 
|             return true; | 
|         } else { | 
| //            throw new GlobalException((String) XmlUtil.xmlToMap(response).get("message")); | 
|             return false; | 
|         } | 
|     } | 
|   | 
|     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); | 
|         boolean b = sendALiYun( "15274802129", "123456"); | 
|         System.out.println(b); | 
|     } | 
| } |