diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserOrgServiceServiceImpl.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserOrgServiceServiceImpl.java index 1149a6f21..e3bd42cd3 100644 --- a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserOrgServiceServiceImpl.java +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserOrgServiceServiceImpl.java @@ -27,6 +27,7 @@ package cn.stylefeng.roses.kernel.system.modular.user.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjectUtil; import cn.stylefeng.roses.kernel.auth.api.context.LoginContext; +import cn.stylefeng.roses.kernel.auth.api.pojo.login.LoginUser; import cn.stylefeng.roses.kernel.cache.api.CacheOperatorApi; import cn.stylefeng.roses.kernel.system.api.OrganizationServiceApi; import cn.stylefeng.roses.kernel.system.api.exception.SystemModularException; @@ -192,14 +193,27 @@ public class SysUserOrgServiceServiceImpl extends ServiceImpl getUserCompanyList() { + ArrayList results = new ArrayList<>(); + + LoginUser loginUser = LoginContext.me().getLoginUser(); + + // 获取当前登录用户的组织机构id,放在第一位 + Long currentOrgId = loginUser.getOrganizationId(); + + // 获取当前用户orgId的公司信息 + HrOrganizationDTO currentCompanyInfo = organizationServiceApi.getOrgCompanyInfo(currentOrgId); + results.add(currentCompanyInfo); + // 获取当前用户绑定的组织机构列表 UserOrgRequest userOrgResponse = new UserOrgRequest(); - userOrgResponse.setUserId(LoginContext.me().getLoginUser().getUserId()); + userOrgResponse.setUserId(loginUser.getUserId()); List sysUserOrgList = this.findList(userOrgResponse); - - ArrayList results = new ArrayList<>(); for (SysUserOrg sysUserOrg : sysUserOrgList) { + if (sysUserOrg.getOrgId().equals(currentCompanyInfo.getOrgId())) { + continue; + } + // 获取用户的公司信息 HrOrganizationDTO companyInfo = organizationServiceApi.getOrgCompanyInfo(sysUserOrg.getOrgId()); results.add(companyInfo);