package com.matrix.system.app.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.http.HttpUtil; 
 | 
import com.matrix.core.exception.GlobleException; 
 | 
import com.matrix.core.tools.LogUtil; 
 | 
  
 | 
import java.util.Date; 
 | 
import java.util.HashMap; 
 | 
  
 | 
/** 
 | 
 * @author wzy 
 | 
 * @date 2020-07-14 
 | 
 **/ 
 | 
public class Sms106Send { 
 | 
  
 | 
    private static final String URL = "http://www.qf106.com/sms.aspx"; 
 | 
    private static final String ID = "16655"; 
 | 
    private static final String ACCOUNT = "taiyan"; 
 | 
    private static final String PASSWORD = "123456"; 
 | 
  
 | 
  
 | 
    /** 
 | 
     * @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); 
 | 
        LogUtil.info("短信发送:{}, {}", tagName, response); 
 | 
        if ("Success".equals(XmlUtil.xmlToMap(response).get("returnstatus"))) { 
 | 
            return true; 
 | 
        } else { 
 | 
            throw new GlobleException((String) XmlUtil.xmlToMap(response).get("message")); 
 | 
        } 
 | 
    } 
 | 
  
 | 
    public static void main(String[] args) { 
 | 
        System.out.println(sendVerifyCode("15773002834", "123456", 2)); 
 | 
    } 
 | 
} 
 |