package cc.mrbird.febs.common.utils;
|
|
import cc.mrbird.febs.common.exception.FebsException;
|
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.http.HttpUtil;
|
import lombok.extern.slf4j.Slf4j;
|
|
import java.util.Date;
|
import java.util.HashMap;
|
|
/**
|
* @author wzy
|
* @date 2020-07-14
|
**/
|
@Slf4j
|
public class Sms106Send {
|
|
private static final String URL = "http://www.qf106.com/sms.aspx";
|
private static final String ID = "16909";
|
private static final String ACCOUNT = "ywgfw";
|
private static final String PASSWORD = "ywgfw123456";
|
|
|
/**
|
* @param phone 手机号
|
* @param code 验证码
|
* @param time 失效时间
|
* @return
|
*/
|
public static boolean sendVerifyCode(String phone, String code, int time) {
|
String msg = "您的验证码是{},请在{}分钟内输入,请勿泄露给他人,如非本人操作,请及时修改密码。";
|
String content = StrUtil.format(msg, code, time);
|
return request(phone, content, "验证码");
|
}
|
|
private static boolean request(String phone, String content, String tagName) {
|
HashMap<String, Object> param = new HashMap<>();
|
param.put("userid", ID);
|
param.put("account", ACCOUNT);
|
param.put("password", PASSWORD);
|
param.put("mobile", phone);
|
param.put("content", content);
|
param.put("sendTime", DateUtil.format(new Date(), DatePattern.NORM_DATETIME_PATTERN));
|
param.put("action", "send");
|
param.put("checkcontent", 0);
|
param.put("taskName", tagName);
|
param.put("countnumber", 1);
|
param.put("mobilenumber", 1);
|
param.put("telephonenumber", 0);
|
|
String response = HttpUtil.post(URL, param);
|
log.info("短信发送:{}, {}", tagName, response);
|
if ("Success".equals(XmlUtil.xmlToMap(response).get("returnstatus"))) {
|
return true;
|
} else {
|
throw new FebsException((String) XmlUtil.xmlToMap(response).get("message"));
|
}
|
}
|
|
public static void main(String[] args) {
|
System.out.println(sendVerifyCode("15274802129", "123456", 2));
|
}
|
}
|