diff --git a/backend/src/main/java/io/metersphere/track/controller/TestCaseReviewController.java b/backend/src/main/java/io/metersphere/track/controller/TestCaseReviewController.java index 7caeb0b850..1b5063cac7 100644 --- a/backend/src/main/java/io/metersphere/track/controller/TestCaseReviewController.java +++ b/backend/src/main/java/io/metersphere/track/controller/TestCaseReviewController.java @@ -7,7 +7,6 @@ import io.metersphere.base.domain.TestCaseReview; import io.metersphere.base.domain.User; import io.metersphere.commons.constants.OperLogConstants; import io.metersphere.commons.constants.PermissionConstants; -import io.metersphere.commons.constants.RoleConstants; import io.metersphere.commons.utils.PageUtils; import io.metersphere.commons.utils.Pager; import io.metersphere.commons.utils.SessionUtils; @@ -15,15 +14,10 @@ import io.metersphere.log.annotation.MsAuditLog; import io.metersphere.service.CheckPermissionService; import io.metersphere.track.dto.TestCaseReviewDTO; import io.metersphere.track.dto.TestReviewDTOWithMetric; -import io.metersphere.track.request.testreview.QueryCaseReviewRequest; -import io.metersphere.track.request.testreview.ReviewRelevanceRequest; -import io.metersphere.track.request.testreview.SaveTestCaseReviewRequest; -import io.metersphere.track.request.testreview.TestReviewRelevanceRequest; +import io.metersphere.track.request.testreview.*; import io.metersphere.track.service.TestCaseReviewService; import io.metersphere.track.service.TestReviewProjectService; -import org.apache.shiro.authz.annotation.Logical; import org.apache.shiro.authz.annotation.RequiresPermissions; -import org.apache.shiro.authz.annotation.RequiresRoles; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -128,8 +122,8 @@ public class TestCaseReviewController { testCaseReviewService.editTestReviewStatus(reviewId); } - @GetMapping("/list/all/relate/{type}") - public List listRelateAll(@PathVariable String type) { - return testCaseReviewService.listRelateAll(type); + @PostMapping("/list/all/relate") + public List listRelateAll(@RequestBody ReviewRelateRequest request) { + return testCaseReviewService.listRelateAll(request); } } diff --git a/backend/src/main/java/io/metersphere/track/request/testreview/ReviewRelateRequest.java b/backend/src/main/java/io/metersphere/track/request/testreview/ReviewRelateRequest.java new file mode 100644 index 0000000000..0f2d586602 --- /dev/null +++ b/backend/src/main/java/io/metersphere/track/request/testreview/ReviewRelateRequest.java @@ -0,0 +1,12 @@ +package io.metersphere.track.request.testreview; + +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class ReviewRelateRequest { + private String type; + private String projectId; + private String workspaceId; +} 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 315fe2a62f..d08aa6ee8e 100644 --- a/backend/src/main/java/io/metersphere/track/service/TestCaseReviewService.java +++ b/backend/src/main/java/io/metersphere/track/service/TestCaseReviewService.java @@ -30,10 +30,7 @@ import io.metersphere.service.UserService; import io.metersphere.track.dto.TestCaseReviewDTO; import io.metersphere.track.dto.TestReviewCaseDTO; import io.metersphere.track.dto.TestReviewDTOWithMetric; -import io.metersphere.track.request.testreview.QueryCaseReviewRequest; -import io.metersphere.track.request.testreview.QueryTestReviewRequest; -import io.metersphere.track.request.testreview.ReviewRelevanceRequest; -import io.metersphere.track.request.testreview.SaveTestCaseReviewRequest; +import io.metersphere.track.request.testreview.*; import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -494,7 +491,10 @@ public class TestCaseReviewService { } } - public List listRelateAll(String type) { + public List listRelateAll(ReviewRelateRequest relateRequest) { + String type = relateRequest.getType(); + String projectId = relateRequest.getProjectId(); + String workspaceId = relateRequest.getWorkspaceId(); SessionUser user = SessionUtils.getUser(); QueryTestReviewRequest request = new QueryTestReviewRequest(); if (StringUtils.equals("creator", type)) { @@ -502,10 +502,12 @@ public class TestCaseReviewService { } else { request.setReviewerId(user.getId()); } - request.setProjectId(SessionUtils.getCurrentProjectId()); - request.setReviewIds(extTestReviewCaseMapper.findRelateTestReviewId(user.getId(), SessionUtils.getCurrentWorkspaceId(), user.getLastProjectId())); - List projectIds = extProjectMapper.getProjectIdByWorkspaceId(SessionUtils.getCurrentWorkspaceId()); + request.setWorkspaceId(workspaceId); + request.setProjectId(projectId); + request.setReviewIds(extTestReviewCaseMapper.findRelateTestReviewId(user.getId(), workspaceId, projectId)); + + List projectIds = extProjectMapper.getProjectIdByWorkspaceId(workspaceId); List testReviews = extTestCaseReviewMapper.listRelate(request); @@ -529,7 +531,7 @@ public class TestCaseReviewService { testCaseReviewUsersExample.createCriteria().andReviewIdEqualTo(testReview.getId()); List userIds = testCaseReviewUsersMapper.selectByExample(testCaseReviewUsersExample) .stream().map(TestCaseReviewUsers::getUserId).collect(Collectors.toList()); - String reviewName = getReviewName(userIds); + String reviewName = getReviewName(userIds, projectId); testReview.setReviewerName(reviewName); User u = userMapper.selectByPrimaryKey(testReview.getCreator()); @@ -557,10 +559,10 @@ public class TestCaseReviewService { return testReviews; } - private String getReviewName(List userIds) { + private String getReviewName(List userIds, String projectId) { QueryMemberRequest queryMemberRequest = new QueryMemberRequest(); - queryMemberRequest.setWorkspaceId(SessionUtils.getCurrentWorkspaceId()); - Map userMap = userService.getMemberList(queryMemberRequest) + queryMemberRequest.setProjectId(projectId); + Map userMap = userService.getProjectMember(queryMemberRequest) .stream().collect(Collectors.toMap(User::getId, User::getName)); StringBuilder stringBuilder = new StringBuilder(); String name = ""; diff --git a/frontend/src/business/components/track/home/components/ReviewList.vue b/frontend/src/business/components/track/home/components/ReviewList.vue index 41bd4e3f94..8557858f0c 100644 --- a/frontend/src/business/components/track/home/components/ReviewList.vue +++ b/frontend/src/business/components/track/home/components/ReviewList.vue @@ -69,7 +69,7 @@ import PlanStageTableItem from "../../common/tableItems/plan/PlanStageTableItem" import PlanStatusTableItem from "../../common/tableItems/plan/PlanStatusTableItem"; import HomeBaseComponent from "./HomeBaseComponent"; import MsTableButton from "../../../common/components/MsTableButton"; -import {getCurrentProjectID} from "../../../../../common/js/utils"; +import {getCurrentProjectID, getCurrentWorkspaceId} from "../../../../../common/js/utils"; export default { name: "ReviewList", @@ -94,10 +94,13 @@ export default { if (!type) { type = 'reviewer' } - if (!getCurrentProjectID()) { + let projectId = getCurrentProjectID(); + let workspaceId = getCurrentWorkspaceId(); + if (!projectId) { return; } - this.result = this.$get('/test/case/review/list/all/relate/' + type, response => { + let param = {type, projectId, workspaceId}; + this.result = this.$post('/test/case/review/list/all/relate', param , response => { this.tableData = response.data; }); },