Explorar el Código

增加查询项目区分平台管理员

xiewj hace 11 meses
padre
commit
a269c7055a

+ 33 - 3
src/main/java/com/fdkankan/site/service/impl/MenuServiceImpl.java

@@ -1,5 +1,7 @@
 package com.fdkankan.site.service.impl;
 
+import cn.dev33.satoken.stp.StpUtil;
+import cn.hutool.core.util.ArrayUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -9,20 +11,28 @@ import com.fdkankan.site.common.ResultCode;
 import com.fdkankan.site.common.util.VUtils;
 import com.fdkankan.site.entity.*;
 import com.fdkankan.site.entity.vo.TreeSelect;
+import com.fdkankan.site.httpClient.client.FdKKClient;
+import com.fdkankan.site.httpClient.response.FdkkManagerUserVo;
+import com.fdkankan.site.httpClient.response.FdkkResponse;
 import com.fdkankan.site.mapper.IMenuMapper;
 import com.fdkankan.site.request.MenuParam;
 import com.fdkankan.site.service.IMenuService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 import java.util.stream.Collectors;
 
 @Service
-public class MenuServiceImpl extends ServiceImpl<IMenuMapper, Menu> implements IMenuService {
+@Slf4j
 
+public class MenuServiceImpl extends ServiceImpl<IMenuMapper, Menu> implements IMenuService {
+    @Resource
+    FdKKClient fdKKClient;
     @Override
     public Object pageList(MenuParam param) {
 //        VUtils.isTure(param.getProjectId() == null).throwMessage(ResultCode.PARAM_MISS);
@@ -40,11 +50,31 @@ public class MenuServiceImpl extends ServiceImpl<IMenuMapper, Menu> implements I
                 .leftJoin(UserRole.class,UserRole::getRoleId,RoleMenu::getRoleId)
                 .leftJoin(Role.class, Role::getRoleId, UserRole::getRoleId)
                 .eq(Menu::getMenuType,"F")
-                .eq(UserRole::getUserId,userId)
-                .eq(UserRole::getProjectId,projectId)
+
                 .orderByAsc(Menu::getParentId,Menu::getOrderNum)
                 .groupBy(Menu::getMenuId);
+
+
+        boolean adminFlag=false;
+
+        FdkkResponse<FdkkManagerUserVo> manageUserInfo = fdKKClient.getManageUserInfo(StpUtil.getTokenValue());
+        log.info("返回角色{}",manageUserInfo);
+        if(manageUserInfo.getCode() == 0){
+            if (ArrayUtil.isNotEmpty(manageUserInfo.getData().getRoleIds())){
+                if (manageUserInfo.getData().getRoleIds().contains(5L)){
+                    adminFlag = true;
+                }
+            }
+        }
+        log.info("返回角色判断{}",adminFlag);
+        if (!adminFlag){
+            wrapper.eq(UserRole::getUserId,userId)
+                    .eq(UserRole::getProjectId,projectId);
+        }
+
         List<Menu> menus = baseMapper.selectJoinList(Menu.class, wrapper);
+
+
         return menus;
     }
     @Override