Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MeterSphere
metersphere
提交
589846ca
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,发现更多精彩内容 >>
提交
589846ca
编写于
4月 30, 2020
作者:
C
Captain.B
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
显示日志
上级
e2e3d799
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
47 addition
and
3 deletion
+47
-3
backend/src/main/java/io/metersphere/service/ReportService.java
...d/src/main/java/io/metersphere/service/ReportService.java
+37
-2
backend/src/main/java/io/metersphere/service/TestResourceService.java
...main/java/io/metersphere/service/TestResourceService.java
+4
-0
frontend/src/business/components/performance/report/components/LogDetails.vue
...s/components/performance/report/components/LogDetails.vue
+6
-1
未找到文件。
backend/src/main/java/io/metersphere/service/ReportService.java
浏览文件 @
589846ca
package
io.metersphere.service
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
io.metersphere.base.domain.*
;
import
io.metersphere.base.mapper.LoadTestMapper
;
import
io.metersphere.base.mapper.LoadTestReportLogMapper
;
import
io.metersphere.base.mapper.LoadTestReportMapper
;
import
io.metersphere.base.mapper.LoadTestReportResultMapper
;
import
io.metersphere.base.mapper.ext.ExtLoadTestReportMapper
;
...
...
@@ -20,8 +22,10 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
@Service
@Transactional
(
rollbackFor
=
Exception
.
class
)
...
...
@@ -35,6 +39,10 @@ public class ReportService {
private
LoadTestMapper
loadTestMapper
;
@Resource
private
LoadTestReportResultMapper
loadTestReportResultMapper
;
@Resource
private
LoadTestReportLogMapper
loadTestReportLogMapper
;
@Resource
private
TestResourceService
testResourceService
;
public
List
<
ReportDTO
>
getRecentReportList
(
ReportRequest
request
)
{
return
extLoadTestReportMapper
.
getReportList
(
request
);
...
...
@@ -150,7 +158,34 @@ public class ReportService {
}
public
Map
<
String
,
String
>
log
(
String
reportId
)
{
// todo 查询日志
return
null
;
Map
<
String
,
String
>
logMap
=
new
HashMap
<>();
LoadTestReportLogExample
example
=
new
LoadTestReportLogExample
();
example
.
createCriteria
().
andReportIdEqualTo
(
reportId
);
List
<
LoadTestReportLog
>
loadTestReportLogs
=
loadTestReportLogMapper
.
selectByExampleWithBLOBs
(
example
);
loadTestReportLogs
.
stream
().
map
(
log
->
{
Map
<
String
,
String
>
result
=
new
HashMap
<>();
TestResource
testResource
=
testResourceService
.
getTestResource
(
log
.
getResourceId
());
if
(
testResource
==
null
)
{
result
.
put
(
log
.
getResourceId
(),
log
.
getContent
());
return
result
;
}
String
configuration
=
testResource
.
getConfiguration
();
JSONObject
object
=
JSON
.
parseObject
(
configuration
);
if
(
StringUtils
.
isNotBlank
(
object
.
getString
(
"masterUrl"
)))
{
result
.
put
(
object
.
getString
(
"masterUrl"
),
log
.
getContent
());
return
result
;
}
if
(
StringUtils
.
isNotBlank
(
object
.
getString
(
"ip"
)))
{
result
.
put
(
object
.
getString
(
"ip"
),
log
.
getContent
());
return
result
;
}
result
.
put
(
log
.
getResourceId
(),
log
.
getContent
());
return
result
;
}).
forEach
(
log
->
logMap
.
putAll
(
log
.
entrySet
().
stream
()
.
collect
(
Collectors
.
toMap
(
Map
.
Entry
::
getKey
,
Map
.
Entry
::
getValue
)))
);
return
logMap
;
}
}
backend/src/main/java/io/metersphere/service/TestResourceService.java
浏览文件 @
589846ca
...
...
@@ -47,4 +47,8 @@ public class TestResourceService {
example
.
createCriteria
().
andTestResourcePoolIdEqualTo
(
resourcePoolId
);
return
testResourceMapper
.
selectByExampleWithBLOBs
(
example
);
}
public
TestResource
getTestResource
(
String
resourceId
)
{
return
testResourceMapper
.
selectByPrimaryKey
(
resourceId
);
}
}
frontend/src/business/components/performance/report/components/LogDetails.vue
浏览文件 @
589846ca
<
template
>
<div>
{{
logContent
}}
<el-tabs
type=
"border-card"
:stretch=
"true"
>
<el-tab-pane
v-for=
"(item, key) in logContent"
:key=
"key"
:label=
"key"
class=
"logging-content"
>
{{
item
}}
</el-tab-pane>
</el-tabs>
</div>
</
template
>
...
...
@@ -34,6 +38,7 @@
.logging-content
{
white-space
:
pre-line
;
overflow
:
auto
;
height
:
calc
(
100vh
-
400px
);
}
</
style
>
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录