| @@ -1,47 +0,0 @@ | |||||
| package com.iformall.resolver; | |||||
| import com.iformall.annotation.LoginUser; | |||||
| import com.iformall.domain.po.WxCUser; | |||||
| import com.iformall.domain.po.WxMerchantBUser; | |||||
| import com.iformall.service.WxMerchantBUserService; | |||||
| import com.iformall.utils.Constant; | |||||
| import org.springframework.beans.factory.annotation.Autowired; | |||||
| import org.springframework.core.MethodParameter; | |||||
| import org.springframework.stereotype.Component; | |||||
| import org.springframework.web.bind.support.WebDataBinderFactory; | |||||
| import org.springframework.web.context.request.NativeWebRequest; | |||||
| import org.springframework.web.context.request.RequestAttributes; | |||||
| import org.springframework.web.method.support.HandlerMethodArgumentResolver; | |||||
| import org.springframework.web.method.support.ModelAndViewContainer; | |||||
| /** | |||||
| * 有@LoginUser注解的方法参数,注入当前登录用户 | |||||
| * @author stormeye.wu | |||||
| * @email wugq@mippoint.com | |||||
| * @date 2017-03-23 22:02 | |||||
| */ | |||||
| @Component | |||||
| public class LoginUserHandlerMethodArgumentResolver implements HandlerMethodArgumentResolver { | |||||
| @Autowired | |||||
| private WxMerchantBUserService wxMerchantBUserService; | |||||
| @Override | |||||
| public boolean supportsParameter(MethodParameter parameter) { | |||||
| return parameter.getParameterType().isAssignableFrom(WxCUser.class) && parameter.hasParameterAnnotation(LoginUser.class); | |||||
| } | |||||
| @Override | |||||
| public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer container, | |||||
| NativeWebRequest request, WebDataBinderFactory factory) throws Exception { | |||||
| //获取用户ID | |||||
| Object object = request.getAttribute(Constant.LOGIN_USER_KEY, RequestAttributes.SCOPE_REQUEST); | |||||
| if(object == null){ | |||||
| return null; | |||||
| } | |||||
| //获取用户信息 | |||||
| WxMerchantBUser user = wxMerchantBUserService.getByToken((String)object); | |||||
| return user; | |||||
| } | |||||
| } | |||||