package cn.timer.api.utils; import com.alibaba.fastjson.JSONObject; import com.aliyuncs.CommonRequest; import com.aliyuncs.CommonResponse; import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.exceptions.ServerException; import com.aliyuncs.http.MethodType; import com.aliyuncs.profile.DefaultProfile; import cn.timer.api.dto.qyzx.EntRegisterDto; /** * aliyun阿里云短信服务 * * @author dsc * */ public class AliyunSMS { /** * * @param phone * @param templateCode 1."身份验证验证码" 2."登录确认验证码" 3."登录异常验证码" 4."用户注册验证码" * 5."修改密码验证码" 6."信息变更验证码" */ @SuppressWarnings("deprecation") public JSONObject yzm(EntRegisterDto entRegisterDto, Integer templateCode, Integer code) { DefaultProfile profile = DefaultProfile.getProfile("cn-shenzhen", "LTAI4FuaShJWQ1dggsFWG5CC", "EJ6qToT4T4u0B5Rb6qrta9WkyGHvGR"); IAcsClient client = new DefaultAcsClient(profile); CommonRequest request = new CommonRequest(); request.setMethod(MethodType.POST); request.setDomain("dysmsapi.aliyuncs.com"); request.setVersion("2017-05-25"); request.setAction("SendSms"); request.putQueryParameter("RegionId", "cn-shenzhen"); request.putQueryParameter("PhoneNumbers", entRegisterDto.getPhone()); request.putQueryParameter("SignName", "8小时人事管家"); switch (templateCode) { // 1."身份验证验证码" case 1: request.putQueryParameter("TemplateCode", "SMS_178485364"); break; // 2."登录确认验证码" case 2: request.putQueryParameter("TemplateCode", "SMS_178485363"); break; // 3."登录异常验证码" case 3: request.putQueryParameter("TemplateCode", "SMS_178485362"); break; // 4."用户注册验证码" case 4: request.putQueryParameter("TemplateCode", "SMS_178485361"); break; // 5."修改密码验证码" case 5: request.putQueryParameter("TemplateCode", "SMS_178485360"); break; // 6."信息变更验证码" case 6: request.putQueryParameter("TemplateCode", "SMS_178485359"); break; default: request.putQueryParameter("TemplateCode", "SMS_178485364"); } // 【8小时人事管家】验证码934169,您正在尝试修改登录密码,请妥善保管账户信息。 request.putQueryParameter("TemplateParam", "{\"code\":\"" + code + "\"}"); CommonResponse response = null; try { response = client.getCommonResponse(request); } catch (ServerException e) { e.printStackTrace(); } catch (ClientException e) { e.printStackTrace(); } return JSONObject.parseObject(response.getData()); } /** * 短信内容查询(短信发送日期,支持查询最近30天的记录) */ @SuppressWarnings("deprecation") public String QuerySendDetails(String phone, String date, String bizId) { DefaultProfile profile = DefaultProfile.getProfile("cn-shenzhen", "LTAI4FuaShJWQ1dggsFWG5CC", "EJ6qToT4T4u0B5Rb6qrta9WkyGHvGR"); IAcsClient client = new DefaultAcsClient(profile); CommonRequest request = new CommonRequest(); request.setMethod(MethodType.POST); request.setDomain("dysmsapi.aliyuncs.com"); request.setVersion("2017-05-25"); request.setAction("QuerySendDetails"); request.putQueryParameter("RegionId", "cn-shenzhen"); request.putQueryParameter("PhoneNumber", phone); request.putQueryParameter("SendDate", date); request.putQueryParameter("PageSize", "1"); request.putQueryParameter("CurrentPage", "1"); request.putQueryParameter("BizId", bizId); String a = null; try { CommonResponse response = client.getCommonResponse(request); a = response.getData(); } catch (Exception e) { e.printStackTrace(); } System.err.println(a); if (a != null && a.contains("OK")) { return a;// 代表请求成功 } return "获取失败"; } /** * 提醒功能 * * @param name 用户名字 * @param htname 要提醒的东西的名字 * @param time 提醒的时间 * @param phone */ @SuppressWarnings("deprecation") public static void tx(String name, String htname, String time, String phone) { DefaultProfile profile = DefaultProfile.getProfile("cn-shenzhen", "LTAI4FuaShJWQ1dggsFWG5CC", "EJ6qToT4T4u0B5Rb6qrta9WkyGHvGR"); IAcsClient client = new DefaultAcsClient(profile); CommonRequest request = new CommonRequest(); request.setMethod(MethodType.POST); request.setDomain("dysmsapi.aliyuncs.com"); request.setVersion("2017-05-25"); request.setAction("SendSms"); request.putQueryParameter("RegionId", "cn-shenzhen"); request.putQueryParameter("PhoneNumbers", phone); request.putQueryParameter("SignName", "8小时人事管家"); request.putQueryParameter("TemplateCode", "SMS_180347486"); request.putQueryParameter("TemplateParam", "{\"name\":\"" + name + "\", \"htname\":\"" + htname + "\",\"time\":\"" + time + "\"}"); try { CommonResponse response = client.getCommonResponse(request); System.out.println(response.getData()); } catch (ServerException e) { e.printStackTrace(); } catch (ClientException e) { e.printStackTrace(); } } // public static void main(String[] args) { // AliyunSMS a = new AliyunSMS(); // EntRegisterDto entRegisterDto = new EntRegisterDto(); // entRegisterDto.setPhone("18711519124"); // String a1 = a.yzm(entRegisterDto, 1, 123456); // JSONObject json = new JSONObject(a1); // String bizId = (String) json.get("BizId"); // // 流水号 // System.err.println("bizId:"+bizId); // } }