From 042f2a85b2961436bd08b0e97257343f900b5a5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8F=B6=E6=98=9F?= <17705172417@189.cn> Date: Tue, 8 Mar 2022 14:59:59 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=94=A8=E6=88=B7=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E6=98=AF=E8=A1=A5=E5=85=A8=E7=BB=84=E7=BB=87=E6=9C=BA?= =?UTF-8?q?=E6=9E=84=E5=90=8D=E7=A7=B0=E5=92=8C=E8=81=8C=E4=BD=8D=E5=90=8D?= =?UTF-8?q?=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/api/OrganizationServiceApi.java | 6 ++++++ .../kernel/system/api/PositionServiceApi.java | 8 +++++++ .../system/api/pojo/user/SysUserDTO.java | 6 ++++++ .../impl/HrOrganizationServiceImpl.java | 13 ++++++++++++ .../service/impl/HrPositionServiceImpl.java | 14 +++++++++++++ .../user/service/impl/SysUserServiceImpl.java | 21 +++++++++++++------ 6 files changed, 62 insertions(+), 6 deletions(-) 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()));