package io.jboot.components.cache.support;

import com.jfinal.captcha.Captcha;
import com.jfinal.captcha.ICaptchaCache;
import io.jboot.Jboot;

public class JbootCaptchaCache implements ICaptchaCache {

    public static final String CACHE_NAME = "__jboot_captcha";

    @Override
    public void put(Captcha captcha) {
        Jboot.getCache().put(CACHE_NAME, captcha.getKey(), captcha, (int) ((captcha.getExpireAt() - System.currentTimeMillis()) / 1000));
    }

    @Override
    public Captcha get(String key) {
        return Jboot.getCache().get(CACHE_NAME, key);
    }

    @Override
    public void remove(String key) {
        Jboot.getCache().remove(CACHE_NAME, key);
    }

    @Override
    public void removeAll() {
        Jboot.getCache().removeAll(CACHE_NAME);
    }

}

@@ -135,16 +135,47 @@
 t.Jboot;
+%0Aimport io.jboot.utils.StrUtil;
 %0A%0Apublic
@@ -554,16 +554,46 @@
   return
+ StrUtil.isBlank(key) ? null :
  Jboot.g
@@ -674,32 +674,75 @@
 e(String key) %7B%0A
+        if (StrUtil.isNotBlank(key)) %7B%0A    
         Jboot.ge
@@ -767,32 +767,42 @@
 CHE_NAME, key);%0A
+        %7D%0A
     %7D%0A%0A    @Over

optimize JbootCaptchaCache