Ver código fonte

Merge branch 'huangyuan-user' of lift-manager/lift-server into develop

huangyuan 5 anos atrás
pai
commit
fc1251ae96

+ 1 - 1
lift-system-service/src/main/java/cn/com/ty/lift/system/user/dao/entity/model/MenuRequest.java

@@ -11,10 +11,10 @@ import lombok.Data;
 public class MenuRequest {
     private Long id;
     private Long menuId;
+    private Long userId;//用户id
     private Long companyId;//公司id
     private String menuIds;//菜单id通过","连接
     private Long roleId;//角色id
-    private Long currentRoleId;//当前角色id
     public MenuRequest(){}
     public MenuRequest(Long companyId, String menuIds){
         this.companyId = companyId;

+ 15 - 8
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/MenuService.java

@@ -3,16 +3,11 @@ package cn.com.ty.lift.system.user.service.impl;
 import cn.com.ty.lift.common.constants.ApiConstants;
 import cn.com.ty.lift.common.utils.ProjectUtils;
 import cn.com.ty.lift.common.utils.TreeUtil;
-import cn.com.ty.lift.system.user.dao.entity.CompanyMenu;
-import cn.com.ty.lift.system.user.dao.entity.Menu;
-import cn.com.ty.lift.system.user.dao.entity.Role;
-import cn.com.ty.lift.system.user.dao.entity.RoleMenu;
+import cn.com.ty.lift.system.user.dao.entity.*;
 import cn.com.ty.lift.system.user.dao.entity.model.MenuRequest;
 import cn.com.ty.lift.system.user.dao.entity.model.MenuResponse;
 import cn.com.ty.lift.system.user.dao.mapper.MenuMapper;
-import cn.com.ty.lift.system.user.service.ICompanyMenuService;
-import cn.com.ty.lift.system.user.service.IMenuService;
-import cn.com.ty.lift.system.user.service.IRoleMenuService;
+import cn.com.ty.lift.system.user.service.*;
 import cn.com.xwy.boot.web.dto.RestResponse;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -44,6 +39,9 @@ public class MenuService extends ServiceImpl<MenuMapper, Menu> implements IMenuS
     @Resource
     private IRoleMenuService roleMenuService;
 
+    @Resource
+    private IUserRoleService userRoleService;
+
     @Override
     public List<Menu> getByRoleId(Long roleId) {
         List<RoleMenu> roleMenuList = roleMenuService.list(new QueryWrapper<RoleMenu>()
@@ -115,9 +113,18 @@ public class MenuService extends ServiceImpl<MenuMapper, Menu> implements IMenuS
         if (buttonList != null && buttonList.size() > 0) {
             List<Long> buttonIdList = buttonList.stream().map(menu -> Long.parseLong(menu.getId().toString())).
                     collect(Collectors.toList());
+            //获取当前用户在当前公司的角色id
+            UserRole userRole = userRoleService.getOne(Wrappers.<UserRole>query().
+                    eq("user_id", menuRequest.getUserId()).
+                    eq("company_id", menuRequest.getCompanyId())
+            );
+            long roleId = 0L;
+            if (userRole != null) {
+                roleId = userRole.getRoleId();
+            }
             //获取当前角色关联的菜单信息
             List<RoleMenu> roleMenuList = roleMenuService.list(Wrappers.<RoleMenu>query().
-                    eq("role_id", menuRequest.getCurrentRoleId()).
+                    eq("role_id", roleId).
                     in(buttonIdList.size() > 0, "menu_id", buttonIdList)
             );
             //设置菜单id -> 菜单角色关联关系