|
@@ -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 -> 菜单角色关联关系
|