From e8353897085d9a5f165c87a117c3e2f18cf63fcd Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Mon, 04 Sep 2023 10:32:17 +0800 Subject: [PATCH] 短信 --- src/main/java/cc/mrbird/febs/mall/controller/CommonController.java | 3 + src/main/java/cc/mrbird/febs/common/utils/Sms106Send.java | 66 +++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+), 1 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/common/utils/Sms106Send.java b/src/main/java/cc/mrbird/febs/common/utils/Sms106Send.java new file mode 100644 index 0000000..9947f7f --- /dev/null +++ b/src/main/java/cc/mrbird/febs/common/utils/Sms106Send.java @@ -0,0 +1,66 @@ +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 = "16883"; + private static final String ACCOUNT = "meiao"; + private static final String PASSWORD = "meiao123456"; + + + /** + * @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)); + } +} diff --git a/src/main/java/cc/mrbird/febs/mall/controller/CommonController.java b/src/main/java/cc/mrbird/febs/mall/controller/CommonController.java index 752a2bc..67b86a1 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/CommonController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/CommonController.java @@ -53,7 +53,8 @@ // 发送手机验证码 if (AppContants.ACCOUNT_TYPE_MOBILE.equals(type)) { - boolean result = ZzSmsSend.sendVerifyCode(account, code.toString(), 2); +// boolean result = ZzSmsSend.sendVerifyCode(account, code.toString(), 2); + boolean result = Sms106Send.sendVerifyCode(account, code.toString(), 2); if (result) { Map<String, Object> map = new HashMap<>(); boolean flag = redisUtils.set(AppContants.VERIFY_CODE_PREFIX + account, code, 120); -- Gitblit v1.9.1