From e6a149ea753350d3bebbd76ce40315a8b6016b4e Mon Sep 17 00:00:00 2001
From: bingbing <zhaobingliang@aliyun.com>
Date: Thu, 23 Jul 2020 13:04:47 +0800
Subject: [PATCH] Merge branch 'dev' of http://192.168.2.240:7070/r/kidgrow-microservices-platform into dev

---
 kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/resolver/TokenArgumentResolver.java |   25 ++++++++++++++++++-------
 1 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/resolver/TokenArgumentResolver.java b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/resolver/TokenArgumentResolver.java
index c37a0d4..0cad4b3 100644
--- a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/resolver/TokenArgumentResolver.java
+++ b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/resolver/TokenArgumentResolver.java
@@ -1,11 +1,14 @@
 package com.kidgrow.common.resolver;
 
 import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
 import com.kidgrow.common.annotation.LoginUser;
 import com.kidgrow.common.constant.SecurityConstants;
 import com.kidgrow.common.feign.UserService;
+import com.kidgrow.common.model.SysOrganization;
 import com.kidgrow.common.model.SysRole;
 import com.kidgrow.common.model.SysUser;
+import com.kidgrow.common.utils.StringUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.core.MethodParameter;
 import org.springframework.web.bind.support.WebDataBinderFactory;
@@ -64,6 +67,7 @@
         String userId = request.getHeader(SecurityConstants.USER_ID_HEADER);
         String username = request.getHeader(SecurityConstants.USER_HEADER);
         String roles = request.getHeader(SecurityConstants.ROLE_HEADER);
+        String organizations = request.getHeader(SecurityConstants.USER_ORGS_HEADER);
         if (StrUtil.isBlank(username)) {
             log.warn("resolveArgument error username is empty");
             return null;
@@ -75,14 +79,21 @@
             user = new SysUser();
             user.setId(Long.valueOf(userId));
             user.setUsername(username);
+//            List<SysRole> sysRoleList = new ArrayList<>();
+            if(StringUtils.isNotBlank(roles)){
+                List<SysRole> sysRoles = JSON.parseArray(roles, SysRole.class);
+//                Arrays.stream(roles.split(",")).forEach(role -> {
+//                    SysRole sysRole = new SysRole();
+//                    sysRole.setCode(role);
+//                    sysRoleList.add(sysRole);
+//                });
+                user.setRoles(sysRoles);
+            }
+            if(organizations!=null){
+                List<SysOrganization> sysOrganizations = JSON.parseArray(organizations, SysOrganization.class);
+                user.setOrganizations(sysOrganizations);
+            }
         }
-        List<SysRole> sysRoleList = new ArrayList<>();
-        Arrays.stream(roles.split(",")).forEach(role -> {
-            SysRole sysRole = new SysRole();
-            sysRole.setCode(role);
-            sysRoleList.add(sysRole);
-        });
-        user.setRoles(sysRoleList);
         return user;
     }
 }

--
Gitblit v1.8.0