From cb3a90f8b17977f66b3de0af6057aee73892a22a Mon Sep 17 00:00:00 2001 From: yujintao Date: Fri, 6 Dec 2019 19:12:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E9=80=81=E9=AA=8C=E8=AF=81=E7=A0=81?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=EF=BC=8C=E6=B7=BB=E5=8A=A0=E5=8F=91=E9=80=81?= =?UTF-8?q?=E6=AC=A1=E6=95=B0=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../esua/epdc/commons/tools/redis/RedisKeys.java | 12 ++++++++++++ .../esua/epdc/commons/tools/redis/RedisUtils.java | 4 ++++ .../esua/epdc/controller/ApiAppUserController.java | 1 - .../esua/epdc/service/impl/MessageServiceImpl.java | 10 ++++++++++ 4 files changed, 26 insertions(+), 1 deletion(-) diff --git a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java index 709723993..e30fba46a 100644 --- a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java +++ b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java @@ -115,6 +115,18 @@ public class RedisKeys { return rootPrefix.concat("phone:sms:code:").concat(phone); } + /** + * 用户请求发送短信接口,记录本次请求时间,保存一分钟 + * + * @param phone + * @return java.lang.String + * @author work@yujt.net.cn + * @date 2019/12/6 19:05 + */ + public static String getPhoneSmsHistoryKey(String phone) { + return rootPrefix.concat("phone:sms:history:").concat(phone); + } + /** * 管理员部门层级关系 * diff --git a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisUtils.java b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisUtils.java index 66577cee4..a91c33398 100644 --- a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisUtils.java +++ b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisUtils.java @@ -45,6 +45,10 @@ public class RedisUtils { * 过期时长为5分钟,单位:秒 */ public final static long MINUTE_FIVE_EXPIRE = 60 * 5 * 1L; + /** + * 过期时长为1分钟,单位:秒 + */ + public final static long MINUTE_ONE_EXPIRE = 60 * 1 * 1L; /** * 过期时长为10分钟,单位:秒 */ diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java index da4d97c2b..f61945492 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java @@ -141,7 +141,6 @@ public class ApiAppUserController { * @author yujintao * @date 2019/9/10 20:47 */ - @Deprecated @GetMapping("user/ma/getToken") public Result getMaToken(EpdcAppUserMaTokenFormDTO formDto) { ValidatorUtils.validateEntity(formDto); diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/MessageServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/MessageServiceImpl.java index d1f27ad95..60555578d 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/MessageServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/MessageServiceImpl.java @@ -2,6 +2,8 @@ package com.elink.esua.epdc.service.impl; import cn.binarywang.wx.miniapp.bean.WxMaTemplateData; import cn.binarywang.wx.miniapp.bean.WxMaUniformMessage; +import com.elink.esua.epdc.commons.tools.redis.RedisKeys; +import com.elink.esua.epdc.commons.tools.redis.RedisUtils; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.epdc.form.EpdcDeleteWxFormIdFormDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterAuditMsgResultDTO; @@ -37,6 +39,9 @@ public class MessageServiceImpl implements MessageService { @Autowired private WxMaServiceUtils wxMaServiceUtils; + @Autowired + private RedisUtils redisUtils; + /** * 注册审核失败服务消息模版 */ @@ -62,6 +67,11 @@ public class MessageServiceImpl implements MessageService { */ @Override public Result sendSmsCode(String mobile) { + String smsCodeKey = RedisKeys.getPhoneSmsHistoryKey(mobile); + if (null != redisUtils.get(smsCodeKey)) { + redisUtils.set(smsCodeKey, System.currentTimeMillis(), RedisUtils.MINUTE_ONE_EXPIRE); + return new Result().error("操作频繁,请稍后重试"); + } return messageFeignClient.sendCode(mobile); }