feat: 代理商子账号的菜单权限跟着主账号走,但是排除掉组织管理菜单
This commit is contained in:
parent
3859e9a8c9
commit
d3718dc2eb
|
|
@ -120,6 +120,13 @@ public class AppController extends ControllerBase {
|
||||||
@GetMapping("getPermissionMenus")
|
@GetMapping("getPermissionMenus")
|
||||||
public ApiResult<List<MenuVO>> getPermissionMenus() {
|
public ApiResult<List<MenuVO>> getPermissionMenus() {
|
||||||
VUtils.trueThrow(!SaTokenAppUtil.isLogin()).throwMessage(STATE.LoginError, "请重新登录");
|
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"));
|
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);
|
List<AreaSimpleVO> getSimpleAreas(Integer userId);
|
||||||
|
|
||||||
void authorizeRole(@Valid AuthorizeRoleRequest request);
|
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) {
|
private void bindChildren1(AreaSimpleVO vo) {
|
||||||
List<AppArea> datas = appAreaService.lambdaQuery().eq(AppArea::getParentId, vo.getId()).eq(AppArea::getEnable, true).list();
|
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());
|
List<AreaSimpleVO> vos = datas.stream().map(d -> new AreaSimpleVO().setId(d.getId()).setName(d.getName())).collect(Collectors.toList());
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue