|
|
|
@@ -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; |
|
|
|
} |
|
|
|
} |