fix(测试用例): 用例评审快捷创建用例并关联评审,缺失关联日志
--bug=1048759 --user=王旭 【测试用例】评审-评审详情-快捷创建并关联用例-查看日志-未生成关联用例的日志 https://www.tapd.cn/55049933/s/1609975
This commit is contained in:
parent
857a420281
commit
315b9bc083
|
@ -13,11 +13,15 @@ import io.metersphere.functional.request.BaseAssociateCaseRequest;
|
||||||
import io.metersphere.functional.request.BaseReviewCaseBatchRequest;
|
import io.metersphere.functional.request.BaseReviewCaseBatchRequest;
|
||||||
import io.metersphere.functional.request.CaseReviewAssociateRequest;
|
import io.metersphere.functional.request.CaseReviewAssociateRequest;
|
||||||
import io.metersphere.functional.request.CaseReviewRequest;
|
import io.metersphere.functional.request.CaseReviewRequest;
|
||||||
|
import io.metersphere.project.domain.Project;
|
||||||
|
import io.metersphere.project.mapper.ProjectMapper;
|
||||||
import io.metersphere.sdk.constants.HttpMethodConstants;
|
import io.metersphere.sdk.constants.HttpMethodConstants;
|
||||||
import io.metersphere.sdk.util.JSON;
|
import io.metersphere.sdk.util.JSON;
|
||||||
|
import io.metersphere.system.dto.builder.LogDTOBuilder;
|
||||||
import io.metersphere.system.log.constants.OperationLogModule;
|
import io.metersphere.system.log.constants.OperationLogModule;
|
||||||
import io.metersphere.system.log.constants.OperationLogType;
|
import io.metersphere.system.log.constants.OperationLogType;
|
||||||
import io.metersphere.system.log.dto.LogDTO;
|
import io.metersphere.system.log.dto.LogDTO;
|
||||||
|
import io.metersphere.system.log.service.OperationLogService;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import org.apache.commons.collections.CollectionUtils;
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
@ -46,6 +50,10 @@ public class CaseReviewLogService {
|
||||||
private CaseReviewFunctionalCaseMapper caseReviewFunctionalCaseMapper;
|
private CaseReviewFunctionalCaseMapper caseReviewFunctionalCaseMapper;
|
||||||
@Resource
|
@Resource
|
||||||
private ExtFunctionalCaseMapper extFunctionalCaseMapper;
|
private ExtFunctionalCaseMapper extFunctionalCaseMapper;
|
||||||
|
@Resource
|
||||||
|
private ProjectMapper projectMapper;
|
||||||
|
@Resource
|
||||||
|
private OperationLogService operationLogService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增用例评审 日志
|
* 新增用例评审 日志
|
||||||
|
@ -243,4 +251,19 @@ public class CaseReviewLogService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void createCaseAndAssociateLog(CaseReview caseReview, FunctionalCase functionalCase, String userId) {
|
||||||
|
Project project = projectMapper.selectByPrimaryKey(caseReview.getProjectId());
|
||||||
|
LogDTO dto = LogDTOBuilder.builder()
|
||||||
|
.projectId(caseReview.getProjectId())
|
||||||
|
.organizationId(project.getOrganizationId())
|
||||||
|
.type(OperationLogType.ASSOCIATE.name())
|
||||||
|
.module(OperationLogModule.CASE_REVIEW_DETAIL)
|
||||||
|
.method(HttpMethodConstants.POST.name())
|
||||||
|
.path("/functional/case/add")
|
||||||
|
.sourceId(caseReview.getId())
|
||||||
|
.content(functionalCase.getName())
|
||||||
|
.createUser(userId)
|
||||||
|
.build().getLogDTO();
|
||||||
|
operationLogService.add(dto);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -178,6 +178,8 @@ public class FunctionalCaseService {
|
||||||
private ProjectService projectService;
|
private ProjectService projectService;
|
||||||
@Resource
|
@Resource
|
||||||
private FunctionalCaseNoticeService functionalCaseNoticeService;
|
private FunctionalCaseNoticeService functionalCaseNoticeService;
|
||||||
|
@Resource
|
||||||
|
private CaseReviewLogService caseReviewLogService;;
|
||||||
|
|
||||||
public FunctionalCase addFunctionalCase(FunctionalCaseAddRequest request, List<MultipartFile> files, String userId, String organizationId) {
|
public FunctionalCase addFunctionalCase(FunctionalCaseAddRequest request, List<MultipartFile> files, String userId, String organizationId) {
|
||||||
String caseId = IDGenerator.nextStr();
|
String caseId = IDGenerator.nextStr();
|
||||||
|
@ -201,7 +203,7 @@ public class FunctionalCaseService {
|
||||||
copyAttachment(request, userId, uploadFileIds, caseId);
|
copyAttachment(request, userId, uploadFileIds, caseId);
|
||||||
}
|
}
|
||||||
LogUtils.info("保存用例的文件操作完成");
|
LogUtils.info("保存用例的文件操作完成");
|
||||||
addCaseReviewCase(request.getReviewId(), caseId, userId);
|
addCaseReviewCase(request.getReviewId(), functionalCase, userId);
|
||||||
|
|
||||||
//记录日志
|
//记录日志
|
||||||
FunctionalCaseHistoryLogDTO historyLogDTO = getAddLogModule(functionalCase);
|
FunctionalCaseHistoryLogDTO historyLogDTO = getAddLogModule(functionalCase);
|
||||||
|
@ -276,10 +278,11 @@ public class FunctionalCaseService {
|
||||||
*
|
*
|
||||||
* @param reviewId reviewId
|
* @param reviewId reviewId
|
||||||
*/
|
*/
|
||||||
private void addCaseReviewCase(String reviewId, String caseId, String userId) {
|
private void addCaseReviewCase(String reviewId, FunctionalCase functionalCase, String userId) {
|
||||||
if (StringUtils.isNotBlank(reviewId)) {
|
if (StringUtils.isNotBlank(reviewId)) {
|
||||||
caseReviewService.checkCaseReview(reviewId);
|
CaseReview caseReview = caseReviewService.checkCaseReview(reviewId);
|
||||||
caseReviewFunctionalCaseService.addCaseReviewFunctionalCase(caseId, userId, reviewId);
|
caseReviewFunctionalCaseService.addCaseReviewFunctionalCase(functionalCase.getId(), userId, reviewId);
|
||||||
|
caseReviewLogService.createCaseAndAssociateLog(caseReview, functionalCase, userId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -120,6 +120,8 @@ INSERT INTO project (id, num, organization_id, name, description, create_user, u
|
||||||
VALUES ('wx_test_project_review_one', null, 'organization-associate-case-test', '评审跨项目关联用例', '系统默认创建的项目',
|
VALUES ('wx_test_project_review_one', null, 'organization-associate-case-test', '评审跨项目关联用例', '系统默认创建的项目',
|
||||||
'admin', 'admin', UNIX_TIMESTAMP() * 1000, UNIX_TIMESTAMP() * 1000),
|
'admin', 'admin', UNIX_TIMESTAMP() * 1000, UNIX_TIMESTAMP() * 1000),
|
||||||
('wx_test_project_review_two', null, 'organization-associate-case-test', '评审跨项目关联用例2', '系统默认创建的项目',
|
('wx_test_project_review_two', null, 'organization-associate-case-test', '评审跨项目关联用例2', '系统默认创建的项目',
|
||||||
|
'admin', 'admin', UNIX_TIMESTAMP() * 1000, UNIX_TIMESTAMP() * 1000),
|
||||||
|
('wx_test_project', null, 'organization-associate-case-test', '评审跨项目关联用例3', '系统默认创建的项目',
|
||||||
'admin', 'admin', UNIX_TIMESTAMP() * 1000, UNIX_TIMESTAMP() * 1000);
|
'admin', 'admin', UNIX_TIMESTAMP() * 1000, UNIX_TIMESTAMP() * 1000);
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue