diff --git a/backend/src/main/java/io/metersphere/controller/ProjectController.java b/backend/src/main/java/io/metersphere/controller/ProjectController.java index a9d414afb4fd062360797ff7e12b53f8a22104f6..71723e7d2e7b9380f26c5edfdffbb3c40d2f63d4 100644 --- a/backend/src/main/java/io/metersphere/controller/ProjectController.java +++ b/backend/src/main/java/io/metersphere/controller/ProjectController.java @@ -6,7 +6,9 @@ import io.metersphere.base.domain.Project; import io.metersphere.commons.constants.RoleConstants; import io.metersphere.commons.utils.PageUtils; import io.metersphere.commons.utils.Pager; +import io.metersphere.controller.request.ProjectRequest; import io.metersphere.service.ProjectService; +import io.metersphere.user.SessionUtils; import org.apache.shiro.authz.annotation.RequiresRoles; import org.springframework.web.bind.annotation.*; @@ -33,9 +35,10 @@ public class ProjectController { @PostMapping("/list/{goPage}/{pageSize}") @RequiresRoles(RoleConstants.TEST_MANAGER) - public Pager> getProjectList(@PathVariable int goPage, @PathVariable int pageSize) { + public Pager> getProjectList(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody ProjectRequest request) { + request.setWorkspaceId(SessionUtils.getCurrentWorkspaceId()); Page page = PageHelper.startPage(goPage, pageSize, true); - return PageUtils.setPageInfo(page, projectService.getProjectList()); + return PageUtils.setPageInfo(page, projectService.getProjectList(request)); } @GetMapping("/delete/{projectId}") diff --git a/backend/src/main/java/io/metersphere/controller/request/ProjectRequest.java b/backend/src/main/java/io/metersphere/controller/request/ProjectRequest.java new file mode 100644 index 0000000000000000000000000000000000000000..af75a12bb1ddafff09de52d044c8bab8780025d7 --- /dev/null +++ b/backend/src/main/java/io/metersphere/controller/request/ProjectRequest.java @@ -0,0 +1,13 @@ +package io.metersphere.controller.request; + +public class ProjectRequest { + private String workspaceId; + + public String getWorkspaceId() { + return workspaceId; + } + + public void setWorkspaceId(String workspaceId) { + this.workspaceId = workspaceId; + } +} diff --git a/backend/src/main/java/io/metersphere/service/ProjectService.java b/backend/src/main/java/io/metersphere/service/ProjectService.java index 428bc4a6419e53cf8eb41dbbe1bf06f1db88ee23..b9fce1d079c362f5ab3f7c13b998ae552072dc49 100644 --- a/backend/src/main/java/io/metersphere/service/ProjectService.java +++ b/backend/src/main/java/io/metersphere/service/ProjectService.java @@ -4,6 +4,7 @@ import io.metersphere.base.domain.Project; import io.metersphere.base.domain.ProjectExample; import io.metersphere.base.mapper.ProjectMapper; import io.metersphere.commons.exception.MSException; +import io.metersphere.controller.request.ProjectRequest; import io.metersphere.user.SessionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; @@ -40,9 +41,13 @@ public class ProjectService { return project; } - public List getProjectList() { - // todo 查询条件设置 - return projectMapper.selectByExample(null); + public List getProjectList(ProjectRequest request) { + ProjectExample example = new ProjectExample(); + ProjectExample.Criteria criteria = example.createCriteria(); + if (StringUtils.isNotBlank(request.getWorkspaceId())) { + criteria.andWorkspaceIdEqualTo(request.getWorkspaceId()); + } + return projectMapper.selectByExample(example); } public void deleteProject(String projectId) {