Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
K
know-base
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
张京坤
know-base
Commits
72916c47
提交
72916c47
authored
10月 11, 2024
作者:
yanxin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
专题数据同步任务优化
上级
fc1150b4
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
56 行增加
和
16 行删除
+56
-16
KbKnowledges.java
src/main/java/com/zzsn/knowbase/entity/KbKnowledges.java
+10
-0
SubjectDataSyncTask.java
...main/java/com/zzsn/knowbase/task/SubjectDataSyncTask.java
+43
-13
application.yml
src/main/resources/application.yml
+3
-3
没有找到文件。
src/main/java/com/zzsn/knowbase/entity/KbKnowledges.java
浏览文件 @
72916c47
...
...
@@ -66,5 +66,15 @@ public class KbKnowledges extends Model<KbKnowledges> {
*/
@TableField
(
"sort"
)
private
Integer
sort
;
/**
* 数据同步开始时间
*/
@TableField
(
exist
=
false
)
private
String
syncStart
;
/**
* 数据同步结束时间
*/
@TableField
(
exist
=
false
)
private
String
syncEnd
;
}
src/main/java/com/zzsn/knowbase/task/SubjectDataSyncTask.java
浏览文件 @
72916c47
...
...
@@ -48,16 +48,31 @@ public class SubjectDataSyncTask {
private
ProduceInfo
produceInfo
;
@Scheduled
(
cron
=
"0 */10 * * * ?"
)
@GetMapping
(
"startTask"
)
public
void
startTask
()
{
List
<
KbKnowledges
>
confList
=
kbKnowledgesService
.
syncSubjectConf
();
for
(
KbKnowledges
kbKnowledges
:
confList
)
{
sync
(
kbKnowledges
);
}
manualRunTask
(
null
,
null
,
null
);
}
@GetMapping
(
"syncById"
)
public
void
syncById
(
String
id
)
{
sync
(
kbKnowledgesService
.
getById
(
id
));
/**
* 任务开始执行
* @param syncStart 更新时间-开始
* @param syncEnd 更新时间-结束
* @param knowId 知识库id
*/
@GetMapping
(
"manualRunTask"
)
public
void
manualRunTask
(
String
syncStart
,
String
syncEnd
,
String
knowId
)
{
if
(
StringUtils
.
isNotEmpty
(
knowId
)){
KbKnowledges
byId
=
kbKnowledgesService
.
getById
(
knowId
);
byId
.
setSyncStart
(
syncStart
);
byId
.
setSyncEnd
(
syncEnd
);
sync
(
byId
);
}
else
{
List
<
KbKnowledges
>
confList
=
kbKnowledgesService
.
syncSubjectConf
();
for
(
KbKnowledges
kbKnowledges
:
confList
)
{
kbKnowledges
.
setSyncStart
(
syncStart
);
kbKnowledges
.
setSyncEnd
(
syncEnd
);
sync
(
kbKnowledges
);
}
}
}
public
void
sync
(
KbKnowledges
kbKnowledges
)
{
//按审核状态分组
...
...
@@ -199,8 +214,15 @@ public class SubjectDataSyncTask {
//查询待同步数据id
BoolQueryBuilder
boolQuery
=
QueryBuilders
.
boolQuery
();
boolQuery
.
must
(
QueryBuilders
.
termsQuery
(
"subjectId"
,
kbKnowledges
.
getSubjectId
().
split
(
","
)));
//只查询更新时间在最近一周的数据
boolQuery
.
filter
(
QueryBuilders
.
rangeQuery
(
"updateDate"
).
gte
(
DateUtil
.
getStringDate
(
new
Date
(
System
.
currentTimeMillis
()
-
7
*
24
*
60
*
60
*
1000L
))));
if
(
StringUtils
.
isNotEmpty
(
kbKnowledges
.
getSyncStart
())){
boolQuery
.
filter
(
QueryBuilders
.
rangeQuery
(
"updateDate"
).
gte
(
kbKnowledges
.
getSyncStart
()));
}
else
{
//只查询更新时间在最近一周的数据
boolQuery
.
filter
(
QueryBuilders
.
rangeQuery
(
"updateDate"
).
gte
(
DateUtil
.
getStringDate
(
new
Date
(
System
.
currentTimeMillis
()
-
7
*
24
*
60
*
60
*
1000L
))));
}
if
(
StringUtils
.
isNotEmpty
(
kbKnowledges
.
getSyncEnd
())){
boolQuery
.
filter
(
QueryBuilders
.
rangeQuery
(
"updateDate"
).
lte
(
kbKnowledges
.
getSyncEnd
()));
}
SearchSourceBuilder
searchSourceBuilder
=
new
SearchSourceBuilder
();
//更新时间倒序
searchSourceBuilder
.
sort
(
"updateDate"
,
SortOrder
.
DESC
);
...
...
@@ -209,7 +231,7 @@ public class SubjectDataSyncTask {
//查询指定字段
searchSourceBuilder
.
fetchSource
(
new
String
[]{
"id"
,
"deleteFlag"
,
"checkStatus"
,
"publishStatus"
,
"updateDate"
},
null
);
Map
<
String
,
Object
>
map
=
esOpUtil
.
searchByQuery
(
Constants
.
ES_SUBJECT_DATA
,
0
,
10000
,
searchSourceBuilder
);
0
,
10000
0
,
searchSourceBuilder
);
List
<
Map
<
String
,
Object
>>
list
=
(
List
<
Map
<
String
,
Object
>>)
map
.
get
(
"data"
);
if
(
list
!=
null
&&
!
list
.
isEmpty
())
{
//分组提取id列表
...
...
@@ -230,7 +252,15 @@ public class SubjectDataSyncTask {
BoolQueryBuilder
boolQuery
=
QueryBuilders
.
boolQuery
();
boolQuery
.
must
(
QueryBuilders
.
termsQuery
(
"subjectId"
,
kbKnowledges
.
getSubjectId
().
split
(
","
)));
//只查询更新时间在最近一周的数据
boolQuery
.
filter
(
QueryBuilders
.
rangeQuery
(
"updateDate"
).
gte
(
DateUtil
.
getStringDate
(
new
Date
(
System
.
currentTimeMillis
()
-
7
*
24
*
60
*
60
*
1000L
))));
if
(
StringUtils
.
isNotEmpty
(
kbKnowledges
.
getSyncStart
())){
boolQuery
.
filter
(
QueryBuilders
.
rangeQuery
(
"updateDate"
).
gte
(
kbKnowledges
.
getSyncStart
()));
}
else
{
//只查询更新时间在最近一周的数据
boolQuery
.
filter
(
QueryBuilders
.
rangeQuery
(
"updateDate"
).
gte
(
DateUtil
.
getStringDate
(
new
Date
(
System
.
currentTimeMillis
()
-
7
*
24
*
60
*
60
*
1000L
))));
}
if
(
StringUtils
.
isNotEmpty
(
kbKnowledges
.
getSyncEnd
())){
boolQuery
.
filter
(
QueryBuilders
.
rangeQuery
(
"updateDate"
).
lte
(
kbKnowledges
.
getSyncEnd
()));
}
SearchSourceBuilder
searchSourceBuilder
=
new
SearchSourceBuilder
();
//更新时间倒序
searchSourceBuilder
.
sort
(
"updateDate"
,
SortOrder
.
DESC
);
...
...
@@ -239,7 +269,7 @@ public class SubjectDataSyncTask {
//查询指定字段
searchSourceBuilder
.
fetchSource
(
new
String
[]{
"id"
,
"deleteFlag"
,
"verifyStatus"
,
"updateDate"
},
null
);
Map
<
String
,
Object
>
map
=
esOpUtil
.
searchByQuery
(
Constants
.
ES_DATA_FOR_KNOWLEDGE
,
0
,
10000
,
searchSourceBuilder
);
0
,
10000
0
,
searchSourceBuilder
);
List
<
Map
<
String
,
Object
>>
list
=
(
List
<
Map
<
String
,
Object
>>)
map
.
get
(
"data"
);
if
(
list
!=
null
||
!
list
.
isEmpty
())
{
//分组提取id列表
...
...
src/main/resources/application.yml
浏览文件 @
72916c47
...
...
@@ -28,7 +28,7 @@ spring:
zkNodes
:
114.116.36.231:2181
requiredAcks
:
1
redis
:
database
:
0
database
:
9
host
:
114.116.90.53
lettuce
:
pool
:
...
...
@@ -37,8 +37,8 @@ spring:
max-wait
:
-1ms
#最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。
min-idle
:
0
#最小等待连接中的数量,设 0 为没有限制
shutdown-timeout
:
100ms
port
:
63
80
password
:
clbzzsn
port
:
63
79
password
:
zzsn9988
thymeleaf
:
prefix
:
classpath:/templates
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论