From 8de57146e4209de34160afe719d0dbbb7537de6c Mon Sep 17 00:00:00 2001 From: OTTO <731554297@qq.com> Date: Tue, 10 Sep 2024 09:38:28 +0800 Subject: [PATCH] =?UTF-8?q?fix(Bug=E4=BF=AE=E5=A4=8D):=20=E7=89=B9?= =?UTF-8?q?=E8=89=B2=E4=B8=93=E5=8C=BA=E5=BC=80=E9=80=9A=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E5=8F=B0=E5=90=8E=E8=B7=B3=E8=BD=AC403?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 原因:当前若用户为平台管理员但是非该组织管理员允许用户开通工作台,但是未处理该用户加入组织工作台的逻辑 处理方案:平台管理员开通工作台时自动将平台管理员也添加到组织成员中 --- .../enterprise/domain/vo/GitLinkUserSimpleInfoVo.java | 9 +++++++++ .../service/impl/PmsEnterpriseServiceImpl.java | 8 ++++++++ 2 files changed, 17 insertions(+) diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/enterprise/domain/vo/GitLinkUserSimpleInfoVo.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/enterprise/domain/vo/GitLinkUserSimpleInfoVo.java index 977df6e72..d9cf4cdf7 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/enterprise/domain/vo/GitLinkUserSimpleInfoVo.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/enterprise/domain/vo/GitLinkUserSimpleInfoVo.java @@ -5,6 +5,7 @@ import com.microservices.common.core.enums.SystemRole; import com.microservices.common.core.utils.bean.BeanUtils; import com.microservices.common.core.utils.html.EscapeUtil; import com.microservices.system.api.domain.SimpleSysRole; +import com.microservices.system.api.domain.SysUser; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -30,6 +31,14 @@ public class GitLinkUserSimpleInfoVo this.email = user.getString("mail"); } + public GitLinkUserSimpleInfoVo(SysUser sysUser) { + this.username = sysUser.getUserName(); + this.userId = sysUser.getGitlinkUserId(); + this.imageUrl = sysUser.getAvatar(); + this.nickname = sysUser.getNickName(); + this.email = sysUser.getEmail(); + } + @ApiModelProperty(value = "用户名") private String username; diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/enterprise/service/impl/PmsEnterpriseServiceImpl.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/enterprise/service/impl/PmsEnterpriseServiceImpl.java index abf2a1496..28660e0ae 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/enterprise/service/impl/PmsEnterpriseServiceImpl.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/enterprise/service/impl/PmsEnterpriseServiceImpl.java @@ -225,6 +225,14 @@ public class PmsEnterpriseServiceImpl implements IPmsEnterpriseService { List gitlinkUserList = pmsCommonService.getAllGitlinkUsersByOrgTeam( pmsEnterprise.getEnterpriseIdentifier(), gitlinkOrganizationTeamVo.getId() ); + if ("owner".equalsIgnoreCase(gitlinkOrganizationTeamVo.getAuthorize())) { + boolean currentUserIsOwner = gitlinkUserList.stream().anyMatch(x -> x.getUserId().equals(SecurityUtils.getGitlinkUserId())); + if (!currentUserIsOwner) { + if (SecurityUtils.getLoginUser() != null) { + gitlinkUserList.add(new GitLinkUserSimpleInfoVo(SecurityUtils.getLoginUser().getSysUser())); + } + } + } for (GitLinkUserSimpleInfoVo gitLinkUserSimpleInfoVo : gitlinkUserList) { if (gitLinkUserSimpleInfoVo.getUserId() == null) { break;