Forráskód Böngészése

修改微信登录逻辑

tianboguang 3 éve
szülő
commit
579c865187

+ 10 - 1
platform-api/src/main/java/com/platform/api/ApiUserController.java

@@ -6,6 +6,7 @@ import com.platform.annotation.LoginUser;
 import com.platform.entity.Result;
 import com.platform.entity.SmsLogVo;
 import com.platform.entity.UserVo;
+import com.platform.exception.CommonBaseException;
 import com.platform.service.ApiUserService;
 import com.platform.service.custom.MyApiTmBrandAdminService;
 import com.platform.service.custom.MySysUserBrandService;
@@ -20,6 +21,7 @@ import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.ObjectUtils;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
@@ -52,7 +54,14 @@ public class ApiUserController extends ApiBaseAction {
     @ApiOperation(value = "获取用户个人信息")
     @PostMapping("getUerInfo")
     public Object getUerInfo() {
-        UserVo userVo = userService.queryByMobile(getUserName());
+        String weixinOpenid = getWeixinOpenid();
+        if(ObjectUtils.isEmpty(weixinOpenid)){
+            throw new CommonBaseException(401,"请先登录");
+        }
+        UserVo userVo = userService.queryByOpenId(weixinOpenid);
+        if(ObjectUtils.isEmpty(userVo)){
+            throw new CommonBaseException(401,"请先登录");
+        }
         if(org.apache.commons.lang.StringUtils.isNotBlank(userVo.getMobile())){
             TbUser sysUserEntity = zhiHouseService.queryByUserMobile(userVo.getMobile());
             if(null == sysUserEntity){

+ 7 - 0
platform-api/src/main/java/com/platform/util/ApiBaseAction.java

@@ -167,4 +167,11 @@ public class ApiBaseAction {
         Claims claims = JwtUtil.parseJWT(token);
         return claims.get("username", String.class);
     }
+
+    public String getWeixinOpenid() {
+        String token = request.getHeader(AuthorizationInterceptor.LOGIN_TOKEN_KEY);
+
+        Claims claims = JwtUtil.parseJWT(token);
+        return claims.get("weixin_openid", String.class);
+    }
 }