Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
byit-myth-job
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
liyuan
byit-myth-job
Commits
3494022d
Commit
3494022d
authored
Aug 17, 2020
by
guominglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改补批查询的节点来源表
parent
a4ef0522
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
48 additions
and
14 deletions
+48
-14
ApiFlowServiceImpl.java
...c/main/java/com/byit/service/impl/ApiFlowServiceImpl.java
+13
-13
JobTaskRunLogMapper.java
...re/src/main/java/com/byit/mapper/JobTaskRunLogMapper.java
+10
-0
NodeVersionDependencyMapper.java
...ain/java/com/byit/mapper/NodeVersionDependencyMapper.java
+7
-0
JobTaskRunLogMapper.xml
...in-core/src/main/resources/mapper/JobTaskRunLogMapper.xml
+8
-1
NodeVersionDependencyMapper.xml
...src/main/resources/mapper/NodeVersionDependencyMapper.xml
+10
-0
No files found.
byit-myth-admin/src/main/java/com/byit/service/impl/ApiFlowServiceImpl.java
View file @
3494022d
...
@@ -483,22 +483,22 @@ public class ApiFlowServiceImpl implements ApiFlowService {
...
@@ -483,22 +483,22 @@ public class ApiFlowServiceImpl implements ApiFlowService {
RunRecording
runRecording
=
runRecordingMapper
.
findRunRecordingByFlowIdAndRunId
(
flow
.
getFlowId
(),
runInfo
.
getRunId
());
RunRecording
runRecording
=
runRecordingMapper
.
findRunRecordingByFlowIdAndRunId
(
flow
.
getFlowId
(),
runInfo
.
getRunId
());
ValidationUtil
.
dataNotNull
(
runRecording
,
"查无此运行记录"
);
ValidationUtil
.
dataNotNull
(
runRecording
,
"查无此运行记录"
);
//TODO 这里应该查询的是版本表 与版本号挂钩
//TODO 这里应该查询的是版本表 与版本号挂钩
NodeVersion
node
=
nodeVersionMapper
.
findNodeByNodeNameAndVersionNameAndFlowId
(
runInfo
.
getNodeName
(),
runRecording
.
getFlowVersionName
(),
runRecording
.
getFlowId
());
//
NodeVersion node = nodeVersionMapper.findNodeByNodeNameAndVersionNameAndFlowId(runInfo.getNodeName(),runRecording.getFlowVersionName(),runRecording.getFlowId());
//Node node = nodeMapper.getByNameAndFlow(runInfo.getNodeName(), flow.getFlowId());
//
//Node node = nodeMapper.getByNameAndFlow(runInfo.getNodeName(), flow.getFlowId());
ValidationUtil
.
dataNotNull
(
node
,
runInfo
.
getNodeName
()
+
"节点不存在"
);
//
ValidationUtil.dataNotNull(node, runInfo.getNodeName() + "节点不存在");
//获取运行日志实例
//获取运行日志实例
JobTaskRunLog
jobTaskRunLog
=
jobTaskRunLogMapper
.
findByRunIdAnd
NodeId
(
runInfo
.
getRunId
(),
node
.
getNodeId
());
JobTaskRunLog
jobTaskRunLog
=
jobTaskRunLogMapper
.
findByRunIdAnd
FlowIdAndNodeName
(
runInfo
.
getRunId
(),
flow
.
getFlowId
(),
runInfo
.
getNodeName
());
ValidationUtil
.
dataNotNull
(
jobTaskRunLog
,
"查无此运行记录"
);
ValidationUtil
.
dataNotNull
(
jobTaskRunLog
,
"查无此运行记录"
);
String
userName
=
currentUserUtils
.
account
();
String
userName
=
currentUserUtils
.
account
();
//校验上级是否成功
//校验上级是否成功
List
<
Integer
>
dependNodeList
=
nodeDependencyMapper
.
findDependIdByNodeId
(
node
.
getNodeId
());
if
(
StringUtils
.
isNotEmpty
(
jobTaskRunLog
.
getNodeDepend
())){
if
(
dependNodeList
!=
null
&&
dependNodeList
.
size
()
>
0
){
List
<
String
>
dependNodeList
=
Arrays
.
asList
(
jobTaskRunLog
.
getNodeDepend
().
split
(
","
));
dependNodeList
.
forEach
(
dependNodeId
->
{
dependNodeList
.
forEach
(
dependNodeId
->
{
JobTaskRunLog
dependJobTaskRunLog
=
jobTaskRunLogMapper
.
findByRunIdAndNodeId
(
runInfo
.
getRunId
(),
dependNodeId
);
JobTaskRunLog
dependJobTaskRunLog
=
jobTaskRunLogMapper
.
findByRunIdAndNodeId
(
runInfo
.
getRunId
(),
Integer
.
valueOf
(
dependNodeId
)
);
if
(
dependJobTaskRunLog
!=
null
)
{
if
(
dependJobTaskRunLog
!=
null
)
{
ValidationUtil
.
isTrueValidation
(!(
"1"
.
equals
(
dependJobTaskRunLog
.
getRunCode
())
||
"3"
.
equals
(
dependJobTaskRunLog
.
getRunCode
())),
"上级任务未运行成功!"
);
ValidationUtil
.
isTrueValidation
(!(
"1"
.
equals
(
dependJobTaskRunLog
.
getRunCode
())
||
"3"
.
equals
(
dependJobTaskRunLog
.
getRunCode
())),
"上级任务未运行成功!"
);
}
}
...
@@ -525,11 +525,11 @@ public class ApiFlowServiceImpl implements ApiFlowService {
...
@@ -525,11 +525,11 @@ public class ApiFlowServiceImpl implements ApiFlowService {
//判断重跑机制(单节点重跑,节点及下游重跑
//判断重跑机制(单节点重跑,节点及下游重跑
if
(!
"1"
.
equals
(
runInfo
.
getRunState
()))
{
//如果不是只重跑当前节点
if
(!
"1"
.
equals
(
runInfo
.
getRunState
()))
{
//如果不是只重跑当前节点
//查询依赖本节点的节点,并添加到集合中
//查询依赖本节点的节点,并添加到集合中
List
<
Integer
>
subNodeIdList
=
node
DependencyMapper
.
findSubNodeList
(
node
.
getNodeId
());
List
<
Integer
>
subNodeIdList
=
node
VersionDependencyMapper
.
findSubNodeList
(
jobTaskRunLog
.
getNodeId
());
Set
<
Integer
>
nodeIdSet
=
new
HashSet
<>();
Set
<
Integer
>
nodeIdSet
=
new
HashSet
<>();
Set
<
Integer
>
runNodeIdSet
=
new
HashSet
<>();
Set
<
Integer
>
runNodeIdSet
=
new
HashSet
<>();
runNodeIdSet
.
add
(
node
.
getNodeId
());
runNodeIdSet
.
add
(
jobTaskRunLog
.
getNodeId
());
nodeIdSet
.
add
(
node
.
getNodeId
());
nodeIdSet
.
add
(
jobTaskRunLog
.
getNodeId
());
//获取全部的需要重跑的节点
//获取全部的需要重跑的节点
if
(
subNodeIdList
!=
null
&&
subNodeIdList
.
size
()
>
0
){
if
(
subNodeIdList
!=
null
&&
subNodeIdList
.
size
()
>
0
){
Queue
<
Integer
>
queue
=
new
LinkedList
<>();
Queue
<
Integer
>
queue
=
new
LinkedList
<>();
...
@@ -538,7 +538,7 @@ public class ApiFlowServiceImpl implements ApiFlowService {
...
@@ -538,7 +538,7 @@ public class ApiFlowServiceImpl implements ApiFlowService {
runNodeIdSet
.
add
(
nodeId
);
runNodeIdSet
.
add
(
nodeId
);
});
});
while
(!
queue
.
isEmpty
()){
while
(!
queue
.
isEmpty
()){
List
<
Integer
>
innerSubNodeIdList
=
nodeDependencyMapper
.
findSubNodeList
(
queue
.
poll
());
List
<
Integer
>
innerSubNodeIdList
=
node
Version
DependencyMapper
.
findSubNodeList
(
queue
.
poll
());
if
(
innerSubNodeIdList
!=
null
&&
innerSubNodeIdList
.
size
()
>
0
){
if
(
innerSubNodeIdList
!=
null
&&
innerSubNodeIdList
.
size
()
>
0
){
innerSubNodeIdList
.
forEach
(
nodeId
->{
innerSubNodeIdList
.
forEach
(
nodeId
->{
queue
.
offer
(
nodeId
);
queue
.
offer
(
nodeId
);
...
@@ -667,7 +667,7 @@ public class ApiFlowServiceImpl implements ApiFlowService {
...
@@ -667,7 +667,7 @@ public class ApiFlowServiceImpl implements ApiFlowService {
waitingTask
.
setRunParam
(
jobTaskRunLog
.
getRunParams
());
waitingTask
.
setRunParam
(
jobTaskRunLog
.
getRunParams
());
//查询当前节点的依赖节点
//查询当前节点的依赖节点
List
<
Integer
>
dependNodeIdList
=
nodeDependencyMapper
.
findDependIdByNodeId
(
jobTaskRunLog
.
getNodeId
());
List
<
Integer
>
dependNodeIdList
=
node
Version
DependencyMapper
.
findDependIdByNodeId
(
jobTaskRunLog
.
getNodeId
());
if
(
dependNodeIdList
!=
null
&&
dependNodeIdList
.
size
()
>
0
){
if
(
dependNodeIdList
!=
null
&&
dependNodeIdList
.
size
()
>
0
){
List
<
Integer
>
realDependNodeIdList
=
new
ArrayList
<>();
List
<
Integer
>
realDependNodeIdList
=
new
ArrayList
<>();
for
(
Integer
dependNodeId
:
dependNodeIdList
)
{
for
(
Integer
dependNodeId
:
dependNodeIdList
)
{
...
@@ -681,7 +681,7 @@ public class ApiFlowServiceImpl implements ApiFlowService {
...
@@ -681,7 +681,7 @@ public class ApiFlowServiceImpl implements ApiFlowService {
waitingTaskList
.
add
(
waitingTask
);
waitingTaskList
.
add
(
waitingTask
);
}
}
//查询依赖于当前节点的下级节点
//查询依赖于当前节点的下级节点
List
<
Integer
>
childNodeIdList
=
nodeDependencyMapper
.
findSubNodeList
(
childNodeId
);
List
<
Integer
>
childNodeIdList
=
node
Version
DependencyMapper
.
findSubNodeList
(
childNodeId
);
if
(
childNodeIdList
!=
null
&&
childNodeIdList
.
size
()
>
0
){
if
(
childNodeIdList
!=
null
&&
childNodeIdList
.
size
()
>
0
){
addDependNode
(
runId
,
triggerTime
,
waitingTaskList
,
childNodeIdList
,
userName
,
nodeIdSet
,
runNodeIdSet
);
addDependNode
(
runId
,
triggerTime
,
waitingTaskList
,
childNodeIdList
,
userName
,
nodeIdSet
,
runNodeIdSet
);
}
}
...
...
byit-myth-core/myth-admin-core/src/main/java/com/byit/mapper/JobTaskRunLogMapper.java
View file @
3494022d
...
@@ -156,4 +156,13 @@ public interface JobTaskRunLogMapper {
...
@@ -156,4 +156,13 @@ public interface JobTaskRunLogMapper {
JobTaskRunLog
findNewJavaTaskByJobName
(
Integer
javaTaskId
);
JobTaskRunLog
findNewJavaTaskByJobName
(
Integer
javaTaskId
);
int
updateByFlowIdAndRunId
(
@Param
(
"flowId"
)
Integer
flowId
,
@Param
(
"runId"
)
String
runId
);
int
updateByFlowIdAndRunId
(
@Param
(
"flowId"
)
Integer
flowId
,
@Param
(
"runId"
)
String
runId
);
/**
* 根据runid和flowid,节点名称查询运行历史
* @param runId
* @param flowId
* @param nodeName
* @return
*/
JobTaskRunLog
findByRunIdAndFlowIdAndNodeName
(
@Param
(
"runId"
)
String
runId
,
@Param
(
"flowId"
)
Integer
flowId
,
@Param
(
"nodeName"
)
String
nodeName
);
}
}
\ No newline at end of file
byit-myth-core/myth-admin-core/src/main/java/com/byit/mapper/NodeVersionDependencyMapper.java
View file @
3494022d
...
@@ -3,10 +3,16 @@ package com.byit.mapper;
...
@@ -3,10 +3,16 @@ package com.byit.mapper;
import
com.byit.model.NodeVersionDependencyKey
;
import
com.byit.model.NodeVersionDependencyKey
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
public
interface
NodeVersionDependencyMapper
{
public
interface
NodeVersionDependencyMapper
{
int
deleteById
(
NodeVersionDependencyKey
key
);
int
deleteById
(
NodeVersionDependencyKey
key
);
int
insert
(
@Param
(
"nodeVersionId"
)
Integer
nodeVersionId
,
@Param
(
"dependencyId"
)
Integer
dependencyId
);
int
insert
(
@Param
(
"nodeVersionId"
)
Integer
nodeVersionId
,
@Param
(
"dependencyId"
)
Integer
dependencyId
);
int
insertSelective
(
NodeVersionDependencyKey
record
);
int
insertSelective
(
NodeVersionDependencyKey
record
);
List
<
Integer
>
findSubNodeList
(
Integer
nodeId
);
List
<
Integer
>
findDependIdByNodeId
(
Integer
nodeId
);
}
}
\ No newline at end of file
byit-myth-core/myth-admin-core/src/main/resources/mapper/JobTaskRunLogMapper.xml
View file @
3494022d
...
@@ -233,7 +233,14 @@
...
@@ -233,7 +233,14 @@
)
)
</select>
</select>
<delete
id=
"deleteById"
parameterType=
"java.lang.Integer"
>
<select
id=
"findByRunIdAndFlowIdAndNodeName"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from job_task_run_log
where run_id = #{runId} and flow_id = #{flowId}
and node_name = #{nodeName}
</select>
<delete
id=
"deleteById"
parameterType=
"java.lang.Integer"
>
delete from job_task_run_log
delete from job_task_run_log
where log_id = #{logId,jdbcType=INTEGER}
where log_id = #{logId,jdbcType=INTEGER}
</delete>
</delete>
...
...
byit-myth-core/myth-admin-core/src/main/resources/mapper/NodeVersionDependencyMapper.xml
View file @
3494022d
...
@@ -12,6 +12,16 @@
...
@@ -12,6 +12,16 @@
where node_version_id = #{nodeVersionId,jdbcType=INTEGER}
where node_version_id = #{nodeVersionId,jdbcType=INTEGER}
and dependency_id = #{dependencyId,jdbcType=INTEGER}
and dependency_id = #{dependencyId,jdbcType=INTEGER}
</delete>
</delete>
<select
id=
"findSubNodeList"
resultType=
"java.lang.Integer"
>
select node_version_id
from node_version_dependency
where dependency_id = #{nodeId,jdbcType=INTEGER}
</select>
<select
id=
"findDependIdByNodeId"
resultType=
"java.lang.Integer"
>
select dependency_id
from node_version_dependency
where node_version_id = #{nodeId,jdbcType=INTEGER}
</select>
<insert
id=
"insert"
>
<insert
id=
"insert"
>
<!-- generated @mbg.generated date: 2020-01-03 -->
<!-- generated @mbg.generated date: 2020-01-03 -->
insert into node_version_dependency (node_version_id, dependency_id)
insert into node_version_dependency (node_version_id, dependency_id)
...
...
Write
Preview
Markdown
is supported
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