From 69ef1fc76ac57e8669cb7bd084c35b0ac447f703 Mon Sep 17 00:00:00 2001 From: yujian <yujian> Date: 星期五, 08 三月 2019 14:47:46 +0800 Subject: [PATCH] 活跃中自动领取券 --- fanli/src/main/java/com/yeshi/fanli/aspect/ActiveUserAspect.java | 24 ++++++++++++++++++------ 1 files changed, 18 insertions(+), 6 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/aspect/ActiveUserAspect.java b/fanli/src/main/java/com/yeshi/fanli/aspect/ActiveUserAspect.java index 2dd362a..ca1eaef 100644 --- a/fanli/src/main/java/com/yeshi/fanli/aspect/ActiveUserAspect.java +++ b/fanli/src/main/java/com/yeshi/fanli/aspect/ActiveUserAspect.java @@ -41,28 +41,40 @@ // @Around(EDP) public Object activeAround(ProceedingJoinPoint joinPoint) throws Throwable { + Long uid = null; + ServletRequestAttributes servletContainer = (ServletRequestAttributes) RequestContextHolder .getRequestAttributes(); + HttpServletRequest request = servletContainer.getRequest(); - Object[] args = joinPoint.getArgs(); - - Long uid = null; - HttpServletRequest request = servletContainer.getRequest(); String str_uid = request.getParameter("uid"); if (str_uid != null && str_uid.trim().length() > 0) { uid = Long.parseLong(str_uid); } - System.out.println("uid: "+ uid); final Long uuid = uid; executor.execute(new Runnable() { @Override public void run() { + if (uuid == null) { return; } + + // 缂撳瓨uid鐨凨ey + String key = "activeUid_" + uuid; + + // 缂撳瓨涓槸鍚﹀瓨鍦╱id + String cacheValue = redisManager.getCommonString(key); + if (cacheValue != null && cacheValue.trim().length() > 0) { + return; + } + + // 鍔犲叆缂撳瓨 20鍒嗛挓 + redisManager.cacheCommonString("activeUid_" + uuid, uuid.toString(), 60 * 20); + // 鎺ユ敹鍒� try { @@ -73,8 +85,8 @@ } }); + Object[] args = joinPoint.getArgs(); return joinPoint.proceed(args); } - } -- Gitblit v1.8.0