|
|
|
@@ -1,8 +1,10 @@ |
|
|
|
package com.iformall.resolver; |
|
|
|
|
|
|
|
import com.iformall.annotation.LoginUser; |
|
|
|
import com.iformall.domain.po.WxCUserBasicInfo; |
|
|
|
import com.iformall.domain.po.base.BaseCUserEntity; |
|
|
|
import com.iformall.service.CUserTokenService; |
|
|
|
import com.iformall.service.WxCUserBasicInfoService; |
|
|
|
import com.iformall.utils.Constant; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.core.MethodParameter; |
|
|
|
@@ -21,8 +23,9 @@ import org.springframework.web.method.support.ModelAndViewContainer; |
|
|
|
*/ |
|
|
|
@Component |
|
|
|
public class LoginUserHandlerMethodArgumentResolver implements HandlerMethodArgumentResolver { |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private CUserTokenService cUserTokenService; |
|
|
|
private WxCUserBasicInfoService wxCUserBasicInfoService; |
|
|
|
|
|
|
|
@Override |
|
|
|
public boolean supportsParameter(MethodParameter parameter) { |
|
|
|
@@ -32,15 +35,13 @@ public class LoginUserHandlerMethodArgumentResolver implements HandlerMethodArgu |
|
|
|
@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); |
|
|
|
//获取会员ID |
|
|
|
Object object = request.getAttribute(Constant.LOGIN_MEMBER_KEY, RequestAttributes.SCOPE_REQUEST); |
|
|
|
if(object == null){ |
|
|
|
return null; |
|
|
|
} |
|
|
|
|
|
|
|
//获取用户信息 |
|
|
|
BaseCUserEntity user = cUserTokenService.getByToken((String)object); |
|
|
|
|
|
|
|
WxCUserBasicInfo user = wxCUserBasicInfoService.getById((Long) object); |
|
|
|
return user; |
|
|
|
} |
|
|
|
} |