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 fe4296d5b..9cae9bda0 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 @@ -45,4 +45,10 @@ public interface OrganizationServiceApi { */ List orgList(); + /** + * 获取组织机构详情 + * @param orgId + * @return + */ + HrOrganizationDTO getOrgDetail(Long orgId); } diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/PositionServiceApi.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/PositionServiceApi.java index 236e1e19f..f253af502 100644 --- a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/PositionServiceApi.java +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/PositionServiceApi.java @@ -1,5 +1,7 @@ package cn.stylefeng.roses.kernel.system.api; +import cn.stylefeng.roses.kernel.system.api.pojo.organization.HrPositionDTO; + /** * 职位api * @@ -16,4 +18,10 @@ public interface PositionServiceApi { */ Integer positionNum(); + /** + * 获取职位详情 + * @param positionId + * @return + */ + HrPositionDTO getPositionDetail(Long positionId); } diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/pojo/user/SysUserDTO.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/pojo/user/SysUserDTO.java index 57cb65d79..ed424a157 100644 --- a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/pojo/user/SysUserDTO.java +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/pojo/user/SysUserDTO.java @@ -113,6 +113,12 @@ public class SysUserDTO { @ChineseDescription("用户所属机构") private Long orgId; + /** + * 用户所属机构名称 + */ + @ChineseDescription("用户所属机构名称") + private String orgName; + /** * 用户所属机构的职务 */ 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 0c973eb8e..a97db89d8 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 @@ -25,6 +25,7 @@ package cn.stylefeng.roses.kernel.system.modular.organization.service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.bean.copier.CopyOptions; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.ListUtil; import cn.hutool.core.convert.Convert; @@ -334,6 +335,18 @@ public class HrOrganizationServiceImpl extends ServiceImpl impl @Resource private CacheOperatorApi sysUserCacheOperatorApi; + @Resource + private PositionServiceApi positionServiceApi; + @Override @Transactional(rollbackFor = Exception.class) public void add(SysUserRequest sysUserRequest) { @@ -388,8 +389,16 @@ public class SysUserServiceImpl extends ServiceImpl impl // 获取用户组织绑定信息 SysUserOrgDTO userOrgInfo = sysUserOrgService.getUserOrgByUserId(sysUser.getUserId()); - sysUserResponse.setOrgId(userOrgInfo.getOrgId()); - sysUserResponse.setPositionId(userOrgInfo.getPositionId()); + if (ObjectUtil.isNotNull(userOrgInfo.getOrgId())) { + sysUserResponse.setOrgId(userOrgInfo.getOrgId()); + HrOrganizationDTO orgDetail = organizationServiceApi.getOrgDetail(userOrgInfo.getOrgId()); + sysUserResponse.setOrgName(orgDetail.getOrgName()); + } + if (ObjectUtil.isNotNull(userOrgInfo.getPositionId())) { + sysUserResponse.setPositionId(userOrgInfo.getPositionId()); + HrPositionDTO positionDetail = positionServiceApi.getPositionDetail(userOrgInfo.getPositionId()); + sysUserResponse.setPositionName(positionDetail.getPositionName()); + } // 获取用户角色信息 sysUserResponse.setGrantRoleIdList(sysUserRoleService.findRoleIdsByUserId(sysUser.getUserId()));