From b1a06a2b366297d22296b6853014e7e42292d46d Mon Sep 17 00:00:00 2001 From: shiziyuan9527 Date: Wed, 20 Apr 2022 16:33:46 +0800 Subject: [PATCH] =?UTF-8?q?refactor(=E9=85=8D=E9=A2=9D=E7=AE=A1=E7=90=86):?= =?UTF-8?q?=20=E6=96=B0=E5=BB=BA=E7=9A=84=E9=A1=B9=E7=9B=AE=E6=88=96?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=A9=BA=E9=97=B4=E4=BD=BF=E7=94=A8=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E9=85=8D=E9=A2=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --bug=1012459 --user=李玉号 新创建的空间和项目,配额列表的“使用默认配额”按钮未默认开启 https://www.tapd.cn/55049933/s/1140929 --- .../io/metersphere/service/ProjectService.java | 7 ++++++- .../io/metersphere/service/QuotaService.java | 16 ++++++++++++++++ .../io/metersphere/service/WorkspaceService.java | 10 +++++++++- 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/io/metersphere/service/ProjectService.java b/backend/src/main/java/io/metersphere/service/ProjectService.java index 088787b610..eabb9da3e4 100644 --- a/backend/src/main/java/io/metersphere/service/ProjectService.java +++ b/backend/src/main/java/io/metersphere/service/ProjectService.java @@ -142,7 +142,8 @@ public class ProjectService { if (StringUtils.isBlank(project.getPlatform())) { project.setPlatform(IssuesManagePlatform.Local.name()); } - project.setId(UUID.randomUUID().toString()); + String pjId = UUID.randomUUID().toString(); + project.setId(pjId); String systemId = this.genSystemId(); long createTime = System.currentTimeMillis(); @@ -167,6 +168,10 @@ public class ProjectService { // 设置默认的通知 extProjectMapper.setDefaultMessageTask(project.getId()); + if (quotaService != null) { + quotaService.projectUseDefaultQuota(pjId); + } + ProjectVersionService projectVersionService = CommonBeanFactory.getBean(ProjectVersionService.class); if (projectVersionService != null) { ProjectVersion projectVersion = new ProjectVersion(); diff --git a/backend/src/main/java/io/metersphere/service/QuotaService.java b/backend/src/main/java/io/metersphere/service/QuotaService.java index f56eabb6ab..7f08241e29 100644 --- a/backend/src/main/java/io/metersphere/service/QuotaService.java +++ b/backend/src/main/java/io/metersphere/service/QuotaService.java @@ -2,6 +2,7 @@ package io.metersphere.service; import io.metersphere.base.domain.LoadTestReportWithBLOBs; +import io.metersphere.base.domain.Quota; import io.metersphere.performance.request.TestPlanRequest; import java.math.BigDecimal; @@ -80,4 +81,19 @@ public interface QuotaService { */ BigDecimal getReduceVumUsed(LoadTestReportWithBLOBs report); + /** + * 如果有该项目配额,修改为使用工作空间下项目默认配额 + * 无该配额,新建配额并默认使用工作空间下项目默认配额 + * @return 操作后的配额 + */ + Quota projectUseDefaultQuota(String projectId); + + /** + * 如果有该工作空间配额,修改为使用系统默认配额, + * 无该配额,新建配额并默认使用系统配额 + * @param workspaceId 工作空间ID + * @return 操作后的配额 + */ + Quota workspaceUseDefaultQuota(String workspaceId); + } diff --git a/backend/src/main/java/io/metersphere/service/WorkspaceService.java b/backend/src/main/java/io/metersphere/service/WorkspaceService.java index 301a144ad5..2740daa361 100644 --- a/backend/src/main/java/io/metersphere/service/WorkspaceService.java +++ b/backend/src/main/java/io/metersphere/service/WorkspaceService.java @@ -12,6 +12,7 @@ import io.metersphere.base.mapper.ext.ExtWorkspaceMapper; import io.metersphere.commons.constants.UserGroupConstants; import io.metersphere.commons.constants.UserGroupType; import io.metersphere.commons.exception.MSException; +import io.metersphere.commons.utils.CommonBeanFactory; import io.metersphere.commons.utils.SessionUtils; import io.metersphere.controller.request.WorkspaceRequest; import io.metersphere.dto.RelatedSource; @@ -202,12 +203,19 @@ public class WorkspaceService { public Workspace addWorkspaceByAdmin(Workspace workspace) { checkWorkspace(workspace); - workspace.setId(UUID.randomUUID().toString()); + String wsId = UUID.randomUUID().toString(); + workspace.setId(wsId); workspace.setCreateTime(System.currentTimeMillis()); workspace.setUpdateTime(System.currentTimeMillis()); workspace.setCreateUser(SessionUtils.getUserId()); workspaceMapper.insertSelective(workspace); + + QuotaService quotaService = CommonBeanFactory.getBean(QuotaService.class); + if (quotaService != null) { + quotaService.workspaceUseDefaultQuota(wsId); + } + // 创建工作空间为当前用户添加用户组 UserGroup userGroup = new UserGroup(); userGroup.setId(UUID.randomUUID().toString());