yujian
2019-03-08 69ef1fc76ac57e8669cb7bd084c35b0ac447f703
活跃中自动领取券
1个文件已修改
24 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/aspect/ActiveUserAspect.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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();
         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的Key
                String key = "activeUid_" + uuid;
                // 缓存中是否存在uid
                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);
    }
    
}