zoukankan      html  css  js  c++  java
  • Spring Boot @Aspect简单使用

    @Aspect
    @Component
    public class TimeAspect {
    	
        /**
         * 切入Controller
         */
        @Pointcut("execution(public *  com.yf.game.app.controller.GameRecordController.submitGameRecord(..))")
        public void execService() {
        }
    
        @Around("execService()")
        public Object doAround(ProceedingJoinPoint pjp) throws Throwable {
        	boolean canJoin = false;
        	Date nowTime = new Date();
        	canJoin = activeTimeLimits.canJoinActive(nowTime);
        	if(!canJoin) {
        		throw new TimeLimitException(parseResult(nowTime));
        	}
            Object result = pjp.proceed();
            return result;
        }
        /**
         * 组装结果
         * @param targetTime
         * @return
         */
        private ApiRest<Map<String,Object>> parseResult(Date targetTime) {
        	ApiRest<Map<String,Object>> apiRest = new ApiRest<Map<String,Object>>();
        	Map<String, Object> map = new HashMap<String, Object>();
        	if(activeTimeLimits != null) {
        		map.put("targetTime", targetTime);
        		map.put("dayStatus", activeTimeLimits.isDayStatus());
            	map.put("dayLimits", activeTimeLimits.getDayLimits());
        	}
        	apiRest.setCode(3);
    		apiRest.setData(map);
    		apiRest.setMsg("当前时间不可参与考试!!!");
        	return apiRest;
        }
    }
    

      

  • 相关阅读:
    Java SE
    Java SE
    Java SE
    Java SE
    Vocabulary: dockyard
    Vocabulary: Intercept
    Java SE
    MVG
    相关学习
    相机开发
  • 原文地址:https://www.cnblogs.com/sunang/p/15718107.html
Copyright © 2011-2022 走看看