fix: 脑图顺序添加多个用例时顺序错乱

--bug=1011900 --user=陈建星 [测试跟踪]github#12269脑图,列表切换后,脑图用例顺序全乱 https://www.tapd.cn/55049933/s/1160637
This commit is contained in:
chenjianxing 2022-05-19 16:55:16 +08:00 committed by jianxing
parent c7d89eed9a
commit 7683721ffa
3 changed files with 13 additions and 1 deletions

View File

@ -12,6 +12,8 @@ public class ResetOrderRequest {
private String groupId;
public enum MoveMode {
BEFORE, AFTER
BEFORE,
AFTER,
APPEND // 脑图添加多个用例时后面的用例类型
}
}

View File

@ -1913,6 +1913,8 @@ public class TestCaseService {
testCaseMap = testCaseWithBLOBs.stream().collect(Collectors.toMap(TestCaseWithBLOBs::getId, t -> t));
}
String lastAddId = null;
for (TestCaseMinderEditRequest.TestCaseMinderEditItem item : data) {
if (StringUtils.isBlank(item.getNodeId()) || item.getNodeId().equals("root")) {
item.setNodeId("");
@ -1927,6 +1929,7 @@ public class TestCaseService {
BeanUtils.copyBean(editRequest, item);
editTestCase(editRequest);
changeOrder(item, request.getProjectId());
lastAddId = null;
} else {
if (StringUtils.isBlank(item.getMaintainer())) {
item.setMaintainer(SessionUtils.getUserId());
@ -1934,6 +1937,11 @@ public class TestCaseService {
EditTestCaseRequest editTestCaseRequest = new EditTestCaseRequest();
BeanUtils.copyBean(editTestCaseRequest, item);
addTestCase(editTestCaseRequest);
if (StringUtils.equals(item.getMoveMode(), ResetOrderRequest.MoveMode.APPEND.name()) && StringUtils.isNotBlank(lastAddId)) {
item.setMoveMode(ResetOrderRequest.MoveMode.AFTER.name());
item.setTargetId(lastAddId);
}
lastAddId = editTestCaseRequest.getId();
changeOrder(item, request.getProjectId());
}
}

View File

@ -433,6 +433,8 @@ name: "TestCaseMinder",
if (preId && preId.length > 15) {
testCase.targetId = preId;
testCase.moveMode = 'AFTER';
} else {
testCase.moveMode = 'APPEND';
}
} else if (this.isCaseNode(nextNode)) {
let nextId = nextNode.data.id;