From d2bc6e096f0806b78ea92d4b90a21d3627d406c7 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 08 三月 2024 18:28:42 +0800
Subject: [PATCH] mrshi
---
server/service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java | 41 ++++++++++++++++++++++++++++++++++++++++-
1 files changed, 40 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..3b5aa86 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,20 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
@Service
public class SystemMenuBizImpl implements SystemMenuBiz {
@Autowired
private SystemMenuService systemMenuService;
+
+ @Autowired
+ private CompanyService companyService;
+
+ @Autowired
+ private SystemUserService systemUserService;
@Override
public Integer create(SystemMenu systemMenu) {
@@ -95,8 +111,12 @@
public List<SystemMenuListVO> findTreeByType(Integer type) {
List<SystemMenuListVO> menus = systemMenuService.findList(type);
List<SystemMenuListVO> rootMenus = new ArrayList<>();
+ if(type.equals(Constants.ONE)){
+ menus = menus.stream().filter(m->!m.getDisabled()).collect(Collectors.toList());
+ }
// 娣诲姞鏍硅彍鍗�
for (SystemMenu menu : menus) {
+
if (menu.getParentId() == null) {
SystemMenuListVO rootMenu = new SystemMenuListVO();
BeanUtils.copyProperties(menu, rootMenu, "children");
@@ -115,8 +135,27 @@
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);
+ systemMenu.setDisabled(Boolean.FALSE);
+ menus = systemMenuService.findList(systemMenu);
+ }
+ }
// 娣诲姞鏍硅彍鍗�
for (SystemMenu menu : menus) {
if (menu.getParentId() == null) {
--
Gitblit v1.9.3