首页 > 其他 > 详细

如何在服务器端限制一分钟之内不能重复发送短信

时间:2015-07-09 02:15:30      阅读:939      评论:0      收藏:0      [点我收藏+]

直接上代码:

String lastSendSMSTime=getKeyCache(request, response, mobile);
        if(StringUtil.isNullOrEmpty(lastSendSMSTime)){
        	saveKeyCache(request, response, mobile, String.valueOf(DateTimeUtil.getCurrentTimeSecond())/*1436319245*/);
        }else{
        	long lastSendSMSTimeSecond=Long.parseLong(lastSendSMSTime);
        	long currentTimeSecond=DateTimeUtil.getCurrentTimeSecond();
        	int delter=(int) (currentTimeSecond-lastSendSMSTimeSecond);
        	if(delter>60){//TODO  写入配置文件
        		saveKeyCache(request, response, mobile, String.valueOf(DateTimeUtil.getCurrentTimeSecond()));
        	}else{//a00001
        		return new BaseResponseDto(false, "a00001", "一分钟之内不能重复发送手机短信").toJson();
        	}
        }

?

第一次发送时lastSendSMSTime 为null,于是设置当前时间A

第二次访问时,lastSendSMSTime?不为null,获取其值,为时间A;

同时获取当前时间B,计算时间A,和时间B 的差量delter.

业务逻辑是:拿delter和60进行比较,如果delter>60,说明两次发短信的时间相差60秒,则允许发送,会重置时间为当前时间;

若delter<=60秒,则允许发送,并且不会重置时间

?

如何在服务器端限制一分钟之内不能重复发送短信

原文:http://hw1287789687.iteye.com/blog/2225130

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!