어떻게 서버에서 1분 안에 문자를 중복 발송할 수 없습니까

직접 부호:
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초면 발송이 가능하며 시간을 초기화하지 않습니다

좋은 웹페이지 즐겨찾기