diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/OrganizationServiceApi.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/OrganizationServiceApi.java index 358b5e54c..941fbd79a 100644 --- a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/OrganizationServiceApi.java +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/OrganizationServiceApi.java @@ -95,4 +95,12 @@ public interface OrganizationServiceApi { */ Long getParentLevelOrgId(Long orgId, Integer parentLevelNum, DetectModeEnum detectModeEnum); + /** + * 根据组织机构id,获取这个组织机构的公司信息 + * + * @author fengshuonan + * @since 2023/4/17 17:12 + */ + HrOrganizationDTO getOrgCompanyInfo(Long orgId); + } diff --git a/kernel-s-system/system-business-organization/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/service/impl/HrOrganizationServiceImpl.java b/kernel-s-system/system-business-organization/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/service/impl/HrOrganizationServiceImpl.java index 9c2ec7556..53bb2d6d6 100644 --- a/kernel-s-system/system-business-organization/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/service/impl/HrOrganizationServiceImpl.java +++ b/kernel-s-system/system-business-organization/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/service/impl/HrOrganizationServiceImpl.java @@ -52,6 +52,7 @@ import cn.stylefeng.roses.kernel.system.api.RoleServiceApi; import cn.stylefeng.roses.kernel.system.api.UserOrgServiceApi; import cn.stylefeng.roses.kernel.system.api.UserServiceApi; import cn.stylefeng.roses.kernel.system.api.enums.DetectModeEnum; +import cn.stylefeng.roses.kernel.system.api.enums.OrgTypeEnum; import cn.stylefeng.roses.kernel.system.api.exception.SystemModularException; import cn.stylefeng.roses.kernel.system.api.exception.enums.organization.OrganizationExceptionEnum; import cn.stylefeng.roses.kernel.system.api.pojo.organization.HrOrganizationDTO; @@ -497,6 +498,31 @@ public class HrOrganizationServiceImpl extends ServiceImpl> getUserOrgList() { + List userCompanyList = sysUserOrgService.getUserCompanyList(); + return new SuccessResponseData<>(userCompanyList); + } + +} diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserOrgService.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserOrgService.java index a77c2804b..35f61a656 100644 --- a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserOrgService.java +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserOrgService.java @@ -25,6 +25,7 @@ package cn.stylefeng.roses.kernel.system.modular.user.service; import cn.stylefeng.roses.kernel.system.api.UserOrgServiceApi; +import cn.stylefeng.roses.kernel.system.api.pojo.organization.HrOrganizationDTO; import cn.stylefeng.roses.kernel.system.api.pojo.user.request.UserOrgRequest; import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserOrg; import com.baomidou.mybatisplus.extension.service.IService; @@ -51,8 +52,8 @@ public interface SysUserOrgService extends IService, UserOrgServiceA /** * 新增 * - * @param userId 用户id - * @param orgId 机构id + * @param userId 用户id + * @param orgId 机构id * @author chenjinlong * @since 2021/1/26 12:52 */ @@ -99,8 +100,8 @@ public interface SysUserOrgService extends IService, UserOrgServiceA /** * 修改 * - * @param userId 用户id - * @param orgId 机构id + * @param userId 用户id + * @param orgId 机构id * @author chenjinlong * @since 2021/1/26 12:52 */ @@ -135,5 +136,12 @@ public interface SysUserOrgService extends IService, UserOrgServiceA */ List findList(UserOrgRequest userOrgResponse); + /** + * 获取当前登录用户的公司列表 + * + * @author fengshuonan + * @since 2023/4/17 17:11 + */ + List getUserCompanyList(); } 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 be3fa34cb..1149a6f21 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 @@ -26,9 +26,12 @@ 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.cache.api.CacheOperatorApi; +import cn.stylefeng.roses.kernel.system.api.OrganizationServiceApi; import cn.stylefeng.roses.kernel.system.api.exception.SystemModularException; import cn.stylefeng.roses.kernel.system.api.exception.enums.user.SysUserOrgExceptionEnum; +import cn.stylefeng.roses.kernel.system.api.pojo.organization.HrOrganizationDTO; import cn.stylefeng.roses.kernel.system.api.pojo.user.SysUserOrgDTO; import cn.stylefeng.roses.kernel.system.api.pojo.user.request.UserOrgRequest; import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserOrg; @@ -40,6 +43,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; import java.util.Set; import java.util.stream.Collectors; @@ -57,6 +61,9 @@ public class SysUserOrgServiceServiceImpl extends ServiceImpl userOrgCacheApi; + @Resource + private OrganizationServiceApi organizationServiceApi; + @Override public SysUserOrgDTO getUserOrgByUserId(Long userId) { @@ -89,7 +96,6 @@ public class SysUserOrgServiceServiceImpl extends ServiceImpl getUserCompanyList() { + + // 获取当前用户绑定的组织机构列表 + UserOrgRequest userOrgResponse = new UserOrgRequest(); + userOrgResponse.setUserId(LoginContext.me().getLoginUser().getUserId()); + List sysUserOrgList = this.findList(userOrgResponse); + + ArrayList results = new ArrayList<>(); + for (SysUserOrg sysUserOrg : sysUserOrgList) { + + // 获取用户的公司信息 + HrOrganizationDTO companyInfo = organizationServiceApi.getOrgCompanyInfo(sysUserOrg.getOrgId()); + results.add(companyInfo); + } + + return results; + } @Override public Boolean getUserOrgFlag(Long orgId, Long positionId) {