From 6fb14149d62199cfcc0448c82eb2f51f9c5181de Mon Sep 17 00:00:00 2001
From: luliqiang <kidgrow>
Date: Thu, 31 Dec 2020 16:55:30 +0800
Subject: [PATCH] Merge branch 'dev' of http://192.168.2.240:7070/r/kidgrow-microservices-platform into parter

---
 kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/resolver/TokenArgumentResolver.java |   26 +++++++++++++++++---------
 1 files changed, 17 insertions(+), 9 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 d5b321a..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,9 +1,11 @@
 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;
@@ -65,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;
@@ -76,16 +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<>();
-        if(StringUtils.isNotBlank(roles)){
-            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