Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MeterSphere
metersphere
提交
f835d627
M
metersphere
项目概览
MeterSphere
/
metersphere
上一次同步 大约 3 年
通知
25
Star
1
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
metersphere
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f835d627
编写于
5月 14, 2020
作者:
C
chenjianxing
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix 节点拖拽
上级
a7b0255e
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
30 addition
and
5 deletion
+30
-5
backend/src/main/java/io/metersphere/track/service/TestCaseNodeService.java
...ava/io/metersphere/track/service/TestCaseNodeService.java
+29
-4
frontend/src/business/components/track/common/NodeBreadcrumb.vue
...d/src/business/components/track/common/NodeBreadcrumb.vue
+1
-1
未找到文件。
backend/src/main/java/io/metersphere/track/service/TestCaseNodeService.java
浏览文件 @
f835d627
...
...
@@ -373,15 +373,34 @@ public class TestCaseNodeService {
editNode
(
request
);
List
<
TestCaseDTO
>
testCases
=
QueryTestCaseByNodeIds
(
request
.
getNodeIds
());
List
<
String
>
nodeIds
=
request
.
getNodeIds
();
List
<
TestCaseDTO
>
testCases
=
QueryTestCaseByNodeIds
(
nodeIds
);
TestCaseNodeDTO
nodeTree
=
request
.
getNodeTree
();
buildUpdateTestCase
(
nodeTree
,
testCases
,
"/"
);
List
<
TestCaseNode
>
updateNodes
=
new
ArrayList
<>();
buildUpdateTestCase
(
nodeTree
,
testCases
,
updateNodes
,
"/"
,
1
);
updateNodes
=
updateNodes
.
stream
()
.
filter
(
item
->
nodeIds
.
contains
(
item
.
getId
()))
.
collect
(
Collectors
.
toList
());
batchUpdateTestCaseNode
(
updateNodes
);
batchUpdateTestCase
(
testCases
);
}
private
void
batchUpdateTestCaseNode
(
List
<
TestCaseNode
>
updateNodes
)
{
SqlSession
sqlSession
=
sqlSessionFactory
.
openSession
(
ExecutorType
.
BATCH
);
TestCaseNodeMapper
testCaseNodeMapper
=
sqlSession
.
getMapper
(
TestCaseNodeMapper
.
class
);
updateNodes
.
forEach
((
value
)
->
{
testCaseNodeMapper
.
updateByPrimaryKeySelective
(
value
);
});
sqlSession
.
flushStatements
();
}
private
void
batchUpdateTestCase
(
List
<
TestCaseDTO
>
testCases
)
{
SqlSession
sqlSession
=
sqlSessionFactory
.
openSession
(
ExecutorType
.
BATCH
);
TestCaseMapper
testCaseMapper
=
sqlSession
.
getMapper
(
TestCaseMapper
.
class
);
...
...
@@ -397,10 +416,16 @@ public class TestCaseNodeService {
return
extTestCaseMapper
.
list
(
testCaseRequest
);
}
private
void
buildUpdateTestCase
(
TestCaseNodeDTO
rootNode
,
List
<
TestCaseDTO
>
testCases
,
String
rootPath
)
{
private
void
buildUpdateTestCase
(
TestCaseNodeDTO
rootNode
,
List
<
TestCaseDTO
>
testCases
,
List
<
TestCaseNode
>
updateNodes
,
String
rootPath
,
int
level
)
{
rootPath
=
rootPath
+
rootNode
.
getName
();
TestCaseNode
testCaseNode
=
new
TestCaseNode
();
testCaseNode
.
setId
(
rootNode
.
getId
());
testCaseNode
.
setLevel
(
level
);
updateNodes
.
add
(
testCaseNode
);
for
(
TestCaseDTO
item
:
testCases
)
{
if
(
StringUtils
.
equals
(
item
.
getNodeId
(),
rootNode
.
getId
()))
{
item
.
setNodePath
(
rootPath
);
...
...
@@ -410,7 +435,7 @@ public class TestCaseNodeService {
List
<
TestCaseNodeDTO
>
children
=
rootNode
.
getChildren
();
if
(
children
!=
null
&&
children
.
size
()
>
0
){
for
(
int
i
=
0
;
i
<
children
.
size
();
i
++)
{
buildUpdateTestCase
(
children
.
get
(
i
),
testCases
,
rootPath
+
'/'
);
buildUpdateTestCase
(
children
.
get
(
i
),
testCases
,
updateNodes
,
rootPath
+
'/'
,
level
+
1
);
}
}
}
...
...
frontend/src/business/components/track/common/NodeBreadcrumb.vue
浏览文件 @
f835d627
...
...
@@ -38,7 +38,7 @@
if
(
this
.
data
.
length
>
4
)
{
let
lastData
=
this
.
data
[
this
.
data
.
length
-
1
];
this
.
data
.
splice
(
1
,
this
.
data
.
length
);
this
.
data
.
push
(
'
...
'
);
this
.
data
.
push
(
{
id
:
lastData
.
id
+
'
1
'
,
name
:
'
...
'
}
);
this
.
data
.
push
(
lastData
);
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录