diff --git a/mallinkAdmin/src/main/resources/db/migration/V201904271400__UPDATE_MSG_MODEL.sql b/mallinkAdmin/src/main/resources/db/migration/V201904271400__UPDATE_MSG_MODEL.sql new file mode 100644 index 000000000..f1ebf265b --- /dev/null +++ b/mallinkAdmin/src/main/resources/db/migration/V201904271400__UPDATE_MSG_MODEL.sql @@ -0,0 +1 @@ +update wx_msg_validationcode_model set content='{s6}(动态验证码),请在5分钟内填写' where type in (1,6); \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxMsgValidationcode.java b/mallinkService/src/main/java/com/iformall/domain/po/WxMsgValidationcode.java index 81eb923a8..4cc9c3d17 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxMsgValidationcode.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxMsgValidationcode.java @@ -67,6 +67,17 @@ public class WxMsgValidationcode implements Serializable { @io.swagger.annotations.ApiModelProperty(value="",name="appid") private String appid; + @Transient + private String createtimeStr; + + public String getCreatetimeStr() { + return createtimeStr; + } + + public void setCreatetimeStr(String createtimeStr) { + this.createtimeStr = createtimeStr; + } + public String getPhone() { return phone; } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMsgValidationcodeServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMsgValidationcodeServiceImpl.java index 5ef1b6348..06ec46fb4 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMsgValidationcodeServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMsgValidationcodeServiceImpl.java @@ -12,6 +12,7 @@ import com.iformall.enums.*; import com.iformall.mapper.*; import com.iformall.mq.MqBaseProducer; import com.iformall.service.WxMsgValidationcodeService; +import com.iformall.utils.DateUtils; import org.apache.commons.collections.map.HashedMap; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -84,7 +85,16 @@ public class WxMsgValidationcodeServiceImpl implements WxMsgValidationcodeServic Date currentdate = new Date(); wxmsgvalidationcodelist = wxmsgvalidationcodelist.stream().filter(validationcode -> validationcode.getExpiretime().after(currentdate)).collect(Collectors.toList()); - if(wxmsgvalidationcodelist.size()>0) return new ResultData(ErrorCode.MSG_REPEAT_SEND.getCode(),ErrorCode.MSG_REPEAT_SEND.getMessage()); + if (wxmsgvalidationcodelist.size() > 0) { + return new ResultData(ErrorCode.MSG_REPEAT_SEND); + } + //2 判断是否已超过3条 + String systemTime = DateUtils.getSystemTime("yyyy-MM-dd"); + wxMsgValidationcode.setCreatetimeStr(systemTime); + List list = wxMsgValidationcodeMapper.findList(wxMsgValidationcode); + if (list.size() == 3) { + return new ResultData(ErrorCode.MSG_SEND_ERROR.getCode(), "验证码发送超限"); + } //验证码 int code = (int) ((Math.random() * 9 + 1) * 100000); diff --git a/mallinkService/src/main/resources/mapper/WxMsgValidationcodeMapper.xml b/mallinkService/src/main/resources/mapper/WxMsgValidationcodeMapper.xml index 02ac52e94..b3791f2b8 100644 --- a/mallinkService/src/main/resources/mapper/WxMsgValidationcodeMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxMsgValidationcodeMapper.xml @@ -22,14 +22,15 @@ where 1 = 1 and `id` = #{id} - and `phone` = #{phone} - and `expiretime` = #{expiretime} - and `createtime` = #{createtime} + and `phone` = #{phone} + and `expiretime` = #{expiretime} + and `createtime` = #{createtime} and `type` = #{type} and `tenant_id` = #{tenantId} - and `msg` = #{msg} - and `signature` = #{signature} - and `code` = #{code} + and `msg` = #{msg} + and `signature` = #{signature} + and `code` = #{code} + and date_format(`createtime`,'%Y-%m-%d') = #{createtimeStr} and id in