diff --git a/framework/sdk-parent/sdk/src/main/java/io/metersphere/notice/sender/AbstractNoticeSender.java b/framework/sdk-parent/sdk/src/main/java/io/metersphere/notice/sender/AbstractNoticeSender.java index eadca2963f..8c161468a0 100644 --- a/framework/sdk-parent/sdk/src/main/java/io/metersphere/notice/sender/AbstractNoticeSender.java +++ b/framework/sdk-parent/sdk/src/main/java/io/metersphere/notice/sender/AbstractNoticeSender.java @@ -190,9 +190,9 @@ public abstract class AbstractNoticeSender implements NoticeSender { .collect(Collectors.toList()); toUsers.addAll(receivers); } - // 评审评论时这个维护人是创建人 - if (paramMap.containsKey("creator")) { - toUsers.add(new Receiver((String) paramMap.get("creator"), NotificationConstants.Type.SYSTEM_NOTICE.name())); + + if (paramMap.containsKey("maintainer")) { + toUsers.add(new Receiver((String) paramMap.get("maintainer"), NotificationConstants.Type.SYSTEM_NOTICE.name())); } } break; diff --git a/test-track/backend/src/main/java/io/metersphere/dto/TestCaseReviewWithMaintainer.java b/test-track/backend/src/main/java/io/metersphere/dto/TestCaseReviewWithMaintainer.java new file mode 100644 index 0000000000..32fee017e9 --- /dev/null +++ b/test-track/backend/src/main/java/io/metersphere/dto/TestCaseReviewWithMaintainer.java @@ -0,0 +1,12 @@ +package io.metersphere.dto; + +import io.metersphere.base.domain.TestCaseReview; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class TestCaseReviewWithMaintainer extends TestCaseReview { + + private String maintainer; +} diff --git a/test-track/backend/src/main/java/io/metersphere/service/TestCaseCommentService.java b/test-track/backend/src/main/java/io/metersphere/service/TestCaseCommentService.java index 5462467d64..6ee6be6b04 100644 --- a/test-track/backend/src/main/java/io/metersphere/service/TestCaseCommentService.java +++ b/test-track/backend/src/main/java/io/metersphere/service/TestCaseCommentService.java @@ -65,7 +65,7 @@ public class TestCaseCommentService { */ @RequiresPermissions(PermissionConstants.PROJECT_TRACK_REVIEW_READ_COMMENT) @MsAuditLog(module = OperLogModule.TRACK_TEST_CASE_REVIEW, type = OperLogConstants.CREATE, content = "#msClass.getLogDetails(#request.id)", msClass = TestCaseCommentService.class) - @SendNotice(taskType = NoticeConstants.TaskType.REVIEW_TASK, target = "#targetClass.getTestReview(#request.reviewId)", targetClass = TestCaseReviewService.class, + @SendNotice(taskType = NoticeConstants.TaskType.REVIEW_TASK, target = "#targetClass.getTestReviewWithMaintainer(#request)", targetClass = TestCaseReviewService.class, event = NoticeConstants.Event.COMMENT, subject = "测试评审通知") public void saveComment(TestCaseReviewTestCaseEditRequest request) { SaveCommentRequest saveCommentRequest = new SaveCommentRequest(); diff --git a/test-track/backend/src/main/java/io/metersphere/service/TestCaseReviewService.java b/test-track/backend/src/main/java/io/metersphere/service/TestCaseReviewService.java index 9d916efc5a..bfde7ccff1 100644 --- a/test-track/backend/src/main/java/io/metersphere/service/TestCaseReviewService.java +++ b/test-track/backend/src/main/java/io/metersphere/service/TestCaseReviewService.java @@ -14,7 +14,7 @@ import io.metersphere.commons.user.SessionUser; import io.metersphere.commons.utils.JSON; import io.metersphere.commons.utils.LogUtil; import io.metersphere.commons.utils.SessionUtils; -import io.metersphere.dto.BaseSystemConfigDTO; +import io.metersphere.dto.*; import io.metersphere.excel.converter.TestReviewCaseStatus; import io.metersphere.log.utils.ReflexObjectUtil; import io.metersphere.log.vo.DetailColumn; @@ -22,10 +22,6 @@ import io.metersphere.log.vo.OperatingLogDetails; import io.metersphere.log.vo.track.TestCaseReviewReference; import io.metersphere.notice.sender.NoticeModel; import io.metersphere.notice.service.NoticeSendService; -import io.metersphere.dto.CountMapDTO; -import io.metersphere.dto.TestCaseDTO; -import io.metersphere.dto.TestCaseReviewDTO; -import io.metersphere.dto.TestReviewDTOWithMetric; import io.metersphere.request.member.QueryMemberRequest; import io.metersphere.request.testreview.*; import org.apache.commons.beanutils.BeanMap; @@ -40,6 +36,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.lang.reflect.InvocationTargetException; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -131,7 +128,7 @@ public class TestCaseReviewService { return new ArrayList<>(); }*/ //update reviewerId - if(StringUtils.equalsIgnoreCase(request.getReviewerId(),"currentUserId")){ + if (StringUtils.equalsIgnoreCase(request.getReviewerId(), "currentUserId")) { request.setReviewerId(SessionUtils.getUserId()); } return extTestCaseReviewMapper.list(request); @@ -256,7 +253,7 @@ public class TestCaseReviewService { TestCaseReviewFollowExample example = new TestCaseReviewFollowExample(); example.createCriteria().andReviewIdEqualTo(id).andFollowIdNotIn(follows); testCaseReviewFollowMapper.deleteByExample(example); - }else { + } else { TestCaseReviewFollowExample example = new TestCaseReviewFollowExample(); example.createCriteria().andReviewIdEqualTo(testCaseReview.getId()); testCaseReviewFollowMapper.deleteByExample(example); @@ -386,6 +383,15 @@ public class TestCaseReviewService { return Optional.ofNullable(testCaseReviewMapper.selectByPrimaryKey(reviewId)).orElse(new TestCaseReview()); } + public TestCaseReviewWithMaintainer getTestReviewWithMaintainer(TestCaseReviewTestCaseEditRequest request) throws Exception { + TestCaseReview testCaseReview = testCaseReviewMapper.selectByPrimaryKey(request.getReviewId()); + TestCaseReviewWithMaintainer reviewWithMaintainer = new TestCaseReviewWithMaintainer(); + BeanUtils.copyProperties(reviewWithMaintainer, testCaseReview); + TestCaseWithBLOBs testCaseWithBLOBs = testCaseMapper.selectByPrimaryKey(request.getCaseId()); + reviewWithMaintainer.setMaintainer(testCaseWithBLOBs.getMaintainer()); + return reviewWithMaintainer; + } + public void editTestReviewStatus(String reviewId) { List statusList = extTestReviewCaseMapper.getStatusByReviewId(reviewId); TestCaseReview testCaseReview = new TestCaseReview(); @@ -395,7 +401,7 @@ public class TestCaseReviewService { testCaseReview.setStatus(TestCaseReviewStatus.Underway.name()); testCaseReviewMapper.updateByPrimaryKeySelective(testCaseReview); return; - } else if(statusList.contains(TestReviewCaseStatus.UnPass.name())){ + } else if (statusList.contains(TestReviewCaseStatus.UnPass.name())) { testCaseReview.setStatus(TestCaseReviewStatus.Finished.name()); testCaseReviewMapper.updateByPrimaryKeySelective(testCaseReview); return;