Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
ibztask
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
ibiz4jteam
ibztask
提交
841200e7
提交
841200e7
编写于
6月 17, 2020
作者:
sq3536
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
jobs 实现
上级
006d14b4
变更
6
显示空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
231 行增加
和
3 行删除
+231
-3
JobsInfoServiceEx.java
...cn/ibizlab/core/extensions.service/JobsInfoServiceEx.java
+9
-0
JobsInfo.java
...e/src/main/java/cn/ibizlab/core/task/domain/JobsInfo.java
+8
-0
JobsLock.java
...e/src/main/java/cn/ibizlab/core/task/domain/JobsLock.java
+7
-1
JobsLog.java
...re/src/main/java/cn/ibizlab/core/task/domain/JobsLog.java
+7
-1
JobsRegistry.java
...c/main/java/cn/ibizlab/core/task/domain/JobsRegistry.java
+7
-1
JobsServiceImpl.java
...va/cn/ibizlab/core/task/service/impl/JobsServiceImpl.java
+193
-0
未找到文件。
ibztask-core/src/main/java/cn/ibizlab/core/extensions.service/JobsInfoServiceEx.java
浏览文件 @
841200e7
...
...
@@ -3,6 +3,8 @@ package cn.ibizlab.core.extensions.service;
import
cn.ibizlab.core.task.service.impl.JobsInfoServiceImpl
;
import
cn.ibizlab.util.errors.BadRequestAlertException
;
import
com.baomidou.jobs.service.JobsHelper
;
import
com.baomidou.jobs.trigger.JobsTrigger
;
import
com.baomidou.jobs.trigger.TriggerTypeEnum
;
import
com.baomidou.mybatisplus.extension.api.Assert
;
import
lombok.extern.slf4j.Slf4j
;
import
cn.ibizlab.core.task.domain.JobsInfo
;
...
...
@@ -33,6 +35,13 @@ public class JobsInfoServiceEx extends JobsInfoServiceImpl {
@Override
@Transactional
public
JobsInfo
execute
(
JobsInfo
et
)
{
if
(
et
.
getId
()==
null
)
throw
new
BadRequestAlertException
(
"未找到任务"
,
"JobsInfo"
,
""
);
JobsInfo
dbJobInfo
=
getById
(
et
.
getId
());
if
(
null
==
dbJobInfo
)
{
throw
new
BadRequestAlertException
(
"未找到任务"
,
"JobsInfo"
,
""
);
}
JobsTrigger
.
trigger
(
et
.
getId
().
longValue
(),
TriggerTypeEnum
.
MANUAL
,
-
1
,
dbJobInfo
.
getParam
());
return
super
.
execute
(
et
);
}
...
...
ibztask-core/src/main/java/cn/ibizlab/core/task/domain/JobsInfo.java
浏览文件 @
841200e7
...
...
@@ -9,6 +9,7 @@ import java.util.HashMap;
import
java.math.BigDecimal
;
import
java.text.SimpleDateFormat
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.baomidou.mybatisplus.core.toolkit.IdWorker
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
...
...
@@ -267,6 +268,13 @@ public class JobsInfo extends EntityMP implements Serializable {
this
.
modify
(
"create_time"
,
createTime
);
}
public
BigInteger
getId
()
{
if
(
id
==
null
)
id
=
BigInteger
.
valueOf
(
IdWorker
.
getId
());
return
id
;
}
}
...
...
ibztask-core/src/main/java/cn/ibizlab/core/task/domain/JobsLock.java
浏览文件 @
841200e7
...
...
@@ -9,6 +9,7 @@ import java.util.HashMap;
import
java.math.BigDecimal
;
import
java.text.SimpleDateFormat
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.baomidou.mybatisplus.core.toolkit.IdWorker
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
...
...
@@ -96,7 +97,12 @@ public class JobsLock extends EntityMP implements Serializable {
this
.
modify
(
"create_time"
,
createTime
);
}
public
BigInteger
getId
()
{
if
(
id
==
null
)
id
=
BigInteger
.
valueOf
(
IdWorker
.
getId
());
return
id
;
}
}
ibztask-core/src/main/java/cn/ibizlab/core/task/domain/JobsLog.java
浏览文件 @
841200e7
...
...
@@ -9,6 +9,7 @@ import java.util.HashMap;
import
java.math.BigDecimal
;
import
java.text.SimpleDateFormat
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.baomidou.mybatisplus.core.toolkit.IdWorker
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
...
...
@@ -191,7 +192,12 @@ public class JobsLog extends EntityMP implements Serializable {
this
.
modify
(
"create_time"
,
createTime
);
}
public
BigInteger
getId
()
{
if
(
id
==
null
)
id
=
BigInteger
.
valueOf
(
IdWorker
.
getId
());
return
id
;
}
}
ibztask-core/src/main/java/cn/ibizlab/core/task/domain/JobsRegistry.java
浏览文件 @
841200e7
...
...
@@ -9,6 +9,7 @@ import java.util.HashMap;
import
java.math.BigDecimal
;
import
java.text.SimpleDateFormat
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.baomidou.mybatisplus.core.toolkit.IdWorker
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
...
...
@@ -111,7 +112,12 @@ public class JobsRegistry extends EntityMP implements Serializable {
this
.
modify
(
"update_time"
,
updateTime
);
}
public
BigInteger
getId
()
{
if
(
id
==
null
)
id
=
BigInteger
.
valueOf
(
IdWorker
.
getId
());
return
id
;
}
}
ibztask-core/src/main/java/cn/ibizlab/core/task/service/impl/JobsServiceImpl.java
0 → 100644
浏览文件 @
841200e7
package
cn
.
ibizlab
.
core
.
task
.
service
.
impl
;
import
cn.ibizlab.core.task.domain.JobsLock
;
import
cn.ibizlab.core.task.domain.JobsRegistry
;
import
cn.ibizlab.core.task.service.IJobsInfoService
;
import
cn.ibizlab.core.task.service.IJobsLockService
;
import
cn.ibizlab.core.task.service.IJobsLogService
;
import
cn.ibizlab.core.task.service.IJobsRegistryService
;
import
cn.ibizlab.util.helper.CachedBeanCopier
;
import
com.baomidou.jobs.JobsClock
;
import
com.baomidou.jobs.model.JobsInfo
;
import
com.baomidou.jobs.model.JobsLog
;
import
com.baomidou.jobs.model.param.RegistryParam
;
import
com.baomidou.jobs.service.IJobsService
;
import
com.baomidou.mybatisplus.core.toolkit.CollectionUtils
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.math.BigInteger
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* Jobs Admin Impl
*
* @author jobob
* @since 2019-07-12
*/
@Slf4j
@Service
public
class
JobsServiceImpl
implements
IJobsService
{
@Autowired
private
IJobsRegistryService
jobsRegistryService
;
@Autowired
private
IJobsLockService
jobsLockService
;
@Autowired
private
IJobsInfoService
jobsInfoService
;
@Autowired
public
IJobsLogService
jobsLogService
;
@Override
public
boolean
registry
(
RegistryParam
registryParam
)
{
JobsRegistry
jobsRegistry
=
jobsRegistryService
.
getOne
(
Wrappers
.<
JobsRegistry
>
lambdaQuery
().
eq
(
JobsRegistry:
:
getApp
,
registryParam
.
getApp
())
.
eq
(
JobsRegistry:
:
getAddress
,
registryParam
.
getAddress
()),
false
);
if
(
jobsRegistry
==
null
)
jobsRegistry
=
new
JobsRegistry
();
jobsRegistry
.
setApp
(
registryParam
.
getApp
());
jobsRegistry
.
setAddress
(
registryParam
.
getAddress
());
jobsRegistry
.
setStatus
(
registryParam
.
getRegisterStatusEnum
().
getValue
());
return
jobsRegistryService
.
save
(
jobsRegistry
);
}
@Override
public
List
<
JobsInfo
>
getJobsInfoList
(
long
nextTime
)
{
List
<
cn
.
ibizlab
.
core
.
task
.
domain
.
JobsInfo
>
list
=
jobsInfoService
.
list
(
Wrappers
.<
cn
.
ibizlab
.
core
.
task
.
domain
.
JobsInfo
>
lambdaQuery
()
.
eq
(
cn
.
ibizlab
.
core
.
task
.
domain
.
JobsInfo
::
getStatus
,
0
)
.
le
(
cn
.
ibizlab
.
core
.
task
.
domain
.
JobsInfo
::
getNextTime
,
BigInteger
.
valueOf
(
nextTime
)));
List
<
JobsInfo
>
ret
=
new
ArrayList
<>();
list
.
forEach
(
obj
->
ret
.
add
(
change
(
obj
)));
return
ret
;
}
@Override
public
JobsInfo
getJobsInfoById
(
Long
id
)
{
return
change
(
jobsInfoService
.
getById
(
id
));
}
@Override
public
boolean
updateJobsInfoById
(
JobsInfo
jobsInfo
)
{
return
jobsInfoService
.
updateById
(
change
(
jobsInfo
));
}
@Override
public
boolean
tryLock
(
String
name
,
String
owner
)
{
JobsLock
lock
=
new
JobsLock
();
lock
.
setName
(
name
);
lock
.
setOwner
(
owner
);
lock
.
setCreateTime
(
BigInteger
.
valueOf
(
JobsClock
.
currentTimeMillis
()));
return
jobsLockService
.
getBaseMapper
().
insert
(
lock
)>
0
;
}
@Override
public
boolean
unlock
(
String
name
,
String
owner
)
{
return
jobsLockService
.
remove
(
Wrappers
.<
JobsLock
>
lambdaQuery
().
eq
(
JobsLock:
:
getName
,
name
)
.
eq
(
null
!=
owner
,
JobsLock:
:
getOwner
,
owner
));
}
@Override
public
int
removeTimeOutApp
(
int
timeout
)
{
JobsRegistry
jobsRegistry
=
new
JobsRegistry
();
jobsRegistry
.
setStatus
(
1
);
if
(
jobsRegistryService
.
update
(
jobsRegistry
,
Wrappers
.<
JobsRegistry
>
lambdaQuery
()
.
eq
(
JobsRegistry:
:
getStatus
,
0
).
le
(
JobsRegistry:
:
getUpdateTime
,
BigInteger
.
valueOf
(
JobsClock
.
currentTimeMillis
()
-
timeout
))))
return
1
;
return
0
;
}
@Override
public
boolean
removeApp
(
RegistryParam
registryParam
)
{
JobsRegistry
jobsRegistry
=
jobsRegistryService
.
getOne
(
Wrappers
.<
JobsRegistry
>
lambdaQuery
().
eq
(
JobsRegistry:
:
getApp
,
registryParam
.
getApp
())
.
eq
(
JobsRegistry:
:
getAddress
,
registryParam
.
getAddress
()),
false
);
if
(
jobsRegistry
==
null
)
jobsRegistry
=
new
JobsRegistry
();
jobsRegistry
.
setApp
(
registryParam
.
getApp
());
jobsRegistry
.
setAddress
(
registryParam
.
getAddress
());
jobsRegistry
.
setStatus
(
registryParam
.
getRegisterStatusEnum
().
getValue
());
return
jobsRegistryService
.
getBaseMapper
().
updateById
(
jobsRegistry
)>
0
;
}
@Override
public
List
<
String
>
getAppAddressList
(
String
app
)
{
List
<
JobsRegistry
>
jobsRegistryList
=
jobsRegistryService
.
list
(
Wrappers
.<
JobsRegistry
>
lambdaQuery
()
.
eq
(
JobsRegistry:
:
getApp
,
app
).
eq
(
JobsRegistry:
:
getStatus
,
0
));
return
CollectionUtils
.
isEmpty
(
jobsRegistryList
)
?
null
:
jobsRegistryList
.
stream
()
.
map
(
j
->
j
.
getAddress
()).
collect
(
Collectors
.
toList
());
}
@Override
public
boolean
saveOrUpdateLogById
(
JobsLog
jobsLog
)
{
if
(
null
==
jobsLog
)
{
return
false
;
}
if
(
jobsLog
.
getId
()==
null
)
return
jobsLogService
.
getBaseMapper
().
insert
(
change
(
jobsLog
))>
0
;
else
return
jobsLogService
.
getBaseMapper
().
updateById
(
change
(
jobsLog
))>
0
;
}
private
JobsInfo
change
(
cn
.
ibizlab
.
core
.
task
.
domain
.
JobsInfo
et
)
{
if
(
et
==
null
)
return
null
;
JobsInfo
jobsInfo
=
new
JobsInfo
();
CachedBeanCopier
.
copy
(
et
,
jobsInfo
);
if
(
et
.
getId
()!=
null
)
jobsInfo
.
setId
(
et
.
getId
().
longValue
());
if
(
et
.
getLastTime
()!=
null
)
jobsInfo
.
setLastTime
(
et
.
getLastTime
().
longValue
());
if
(
et
.
getNextTime
()!=
null
)
jobsInfo
.
setNextTime
(
et
.
getNextTime
().
longValue
());
if
(
et
.
getCreateTime
()!=
null
)
jobsInfo
.
setCreateTime
(
et
.
getCreateTime
().
longValue
());
if
(
et
.
getUpdateTime
()!=
null
)
jobsInfo
.
setUpdateTime
(
et
.
getUpdateTime
().
longValue
());
return
jobsInfo
;
}
private
cn
.
ibizlab
.
core
.
task
.
domain
.
JobsInfo
change
(
JobsInfo
et
)
{
if
(
et
==
null
)
return
null
;
cn
.
ibizlab
.
core
.
task
.
domain
.
JobsInfo
jobsInfo
=
new
cn
.
ibizlab
.
core
.
task
.
domain
.
JobsInfo
();
CachedBeanCopier
.
copy
(
et
,
jobsInfo
);
if
(
et
.
getId
()!=
null
)
jobsInfo
.
setId
(
BigInteger
.
valueOf
(
et
.
getId
()));
if
(
et
.
getLastTime
()!=
null
)
jobsInfo
.
setLastTime
(
BigInteger
.
valueOf
(
et
.
getLastTime
()));
if
(
et
.
getNextTime
()!=
null
)
jobsInfo
.
setNextTime
(
BigInteger
.
valueOf
(
et
.
getNextTime
()));
if
(
et
.
getCreateTime
()!=
null
)
jobsInfo
.
setCreateTime
(
BigInteger
.
valueOf
(
et
.
getCreateTime
()));
if
(
et
.
getUpdateTime
()!=
null
)
jobsInfo
.
setUpdateTime
(
BigInteger
.
valueOf
(
et
.
getUpdateTime
()));
return
jobsInfo
;
}
private
cn
.
ibizlab
.
core
.
task
.
domain
.
JobsLog
change
(
JobsLog
et
)
{
if
(
et
==
null
)
return
null
;
cn
.
ibizlab
.
core
.
task
.
domain
.
JobsLog
jobsLog
=
new
cn
.
ibizlab
.
core
.
task
.
domain
.
JobsLog
();
CachedBeanCopier
.
copy
(
et
,
jobsLog
);
if
(
et
.
getId
()!=
null
)
jobsLog
.
setId
(
BigInteger
.
valueOf
(
et
.
getId
()));
if
(
et
.
getCreateTime
()!=
null
)
jobsLog
.
setCreateTime
(
BigInteger
.
valueOf
(
et
.
getCreateTime
()));
if
(
et
.
getJobId
()!=
null
)
jobsLog
.
setJobId
(
BigInteger
.
valueOf
(
et
.
getJobId
()));
return
jobsLog
;
}
}
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录