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
b941669e
Commit
b941669e
authored
Apr 14, 2020
by
guominglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
任务的增删改查
parent
4551b885
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
163 additions
and
19 deletions
+163
-19
ApiNodeController.java
...h-admin/src/main/java/com/byit/api/ApiNodeController.java
+24
-0
ApiNodeService.java
...-admin/src/main/java/com/byit/service/ApiNodeService.java
+36
-0
ApiFlowServiceImpl.java
...c/main/java/com/byit/service/impl/ApiFlowServiceImpl.java
+0
-7
ApiNodeServiceImpl.java
...c/main/java/com/byit/service/impl/ApiNodeServiceImpl.java
+56
-12
JavaTaskMapper.java
...in-core/src/main/java/com/byit/mapper/JavaTaskMapper.java
+5
-0
JavaTaskMapper.xml
...h-admin-core/src/main/resources/mapper/JavaTaskMapper.xml
+42
-0
No files found.
byit-myth-admin/src/main/java/com/byit/api/ApiNodeController.java
View file @
b941669e
...
...
@@ -41,4 +41,28 @@ public class ApiNodeController {
return
"SUCCESS"
;
}
@PostMapping
(
"addJavaTask"
)
public
String
addJavaTask
(
String
param
)
throws
Exception
{
apiNodeService
.
addJavaTask
(
param
);
return
"SUCCESS"
;
}
@PostMapping
(
"updateJavaTask"
)
public
String
updateJavaTask
(
String
param
)
throws
Exception
{
apiNodeService
.
updateJavaTask
(
param
);
return
"SUCCESS"
;
}
@PostMapping
(
"deleteJavaTask"
)
public
String
deleteJavaTask
(
String
jobName
){
apiNodeService
.
deleteJavaTask
(
jobName
);
return
"SUCCESS"
;
}
@PostMapping
(
"existJavaTask"
)
public
Boolean
existJavaTask
(
String
jobName
){
Boolean
result
=
apiNodeService
.
existJavaTask
(
jobName
);
return
result
;
}
}
byit-myth-admin/src/main/java/com/byit/service/ApiNodeService.java
View file @
b941669e
...
...
@@ -31,4 +31,40 @@ public interface ApiNodeService {
* @return void
*/
void
autoAddJavaTask
(
String
param
)
throws
Exception
;
/**
* 功能描述 发布任务接口
* @author gml
* @date 2020-04-14 11:27
* @param param
* @return void
*/
void
addJavaTask
(
String
param
)
throws
Exception
;
/**
* 功能描述 更新任务配置信息
* @author gml
* @date 2020-04-14 11:28
* @param param
* @return void
*/
void
updateJavaTask
(
String
param
)
throws
Exception
;
/**
* 功能描述 删除任务
* @author gml
* @date 2020-04-14 11:28
* @param jobName
* @return void
*/
void
deleteJavaTask
(
String
jobName
);
/**
* 功能描述 是否存在任务
* @author gml
* @date 2020-04-14 11:54
* @param jobName
* @return java.lang.Boolean
*/
Boolean
existJavaTask
(
String
jobName
);
}
byit-myth-admin/src/main/java/com/byit/service/impl/ApiFlowServiceImpl.java
View file @
b941669e
...
...
@@ -1000,13 +1000,6 @@ public class ApiFlowServiceImpl implements ApiFlowService {
}
public
static
void
main
(
String
[]
args
)
throws
InterruptedException
{
Long
triggerTime
=
System
.
currentTimeMillis
();
for
(
int
i
=
0
;
i
<
10
;
i
++
){
Thread
.
sleep
(
100
);
System
.
out
.
println
(
triggerTime
);
}
}
private
Map
<
String
,
List
<
WaitingTask
>>
buildTask
(
List
<
Node
>
nodeList
,
List
<
String
>
nodeNameList
,
List
<
String
>
repairTimeList
,
Long
triggerTime
,
String
flowName
){
Map
<
String
,
List
<
WaitingTask
>>
result
=
new
HashMap
<>();
...
...
byit-myth-admin/src/main/java/com/byit/service/impl/ApiNodeServiceImpl.java
View file @
b941669e
...
...
@@ -108,20 +108,10 @@ public class ApiNodeServiceImpl implements ApiNodeService {
@Override
public
void
autoAddJavaTask
(
String
param
)
throws
Exception
{
ValidationUtil
.
dataNotBank
(
param
,
"请求参数不允许为空!"
);
JavaTask
javaTask
=
JSON
.
parseObject
(
param
,
JavaTask
.
class
);
ValidationUtil
.
dataNotBank
(
javaTask
.
getTaskName
(),
"任务实现类的名称不允许为空!"
);
ValidationUtil
.
dataNotBank
(
javaTask
.
getCron
(),
"任务的调度时间不允许为空!"
);
ValidationUtil
.
isTrueValidation
(!
CronExpression
.
isValidExpression
(
javaTask
.
getCron
()),
"工作流cron表达式不符合规范!"
);
JavaTask
javaTask
=
validate
(
param
);
//自动发布taskName默认为jobName
javaTask
.
setJobName
(
javaTask
.
getTaskName
());
//如果不为空且不为-1
if
(
null
!=
javaTask
.
getRepeatCount
()
&&
-
1
!=
javaTask
.
getRepeatCount
()){
javaTask
.
setRemainingCount
(
javaTask
.
getRemainingCount
());
}
if
(
null
!=
javaTask
.
getAlarmlAction
()
&&
"0"
.
equals
(
javaTask
.
getRepeatCount
())){
ValidationUtil
.
dataNotBank
(
javaTask
.
getAlarmEmail
(),
"设置为告警时告警邮箱不允许为空"
);
}
JavaTask
oldJavaTask
=
javaTaskMapper
.
findByJobName
(
javaTask
.
getJobName
());
if
(
null
!=
oldJavaTask
){
//更新配置项
...
...
@@ -139,4 +129,58 @@ public class ApiNodeServiceImpl implements ApiNodeService {
javaTaskMapper
.
insertSelective
(
javaTask
);
}
}
@Override
public
void
addJavaTask
(
String
param
)
throws
Exception
{
JavaTask
javaTask
=
validate
(
param
);
ValidationUtil
.
dataNotBank
(
javaTask
.
getJobName
(),
"jobName不允许为空"
);
JavaTask
oldJavaTask
=
javaTaskMapper
.
findByJobName
(
javaTask
.
getJobName
());
ValidationUtil
.
isTrueValidation
(
null
!=
oldJavaTask
,
javaTask
.
getJobName
()
+
"的任务已存在!"
);
javaTask
.
setCreateTime
(
new
Date
());
javaTaskMapper
.
insertSelective
(
javaTask
);
}
@Override
public
void
updateJavaTask
(
String
param
)
throws
Exception
{
JavaTask
javaTask
=
validate
(
param
);
ValidationUtil
.
dataNotBank
(
javaTask
.
getJobName
(),
"jobName不允许为空"
);
JavaTask
oldJavaTask
=
javaTaskMapper
.
findByJobName
(
javaTask
.
getJobName
());
ValidationUtil
.
dataNotNull
(
oldJavaTask
,
javaTask
.
getJobName
()
+
"的任务不存在!"
);
javaTask
.
setUpdateTime
(
new
Date
());
javaTaskMapper
.
updateByJobName
(
javaTask
);
}
@Override
public
void
deleteJavaTask
(
String
jobName
)
{
ValidationUtil
.
dataNotBank
(
jobName
,
"jobName不允许为空!"
);
JavaTask
javaTask
=
javaTaskMapper
.
findByJobName
(
jobName
);
ValidationUtil
.
dataNotNull
(
javaTask
,
"没有此任务实例!"
);
javaTaskMapper
.
deleteByJobName
(
jobName
);
}
@Override
public
Boolean
existJavaTask
(
String
jobName
)
{
JavaTask
javaTask
=
javaTaskMapper
.
findByJobName
(
jobName
);
if
(
null
==
javaTask
){
return
false
;
}
return
true
;
}
private
JavaTask
validate
(
String
param
)
throws
Exception
{
ValidationUtil
.
dataNotBank
(
param
,
"请求参数不允许为空!"
);
JavaTask
javaTask
=
JSON
.
parseObject
(
param
,
JavaTask
.
class
);
ValidationUtil
.
dataNotBank
(
javaTask
.
getTaskName
(),
"任务实现类的名称不允许为空!"
);
ValidationUtil
.
dataNotBank
(
javaTask
.
getCron
(),
"任务的调度时间不允许为空!"
);
ValidationUtil
.
isTrueValidation
(!
CronExpression
.
isValidExpression
(
javaTask
.
getCron
()),
"工作流cron表达式不符合规范!"
);
javaTask
.
setTriggerTime
(
new
CronExpression
(
javaTask
.
getCron
()).
getNextValidTimeAfter
(
new
Date
()).
getTime
());
//如果不为空且不为-1
if
(
null
!=
javaTask
.
getRepeatCount
()
&&
-
1
!=
javaTask
.
getRepeatCount
()){
javaTask
.
setRemainingCount
(
javaTask
.
getRemainingCount
());
}
if
(
null
!=
javaTask
.
getAlarmlAction
()
&&
"0"
.
equals
(
javaTask
.
getRepeatCount
())){
ValidationUtil
.
dataNotBank
(
javaTask
.
getAlarmEmail
(),
"设置为告警时告警邮箱不允许为空"
);
}
return
javaTask
;
}
}
byit-myth-core/myth-admin-core/src/main/java/com/byit/mapper/JavaTaskMapper.java
View file @
b941669e
...
...
@@ -12,4 +12,8 @@ public interface JavaTaskMapper {
int
updateByIdSelective
(
JavaTask
record
);
JavaTask
findByJobName
(
String
jobName
);
int
deleteByJobName
(
String
jobName
);
int
updateByJobName
(
JavaTask
javaTask
);
}
\ No newline at end of file
byit-myth-core/myth-admin-core/src/main/resources/mapper/JavaTaskMapper.xml
View file @
b941669e
...
...
@@ -33,6 +33,10 @@
delete from java_task
where id = #{id,jdbcType=INTEGER}
</delete>
<delete
id=
"deleteByJobName"
>
delete from java_task
where job_name = #{jobName,jdbcType=VARCHAR}
</delete>
<insert
id=
"insertSelective"
parameterType=
"com.byit.dto.plugin.JavaTask"
>
<!-- generated @mbg.generated date: 2020-04-14 -->
insert into java_task
...
...
@@ -153,6 +157,44 @@
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update
id=
"updateByJobName"
parameterType=
"com.byit.dto.plugin.JavaTask"
>
<!-- generated @mbg.generated date: 2020-04-14 -->
update java_task
<set>
<if
test=
"taskName != null"
>
task_name = #{taskName,jdbcType=VARCHAR},
</if>
<if
test=
"repeatCount != null"
>
repeat_count = #{repeatCount,jdbcType=INTEGER},
</if>
<if
test=
"param != null"
>
param = #{param,jdbcType=VARCHAR},
</if>
<if
test=
"triggerTime != null"
>
trigger_time = #{triggerTime,jdbcType=BIGINT},
</if>
<if
test=
"cron != null"
>
cron = #{cron,jdbcType=VARCHAR},
</if>
<if
test=
"remainingCount != null"
>
remaining_count = #{remainingCount,jdbcType=INTEGER},
</if>
<if
test=
"createTime != null"
>
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if
test=
"updateTime != null"
>
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
<if
test=
"alarmlAction != null"
>
alarml_action = #{alarmlAction,jdbcType=CHAR},
</if>
<if
test=
"alarmEmail != null"
>
alarm_email = #{alarmEmail,jdbcType=VARCHAR},
</if>
</set>
where job_name = #{jobName,jdbcType=VARCHAR},
</update>
<select
id=
"findByJobName"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
...
...
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