From c9df4cfec262ca54af52715af60a1276c37d08c5 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期一, 29 一月 2024 20:12:24 +0800
Subject: [PATCH] 111

---
 server/service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java |   35 ++++++++++++++++++++++++++++++++++-
 1 files changed, 34 insertions(+), 1 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java b/server/service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java
index 0d96c2f..1c971a7 100644
--- a/server/service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java
+++ b/server/service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java
@@ -3,11 +3,19 @@
 import com.doumee.biz.system.SystemMenuBiz;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.CompanyMapper;
+import com.doumee.dao.business.model.Company;
 import com.doumee.dao.system.dto.UpdateSystemMenuSortDTO;
 import com.doumee.dao.system.model.SystemMenu;
+import com.doumee.dao.system.model.SystemUser;
 import com.doumee.dao.system.vo.SystemMenuListVO;
 import com.doumee.dao.system.vo.SystemMenuNodeVO;
+import com.doumee.service.business.CompanyService;
 import com.doumee.service.system.SystemMenuService;
+import com.doumee.service.system.SystemUserService;
+import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -16,12 +24,19 @@
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 
 @Service
 public class SystemMenuBizImpl implements SystemMenuBiz {
 
     @Autowired
     private SystemMenuService systemMenuService;
+
+    @Autowired
+    private CompanyService companyService;
+
+    @Autowired
+    private SystemUserService systemUserService;
 
     @Override
     public Integer create(SystemMenu systemMenu) {
@@ -115,8 +130,26 @@
     public List<SystemMenuNodeVO> findTree (Integer userId,Integer type) {
         SystemMenu queryDto = new SystemMenu();
         queryDto.setDeleted(Boolean.FALSE);
-        List<SystemMenu> menus = systemMenuService.findByUserId(userId,type);
+        List<SystemMenu> menus = new ArrayList<SystemMenu>();
         List<SystemMenuNodeVO> rootNodes = new ArrayList<>();
+        menus = systemMenuService.findByUserId(userId,type);
+        if(type.equals(Constants.ONE)){
+            LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+            Company company = companyService.findById(loginUserInfo.getCompanyId());
+            if(Objects.isNull(company)){
+                return rootNodes;
+            }
+            SystemUser systemUser = systemUserService.findById(userId);
+            if(Objects.isNull(systemUser)){
+                return rootNodes;
+            }
+            if(company.getUsername().equals(systemUser.getUsername())){
+                SystemMenu systemMenu = new SystemMenu();
+                systemMenu.setType(type);
+                systemMenu.setDeleted(Boolean.FALSE);
+                menus = systemMenuService.findList(systemMenu);
+            }
+        }
         // 娣诲姞鏍硅彍鍗�
         for (SystemMenu menu : menus) {
             if (menu.getParentId() == null) {

--
Gitblit v1.9.3