From c60b22e463b909b2e9298555718832b8b36cffd8 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Mon, 25 Jan 2021 16:58:37 +0800 Subject: [PATCH] modify --- zq-erp/pom.xml | 6 +++ zq-erp/src/main/java/com/matrix/system/app/utils/Sms106Send.java | 65 ++++++++++++++++++++++++++++++++ zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java | 6 ++ 3 files changed, 76 insertions(+), 1 deletions(-) diff --git a/zq-erp/pom.xml b/zq-erp/pom.xml index 1abf6e9..e337593 100644 --- a/zq-erp/pom.xml +++ b/zq-erp/pom.xml @@ -371,6 +371,12 @@ <artifactId>mapstruct</artifactId> <version>1.3.0.Final</version> </dependency> + + <dependency> + <groupId>cn.hutool</groupId> + <artifactId>hutool-all</artifactId> + <version>5.3.1</version> + </dependency> </dependencies> <build> <resources> diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java index dfd5149..f7b9c42 100644 --- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java +++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java @@ -9,6 +9,7 @@ import com.matrix.system.app.dto.PwdResetDto; import com.matrix.system.app.dto.SmsCodeDto; import com.matrix.system.app.dto.UploadPhotoDto; +import com.matrix.system.app.utils.Sms106Send; import com.matrix.system.app.vo.UserInfoVo; import com.matrix.system.common.authority.DefaultAuthorityManager; import com.matrix.system.common.authority.strategy.AccountPasswordLogin; @@ -174,7 +175,10 @@ if (StringUtils.isNotBlank(codeExist)) { return AjaxResult.buildFailInstance("请勿重复发送验证码"); } - redisClient.saveValue(smsCodeDto.getTelphone(), "123456", 120); + + Integer code =(int) ((Math.random() * 9 + 1) * 100000); + Sms106Send.sendVerifyCode(smsCodeDto.getTelphone(), code.toString(), 2); + redisClient.saveValue(smsCodeDto.getTelphone(), code.toString(), 120); return AjaxResult.buildSuccessInstance("发送成功"); } diff --git a/zq-erp/src/main/java/com/matrix/system/app/utils/Sms106Send.java b/zq-erp/src/main/java/com/matrix/system/app/utils/Sms106Send.java new file mode 100644 index 0000000..4926ebb --- /dev/null +++ b/zq-erp/src/main/java/com/matrix/system/app/utils/Sms106Send.java @@ -0,0 +1,65 @@ +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)); + } +} -- Gitblit v1.9.1