private final String prefix = "sendSms_waitingTime.";
@Autowired
private RedisTemplate<String, Object> redisTemplate;
/**
* TODO 手机号发送短信间隔:60秒-maojw
*/
@Override
public int sendSmsWaitingTime(String smsPhone) {
// 判断该手机当天发送短信次数间隔
logger.info("判断该手机当天发送短信次数间隔:{}",smsPhone);
// MICROSECONDS微秒 一百万分之一秒(就是毫秒/1000),MILLISECONDS毫秒,NANOSECONDS毫微秒
// 十亿分之一秒(就是微秒/1000),SECONDS秒,MINUTES分钟,HOURS小时,DAYS天
String key = prefix + smsPhone +"_"+ DateUtils.getDate();
// 获取key的有效时间:单位/秒
Long expire = this.redisTemplate.getExpire(key, TimeUnit.SECONDS);
if(0==expire){
this.redisTemplate.opsForValue().set(key, System.currentTimeMillis(), 60, TimeUnit.SECONDS);
return 0;
}else{
//返回需要等待时间
return expire.intValue();
}
}