From aae41c881d4082a5ee6200cd2ef7990faa06306b Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 26 一月 2024 11:22:49 +0800
Subject: [PATCH] 开发业务接口

---
 server/service/src/main/java/com/doumee/config/shiro/ShiroRealm.java |   19 +++++++++++++++++--
 1 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/config/shiro/ShiroRealm.java b/server/service/src/main/java/com/doumee/config/shiro/ShiroRealm.java
index 968f073..10980dd 100644
--- a/server/service/src/main/java/com/doumee/config/shiro/ShiroRealm.java
+++ b/server/service/src/main/java/com/doumee/config/shiro/ShiroRealm.java
@@ -15,6 +15,7 @@
 import com.doumee.service.system.SystemPermissionService;
 import com.doumee.service.system.SystemRoleService;
 import com.doumee.service.system.SystemUserService;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.authc.AuthenticationException;
 import org.apache.shiro.authc.AuthenticationInfo;
 import org.apache.shiro.authc.AuthenticationToken;
@@ -102,10 +103,12 @@
         if(!Constants.equalsInteger(user.getStatus(),Constants.ZERO)){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璐﹀彿淇℃伅宸茶绂佺敤锛屽鏈夌枒闂鑱旂郴绯荤粺绠$悊鍛橈紒");
         }
+        List<SystemRole> roles = null;
+        List<SystemPermission> permissions =null;
         // 鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅
-        List<SystemRole> roles = systemRoleService.findByUserId(user.getId());
-        List<SystemPermission> permissions = systemPermissionService.findByUserId(user.getId());
          if(authenticationToken.getUserType() == 0){
+             roles =   systemRoleService.findByUserId(user.getId());
+             permissions =  systemPermissionService.findByUserId(user.getId());
             CompanyPermission c = new CompanyPermission();
             c.setUserId(user.getId());
             c.setIsdeleted(Constants.ZERO);
@@ -124,6 +127,18 @@
                 throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝浼佷笟璐﹀彿淇℃伅涓嶆纭紒");
             }
             user.setCompany(company);
+            if(StringUtils.equals(company.getUsername(),user.getUsername())){
+                //濡傛灉鏄秴绠★紝
+                SystemRole role = new SystemRole();
+                role.setType(Constants.ONE);
+                role.setDeleted(Boolean.FALSE);
+                roles =   systemRoleService.findList(role);
+                SystemPermission p = new SystemPermission();
+                permissions =  systemPermissionService.findList(p);
+            }else{
+                roles =   systemRoleService.findByUserId(user.getId());
+                permissions =  systemPermissionService.findByUserId(user.getId());
+            }
         }
         LoginUserInfo userInfo = LoginUserInfo.from(user, roles, permissions);
 

--
Gitblit v1.9.3