Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
xiaofang li
MeterSphere
Commits
45636c51
Commit
45636c51
authored
3 years ago
by
Captain.B
Committed by
刘瑞斌
3 years ago
Browse files
Options
Download
Email Patches
Plain Diff
refactor: 接口自动化执行发送通知修改
parent
83b4264a
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
backend/src/main/java/io/metersphere/api/service/ApiScenarioReportService.java
+19
-11
.../io/metersphere/api/service/ApiScenarioReportService.java
with
19 additions
and
11 deletions
+19
-11
backend/src/main/java/io/metersphere/api/service/ApiScenarioReportService.java
+
19
-
11
View file @
45636c51
...
...
@@ -26,11 +26,13 @@ import io.metersphere.base.mapper.ApiScenarioReportMapper;
import
io.metersphere.base.mapper.TestPlanApiScenarioMapper
;
import
io.metersphere.base.mapper.ext.ExtApiScenarioReportDetailMapper
;
import
io.metersphere.base.mapper.ext.ExtApiScenarioReportMapper
;
import
io.metersphere.base.mapper.ext.ExtProjectMapper
;
import
io.metersphere.commons.constants.*
;
import
io.metersphere.commons.exception.MSException
;
import
io.metersphere.commons.utils.*
;
import
io.metersphere.dto.ApiReportCountDTO
;
import
io.metersphere.dto.NodeDTO
;
import
io.metersphere.dto.UserDTO
;
import
io.metersphere.i18n.Translator
;
import
io.metersphere.log.utils.ReflexObjectUtil
;
import
io.metersphere.log.vo.DetailColumn
;
...
...
@@ -38,6 +40,7 @@ import io.metersphere.log.vo.OperatingLogDetails;
import
io.metersphere.log.vo.api.ModuleReference
;
import
io.metersphere.notice.sender.NoticeModel
;
import
io.metersphere.notice.service.NoticeSendService
;
import
io.metersphere.service.UserService
;
import
io.metersphere.track.service.TestPlanReportService
;
import
org.apache.commons.beanutils.BeanMap
;
import
org.apache.commons.collections4.CollectionUtils
;
...
...
@@ -79,6 +82,10 @@ public class ApiScenarioReportService {
SqlSessionFactory
sqlSessionFactory
;
@Resource
private
NoticeSendService
noticeSendService
;
@Resource
private
UserService
userService
;
@Resource
private
ExtProjectMapper
extProjectMapper
;
public
ApiScenarioReport
complete
(
TestResult
result
,
String
runMode
)
{
// 更新场景
...
...
@@ -596,7 +603,7 @@ public class ApiScenarioReportService {
apiScenarioMapper
.
updateByPrimaryKey
(
scenario
);
// 发送通知
sendNotice
(
scenario
);
sendNotice
(
scenario
,
report
);
}
lastReport
=
report
;
if
(
report
.
getExecuteType
().
equals
(
ExecuteType
.
Marge
.
name
()))
{
...
...
@@ -615,28 +622,29 @@ public class ApiScenarioReportService {
}
private
void
sendNotice
(
ApiScenario
result
)
{
private
void
sendNotice
(
ApiScenario
scenario
,
ApiScenarioReport
result
)
{
BeanMap
beanMap
=
new
BeanMap
(
result
);
BeanMap
beanMap
=
new
BeanMap
(
scenario
);
String
event
;
String
status
;
if
(
StringUtils
.
equals
(
result
.
getLastResult
(),
"Success"
))
{
if
(
StringUtils
.
equals
(
scenario
.
getLastResult
(),
"Success"
))
{
event
=
NoticeConstants
.
Event
.
EXECUTE_SUCCESSFUL
;
status
=
"成功"
;
}
else
{
event
=
NoticeConstants
.
Event
.
EXECUTE_FAILED
;
status
=
"失败"
;
}
String
userId
=
result
.
getCreateUser
();
UserDTO
userDTO
=
userService
.
getUserDTO
(
userId
);
Map
paramMap
=
new
HashMap
<>(
beanMap
);
if
(
SessionUtils
.
getUser
()
!=
null
)
{
paramMap
.
put
(
"operator"
,
SessionUtils
.
getUser
().
getName
());
}
paramMap
.
put
(
"status"
,
result
.
getLastResult
());
paramMap
.
put
(
"operator"
,
userDTO
.
getName
());
paramMap
.
put
(
"status"
,
scenario
.
getLastResult
());
String
context
=
"${operator}执行接口自动化"
+
status
+
": ${name}"
;
NoticeModel
noticeModel
=
NoticeModel
.
builder
()
.
operator
(
SessionUtils
.
getU
serId
()
)
.
operator
(
u
serId
)
.
context
(
context
)
.
subject
(
"接口自动化通知"
)
.
successMailTemplate
(
"api/ScenarioResult"
)
...
...
@@ -645,8 +653,8 @@ public class ApiScenarioReportService {
.
event
(
event
)
.
build
();
String
taskType
=
NoticeConstants
.
TaskType
.
API_AUTOMATION_TASK
;
noticeSendService
.
send
(
taskType
,
noticeModel
);
Organization
organization
=
extProjectMapper
.
getOrganizationByProjectId
(
scenario
.
getProjectId
())
;
noticeSendService
.
send
(
organization
,
NoticeConstants
.
TaskType
.
API_AUTOMATION_TASK
,
noticeModel
);
}
public
String
update
(
APIScenarioReportResult
test
)
{
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help