AccessLogInterceptor拦截器

package cn.focus.dc.focuswap.interceptors;

import java.lang.annotation.Annotation;

import net.paoding.rose.web.ControllerInterceptorAdapter;
import net.paoding.rose.web.Invocation;

import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;

import cn.focus.dc.focuswap.annotation.AccessLogRequired;
import cn.focus.dc.focuswap.service.CityService;
import cn.focus.dc.focuswap.service.LogStatService;
import cn.focus.dc.focuswap.utils.CookieUtil;

/**
 * @author qiaowang
 * @date 2013-12-25 下午12:07:45
 */
public class AccessLogInterceptor extends ControllerInterceptorAdapter {

    @Autowired
    private LogStatService logStatService;
    
    @Autowired
    private CityService cityService;
    
    public AccessLogInterceptor() {
        this.setPriority(100);
    }
    
    protected Class<? extends Annotation> getRequiredAnnotationClass() {
        return AccessLogRequired.class;
    }
    
    public Object before(Invocation inv){
        String url = inv.getRequest().getRequestURL().toString();
        String cityPinyin = StringUtils.EMPTY;
        if(StringUtils.isNotBlank(url)){   
            String[] urlArray = StringUtils.split(url, "\\/");
            if(StringUtils.isNotBlank(urlArray[2])){
               cityPinyin = urlArray[2];
            }
        }
        
        
        if(StringUtils.isBlank(cityPinyin)){
         // 页面使用默认城市
            cityPinyin = cityService.getDefaultCity().getCityPinyinAbbr(); 
        }
        //保存日志
        logStatService.statAccess(inv, url);
        return true;
    }
}

猜你喜欢

转载自wangqiaowqo.iteye.com/blog/1995938