From 094dfc7da3b52c09342b4f3c86337a9f13278e89 Mon Sep 17 00:00:00 2001 From: shiziyuan9527 Date: Thu, 10 Dec 2020 15:38:54 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=B5=8B=E8=AF=95=E8=B7=9F=E8=B8=AA):=20?= =?UTF-8?q?=E6=9C=80=E8=BF=91=E5=88=97=E8=A1=A8=E6=8C=89=E7=85=A7=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/ext/ExtTestCaseReviewMapper.java | 2 +- .../mapper/ext/ExtTestCaseReviewMapper.xml | 3 ++ .../track/service/TestCaseReviewService.java | 2 +- .../track/service/TestCaseService.java | 28 ++++++------------- .../track/service/TestPlanService.java | 21 ++++++++++---- 5 files changed, 30 insertions(+), 26 deletions(-) diff --git a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestCaseReviewMapper.java b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestCaseReviewMapper.java index 791044b1bb..85304da4ed 100644 --- a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestCaseReviewMapper.java +++ b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestCaseReviewMapper.java @@ -12,7 +12,7 @@ public interface ExtTestCaseReviewMapper { List list(@Param("request") QueryCaseReviewRequest params); - List listByWorkspaceId(@Param("workspaceId") String workspaceId, @Param("userId") String userId); + List listByWorkspaceId(@Param("workspaceId") String workspaceId, @Param("userId") String userId, @Param("projectId") String projectId); List listRelate(@Param("request") QueryTestReviewRequest request); diff --git a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestCaseReviewMapper.xml b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestCaseReviewMapper.xml index 2e0fe80115..af8ef0dd3a 100644 --- a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestCaseReviewMapper.xml +++ b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestCaseReviewMapper.xml @@ -35,6 +35,9 @@ test_case_review.id = test_case_review_project.review_id and test_case_review_project.project_id = project.id and project.workspace_id = #{workspaceId} + + and test_case_review_project.project_id = #{projectId} + and ( (test_case_review_users.review_id = test_case_review.id and test_case_review_users.user_id = #{userId} ) diff --git a/backend/src/main/java/io/metersphere/track/service/TestCaseReviewService.java b/backend/src/main/java/io/metersphere/track/service/TestCaseReviewService.java index c70e971785..aaff1aecdd 100644 --- a/backend/src/main/java/io/metersphere/track/service/TestCaseReviewService.java +++ b/backend/src/main/java/io/metersphere/track/service/TestCaseReviewService.java @@ -199,7 +199,7 @@ public class TestCaseReviewService { } public List recent(String currentWorkspaceId) { - return extTestCaseReviewMapper.listByWorkspaceId(currentWorkspaceId, SessionUtils.getUserId()); + return extTestCaseReviewMapper.listByWorkspaceId(currentWorkspaceId, SessionUtils.getUserId(), SessionUtils.getCurrentProjectId()); } public void editCaseReview(SaveTestCaseReviewRequest testCaseReview) { diff --git a/backend/src/main/java/io/metersphere/track/service/TestCaseService.java b/backend/src/main/java/io/metersphere/track/service/TestCaseService.java index ca463ab9b0..9237735195 100644 --- a/backend/src/main/java/io/metersphere/track/service/TestCaseService.java +++ b/backend/src/main/java/io/metersphere/track/service/TestCaseService.java @@ -220,27 +220,17 @@ public class TestCaseService { public List recentTestPlans(QueryTestCaseRequest request, int count) { - - if (StringUtils.isBlank(request.getWorkspaceId())) { - return null; - } - - ProjectExample projectExample = new ProjectExample(); - projectExample.createCriteria().andWorkspaceIdEqualTo(request.getWorkspaceId()); - - List projectIds = projectMapper.selectByExample(projectExample).stream() - .map(Project::getId).collect(Collectors.toList()); - - if (projectIds.isEmpty()) { - return null; - } - PageHelper.startPage(1, count, true); - TestCaseExample testCaseExample = new TestCaseExample(); - testCaseExample.createCriteria().andProjectIdIn(projectIds).andMaintainerEqualTo(request.getUserId()); - testCaseExample.setOrderByClause("update_time desc, sort desc"); - return testCaseMapper.selectByExample(testCaseExample); + TestCaseExample.Criteria criteria = testCaseExample.createCriteria(); + criteria.andMaintainerEqualTo(request.getUserId()); + String projectId = SessionUtils.getCurrentProjectId(); + if (StringUtils.isNotBlank(projectId)) { + criteria.andProjectIdEqualTo(projectId); + testCaseExample.setOrderByClause("update_time desc, sort desc"); + return testCaseMapper.selectByExample(testCaseExample); + } + return new ArrayList<>(); } public Project getProjectByTestCaseId(String testCaseId) { diff --git a/backend/src/main/java/io/metersphere/track/service/TestPlanService.java b/backend/src/main/java/io/metersphere/track/service/TestPlanService.java index 0df5f31a8b..cf31e92af4 100644 --- a/backend/src/main/java/io/metersphere/track/service/TestPlanService.java +++ b/backend/src/main/java/io/metersphere/track/service/TestPlanService.java @@ -396,11 +396,22 @@ public class TestPlanService { if (StringUtils.isBlank(currentWorkspaceId)) { return null; } - TestPlanExample testPlanTestCaseExample = new TestPlanExample(); - testPlanTestCaseExample.createCriteria().andWorkspaceIdEqualTo(currentWorkspaceId) - .andPrincipalEqualTo(SessionUtils.getUserId()); - testPlanTestCaseExample.setOrderByClause("update_time desc"); - return testPlanMapper.selectByExample(testPlanTestCaseExample); + TestPlanProjectExample testPlanProjectExample = new TestPlanProjectExample(); + TestPlanProjectExample.Criteria criteria = testPlanProjectExample.createCriteria(); + if (StringUtils.isNotBlank(SessionUtils.getCurrentProjectId())) { + criteria.andProjectIdEqualTo(SessionUtils.getCurrentProjectId()); + List testPlanProjects = testPlanProjectMapper.selectByExample(testPlanProjectExample); + if (!CollectionUtils.isEmpty(testPlanProjects)) { + List testPlanIds = testPlanProjects.stream().map(TestPlanProject::getTestPlanId).collect(Collectors.toList()); + TestPlanExample testPlanTestCaseExample = new TestPlanExample(); + testPlanTestCaseExample.createCriteria().andWorkspaceIdEqualTo(currentWorkspaceId) + .andIdIn(testPlanIds) + .andPrincipalEqualTo(SessionUtils.getUserId()); + testPlanTestCaseExample.setOrderByClause("update_time desc"); + return testPlanMapper.selectByExample(testPlanTestCaseExample); + } + } + return new ArrayList<>(); } public List listTestAllPlan(String currentWorkspaceId) {