feat: 代理商子账号的菜单权限跟着主账号走,但是排除掉组织管理菜单
This commit is contained in:
parent
3859e9a8c9
commit
d3718dc2eb
|
|
@ -119,7 +119,14 @@ public class AppController extends ControllerBase {
|
|||
*/
|
||||
@GetMapping("getPermissionMenus")
|
||||
public ApiResult<List<MenuVO>> getPermissionMenus() {
|
||||
VUtils.trueThrow(!SaTokenAppUtil.isLogin()).throwMessage(STATE.LoginError,"请重新登录");
|
||||
return ApiResult.success(adminRoleService.getMenusByRoleCodes(AppUserUtil.getFrom(),AppUserUtil.getUserId(), "app"));
|
||||
VUtils.trueThrow(!SaTokenAppUtil.isLogin()).throwMessage(STATE.LoginError, "请重新登录");
|
||||
if (StrUtil.equals(AppUserUtil.getFrom(), "app") && !AppUserUtil.isPrimary()) {
|
||||
Integer primaryUserId = appUserService.getPrimaryByChild(AppUserUtil.getUserId());
|
||||
List<MenuVO> menus = adminRoleService.getMenusByRoleCodes(AppUserUtil.getFrom(), primaryUserId, "app");
|
||||
menus.removeIf(menu -> StrUtil.equals(menu.getComponent(), "identityManagement"));
|
||||
return ApiResult.success(menus);
|
||||
} else {
|
||||
return ApiResult.success(adminRoleService.getMenusByRoleCodes(AppUserUtil.getFrom(), AppUserUtil.getUserId(), "app"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -66,4 +66,6 @@ public interface IAppUserService extends IService<AppUser> {
|
|||
List<AreaSimpleVO> getSimpleAreas(Integer userId);
|
||||
|
||||
void authorizeRole(@Valid AuthorizeRoleRequest request);
|
||||
|
||||
Integer getPrimaryByChild(Integer userId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -305,6 +305,13 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, AppUser> impl
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getPrimaryByChild(Integer userId) {
|
||||
AppUser user=getById(userId);
|
||||
AppUser primaryUser=getPrimaryByCompanyId(user.getCompanyId());
|
||||
return primaryUser.getId();
|
||||
}
|
||||
|
||||
private void bindChildren1(AreaSimpleVO vo) {
|
||||
List<AppArea> datas = appAreaService.lambdaQuery().eq(AppArea::getParentId, vo.getId()).eq(AppArea::getEnable, true).list();
|
||||
List<AreaSimpleVO> vos = datas.stream().map(d -> new AreaSimpleVO().setId(d.getId()).setName(d.getName())).collect(Collectors.toList());
|
||||
|
|
|
|||
Loading…
Reference in New Issue