Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
F
fp-acq-wz
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Matrix
fp-acq-wz
Commits
cab48713
提交
cab48713
authored
7月 30, 2020
作者:
Matrix
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修复BUG后的单导版本
上级
4ecd2240
流水线
#208
已失败 于阶段
变更
8
流水线
1
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
30 行增加
和
29 行删除
+30
-29
ImportAds.java
.../src/main/java/com/zjty/fp/acq/misc/entity/ImportAds.java
+2
-1
FileCreator.java
...src/main/java/com/zjty/fp/acq/misc/utils/FileCreator.java
+1
-1
PsspInitialRunner.java
...va/com/zjty/fp/acq/pssp/base/beans/PsspInitialRunner.java
+4
-4
AlertServiceImpl.java
...ty/fp/acq/pssp/subject/service/impl/AlertServiceImpl.java
+5
-5
WebsiteServiceImpl.java
.../fp/acq/pssp/subject/service/impl/WebsiteServiceImpl.java
+8
-8
CollectDataTask.java
.../main/java/com/zjty/fp/acq/pssp/task/CollectDataTask.java
+3
-4
DicMapUtil.java
.../src/main/java/com/zjty/fp/acq/pssp/utils/DicMapUtil.java
+6
-5
SqlInterceptor.java
...ain/java/com/zjty/fp/acq/union/config/SqlInterceptor.java
+1
-1
没有找到文件。
acq-misc/src/main/java/com/zjty/fp/acq/misc/entity/ImportAds.java
浏览文件 @
cab48713
...
...
@@ -8,5 +8,6 @@ package com.zjty.fp.acq.misc.entity;
*/
public
class
ImportAds
{
public
static
final
String
IMPORT_URL
=
"/Users/matrix/code/test/"
;
//实际的地址 "/home/fp/data/" 本地的地址"/Users/matrix/code/test/"
public
static
final
String
IMPORT_URL
=
"/home/fp/data/"
;
}
acq-misc/src/main/java/com/zjty/fp/acq/misc/utils/FileCreator.java
浏览文件 @
cab48713
...
...
@@ -238,7 +238,7 @@ public class FileCreator {
if
(
count
<=
0
)
count
=
0
;
String
psspFileName
=
subName
+
"-"
+
catalog
+
count
+
".txt"
;
log
.
info
(
"[pssp]成功生成文件名:{}"
,
psspFileName
);
log
.
info
(
"[pssp]
成功生成文件名:{}"
,
psspFileName
);
return
psspFileName
;
}
...
...
acq-pssp/src/main/java/com/zjty/fp/acq/pssp/base/beans/PsspInitialRunner.java
浏览文件 @
cab48713
...
...
@@ -65,7 +65,7 @@ public class PsspInitialRunner {
private
void
createCountFile
(
String
countFileName
,
String
CountAddress
,
String
dirPath
,
boolean
countExists
)
{
int
countVar
;
if
(
countExists
)
{
log
.
info
(
"[pssp]磁盘已存在 {} 文件,跳过初始化流程,将磁盘的 {} 读取入内存中"
,
countFileName
,
countFileName
);
log
.
info
(
"[pssp]
磁盘已存在 {} 文件,跳过初始化流程,将磁盘的 {} 读取入内存中"
,
countFileName
,
countFileName
);
//读取文件获得文件编号后缀值
Path
path
=
Paths
.
get
(
CountAddress
);
List
<
String
>
data
=
Lists
.
newArrayList
();
...
...
@@ -91,12 +91,12 @@ public class PsspInitialRunner {
if
(
countMake
)
{
try
{
Files
.
write
(
Paths
.
get
(
CountAddress
),
String
.
valueOf
(
countVar
).
getBytes
());
log
.
info
(
"[pssp]磁盘 {} 值更新成功:count = {}"
,
countFileName
,
countVar
);
log
.
info
(
"[pssp]
磁盘 {} 值更新成功:count = {}"
,
countFileName
,
countVar
);
}
catch
(
IOException
e
)
{
log
.
info
(
"[pssp]生成文件时出现异常:"
+
e
);
log
.
info
(
"[pssp]
生成文件时出现异常:"
+
e
);
}
}
log
.
info
(
"[pssp]初始化 {} 文件完毕!"
,
countFileName
);
log
.
info
(
"[pssp]
初始化 {} 文件完毕!"
,
countFileName
);
if
(
CountAddress
.
equals
(
COUNT_ADDRESS_ALERT
))
{
alert_count
=
countVar
;
...
...
acq-pssp/src/main/java/com/zjty/fp/acq/pssp/subject/service/impl/AlertServiceImpl.java
浏览文件 @
cab48713
...
...
@@ -68,7 +68,7 @@ public class AlertServiceImpl implements AlertService {
String
key
=
dynamicNow
.
getYear
()
+
"-"
+
dynamicNow
.
getMonthValue
();
Integer
lastedDataId
=
DicMapUtil
.
readDictFile
(
alertName
).
getOrDefault
(
key
,
0
);
log
.
info
(
"[pssp] 执行更新数据任务,本地数据库 {} 月最新数据的id为 {} ,向源数据库采集在这id之后的数据...."
,
key
,
lastedDataId
);
log
.
info
(
"[pssp]
[alert]
执行更新数据任务,本地数据库 {} 月最新数据的id为 {} ,向源数据库采集在这id之后的数据...."
,
key
,
lastedDataId
);
log
.
debug
(
"[pssp] [id_check],supposeId = {},actuallyId = {}"
,
supposeId
,
lastedDataId
);
List
<
Alert
>
updatedData
=
remoteAlertRepo
.
findDataFromId
(
Long
.
valueOf
(
lastedDataId
)).
stream
()
...
...
@@ -76,9 +76,9 @@ public class AlertServiceImpl implements AlertService {
.
collect
(
toList
());
if
(
CollectionUtils
.
isEmpty
(
updatedData
))
{
log
.
info
(
"[pssp] 本次更新采集没有要更新的数据"
);
log
.
info
(
"[pssp]
[alert]
本次更新采集没有要更新的数据"
);
}
else
{
log
.
info
(
"[pssp] 采集完成,本次采集了 {} 条数据,数据写入本机数据库与Es数据库"
,
updatedData
.
size
());
log
.
info
(
"[pssp]
[alert]
采集完成,本次采集了 {} 条数据,数据写入本机数据库与Es数据库"
,
updatedData
.
size
());
supposeId
=
updatedData
.
stream
()
.
map
(
Alert:
:
getId
)
...
...
@@ -89,11 +89,11 @@ public class AlertServiceImpl implements AlertService {
fileCreator
.
createFileAndZip
(
COUNT_ADDRESS_ALERT
,
"pssp"
,
alertName
,
webJson
);
//2.记住最大ID值
long
maxId
=
updatedData
.
stream
().
mapToLong
(
Alert:
:
getId
).
max
().
orElse
(
0L
);
log
.
info
(
"[pssp]更新后的最大报警数据id为:{},记录到文件中"
,
maxId
);
log
.
info
(
"[pssp]
[alert]
更新后的最大报警数据id为:{},记录到文件中"
,
maxId
);
Map
<
String
,
Integer
>
map
=
new
HashMap
<>();
map
.
put
(
key
,
(
int
)
maxId
);
DicMapUtil
.
createDictFile
(
alertName
,
map
);
log
.
info
(
"[pssp]报警数据更新完成"
);
log
.
info
(
"[pssp]
[alert]
报警数据更新完成"
);
}
}
...
...
acq-pssp/src/main/java/com/zjty/fp/acq/pssp/subject/service/impl/WebsiteServiceImpl.java
浏览文件 @
cab48713
...
...
@@ -59,36 +59,36 @@ public class WebsiteServiceImpl implements WebsiteService {
@Override
public
void
fetchUpdatedData
()
{
log
.
info
(
"[pssp]正在执行网站数据的增量更新"
);
log
.
info
(
"[pssp]
[website]
正在执行网站数据的增量更新"
);
//读取文件中的最新id , 获得当前月的时间
Integer
lastedId
=
DicMapUtil
.
readDictFile
(
websiteName
).
getOrDefault
(
"web"
,
0
);
if
(
lastedId
==
0
)
{
log
.
info
(
"[pssp] 当前文件中没有任何网站,请先执行网站历史采集任务"
);
log
.
info
(
"[pssp]
[website]
当前文件中没有任何网站,请先执行网站历史采集任务"
);
return
;
}
Long
lastedDataId
=
Long
.
valueOf
(
lastedId
);
log
.
info
(
"[pssp]当前本机网站表数据的最新id为 {} ,向源数据库采集在这id之后的数据...."
,
lastedDataId
);
log
.
info
(
"[pssp]
[website]
当前本机网站表数据的最新id为 {} ,向源数据库采集在这id之后的数据...."
,
lastedDataId
);
List
<
Website
>
updatedData
=
remoteWebsiteRepository
.
findDataFromId
(
lastedDataId
).
stream
()
.
map
(
RemoteWebsite:
:
toDo
)
.
collect
(
toList
());
if
(
CollectionUtils
.
isEmpty
(
updatedData
))
{
log
.
info
(
"[pssp] 本次网站更新采集没有要更新的数据"
);
log
.
info
(
"[pssp]
[website]
本次网站更新采集没有要更新的数据"
);
}
else
{
log
.
info
(
"[pssp] 网站数据采集完成,本次采集了 {}条数据,数据写入本机数据库"
,
updatedData
.
size
());
log
.
info
(
"[pssp]
[website]
网站数据采集完成,本次采集了 {}条数据,数据写入本机数据库"
,
updatedData
.
size
());
// 异步写入数据库
CompletableFuture
.
runAsync
(()
->
{
log
.
info
(
"[pssp]正在异步写入网站更新数据到本地文件"
);
log
.
info
(
"[pssp]
[website]
正在异步写入网站更新数据到本地文件"
);
String
webJson
=
JacksonUtil
.
toJSon
(
updatedData
).
replace
(
"\n"
,
""
);
fileCreator
.
createFileAndZip
(
COUNT_ADDRESS_WEBSITE
,
"pssp"
,
"website"
,
webJson
);
//写完要把最新的id给记录住
long
maxId
=
updatedData
.
stream
().
mapToLong
(
Website:
:
getId
).
max
().
orElse
(
0L
);
log
.
info
(
"[pssp]更新后的最大网站数据id为:{},记录到文件中"
,
maxId
);
log
.
info
(
"[pssp]
[website]
更新后的最大网站数据id为:{},记录到文件中"
,
maxId
);
Map
<
String
,
Integer
>
map
=
new
HashMap
<>();
map
.
put
(
"web"
,
(
int
)
maxId
);
DicMapUtil
.
createDictFile
(
websiteName
,
map
);
log
.
info
(
"[pssp]异步网站更新数据写入完成"
);
log
.
info
(
"[pssp]
[website]
异步网站更新数据写入完成"
);
});
}
...
...
acq-pssp/src/main/java/com/zjty/fp/acq/pssp/task/CollectDataTask.java
浏览文件 @
cab48713
...
...
@@ -78,7 +78,7 @@ public class CollectDataTask {
* 抓取更新的网站的数据,当前为1h/次
*/
@EnablePsspSchProtect
@Scheduled
(
cron
=
"
0 0/1 *
* * ?"
)
@Scheduled
(
cron
=
"
17 11 0/1
* * ?"
)
public
void
collectWebsiteData
()
{
log
.
info
(
"[pssp] [定时任务]抓取更新的网站数据"
);
websiteService
.
fetchUpdatedData
();
...
...
@@ -95,10 +95,10 @@ public class CollectDataTask {
}
/**
* 抓取更新的报警数据,当前为
1
min/次
* 抓取更新的报警数据,当前为
3
min/次
*/
@EnablePsspSchProtect
@Scheduled
(
cron
=
"3
0 0/1
* * * ?"
)
@Scheduled
(
cron
=
"3
3 0/3
* * * ?"
)
public
void
collectAlertData
()
{
log
.
info
(
"[pssp] [定时任务] 抓取更新的报警数据"
);
alertService
.
fetchUpdatedData
();
...
...
@@ -108,7 +108,6 @@ public class CollectDataTask {
* 用于检查计划任务开关的任务,如果开关连续5次检查失败,则手动打开
* 该任务每30分钟执行一次
*/
@EnablePsspSchProtect
@Scheduled
(
cron
=
"0 0/30 * * * ?"
)
public
void
checkTrigger
()
{
log
.
info
(
"[pssp] 开关检查任务,当前trigger为 {}"
,
trigger
);
...
...
acq-pssp/src/main/java/com/zjty/fp/acq/pssp/utils/DicMapUtil.java
浏览文件 @
cab48713
...
...
@@ -32,21 +32,21 @@ public class DicMapUtil {
//每次写入前先删除文件从而达到更新的效果
try
{
log
.
info
(
"[pssp]正在删除原始dict文件:{}"
,
pathname
+
filename
);
log
.
info
(
"[pssp]
正在删除原始dict文件:{}"
,
pathname
+
filename
);
Files
.
deleteIfExists
(
path
);
log
.
info
(
"[pssp]删除成功,删除文件名为:{}"
,
pathname
+
filename
);
log
.
info
(
"[pssp]
删除成功,删除文件名为:{}"
,
pathname
+
filename
);
}
catch
(
IOException
e
)
{
log
.
warn
(
"[pssp]删除文件时发生异常,信息为:{}"
,
e
.
toString
());
log
.
warn
(
"[pssp]
删除文件时发生异常,信息为:{}"
,
e
.
toString
());
}
boolean
make
=
createFilePath
(
new
File
(
pathname
));
List
<
String
>
stringList
=
new
ArrayList
<>();
idMap
.
forEach
((
k
,
v
)
->
stringList
.
add
(
k
+
","
+
v
));
log
.
info
(
"[pssp] 正在重新生成dict文件 : {}"
,
path
);
log
.
info
(
"[pssp] 正在重新生成dict文件 : {}"
,
path
);
if
(
make
)
{
try
{
Files
.
write
(
path
,
stringList
);
log
.
info
(
"[pssp] 重新生成 {} 文件成功"
,
path
);
log
.
info
(
"[pssp] 重新生成 {} 文件成功"
,
path
);
}
catch
(
IOException
e
)
{
log
.
info
(
"[pssp]生成文件时出现异常:{}"
,
e
.
toString
());
}
...
...
@@ -72,6 +72,7 @@ public class DicMapUtil {
for
(
String
d
:
data
)
{
String
[]
strings
=
d
.
split
(
","
);
if
(
strings
.
length
!=
2
)
continue
;
map
.
put
(
strings
[
0
],
Integer
.
valueOf
(
strings
[
1
]));
}
return
map
;
...
...
acq-union/src/main/java/com/zjty/fp/acq/union/config/SqlInterceptor.java
浏览文件 @
cab48713
...
...
@@ -26,7 +26,7 @@ public class SqlInterceptor extends EmptyInterceptor {
String
tableMonth
=
CollectDataTask
.
getDynamicTableMonth
();
// replace指定月份 if trigger false 替换当前月
String
realTableName
=
"t_doc_"
+
tableMonth
;
log
.
info
(
"[pssp]正在进行sql拦截 拦截的表为 {},替换后的表名为{}"
,
"remote.alert"
,
realTableName
);
log
.
info
(
"[pssp]
正在进行sql拦截 拦截的表为 {},替换后的表名为{}"
,
"remote.alert"
,
realTableName
);
prepareStatement
=
prepareStatement
.
replaceAll
(
originalTableName
,
realTableName
);
}
return
prepareStatement
;
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论