Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
datamanage
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
shenjinzhu
datamanage
Commits
63fcf6fa
Commit
63fcf6fa
authored
May 11, 2018
by
admin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
预警部分的数据修改
parent
8943d8e5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
175 additions
and
109 deletions
+175
-109
src/main/java/com/zhiwei/manage/dao/NewsDao.java
+1
-1
src/main/java/com/zhiwei/manage/dao/NewsDaoImpl.java
+27
-27
src/main/java/com/zhiwei/manage/handle/Task.java
+81
-64
src/main/java/com/zhiwei/manage/service/NewsServiceImpl.java
+3
-2
src/main/java/com/zhiwei/manage/util/ESUtil.java
+63
-15
No files found.
src/main/java/com/zhiwei/manage/dao/NewsDao.java
View file @
63fcf6fa
...
@@ -21,5 +21,5 @@ public interface NewsDao {
...
@@ -21,5 +21,5 @@ public interface NewsDao {
public
List
<
EasyNews
>
finAllNews
(
Date
start
,
Date
end
);
public
List
<
EasyNews
>
finAllNews
(
Date
start
,
Date
end
);
public
List
<
Map
<
String
,
Object
>>
findNews
(
String
host
,
int
port
,
String
dbNamel
,
String
collection
,
int
count
,
String
id
,
String
pt
);
//
public List<Map<String,Object>> findNews(String host,int port,String dbNamel,String collection,int count,String id,String pt);
}
}
src/main/java/com/zhiwei/manage/dao/NewsDaoImpl.java
View file @
63fcf6fa
...
@@ -116,32 +116,32 @@ public class NewsDaoImpl implements NewsDao {
...
@@ -116,32 +116,32 @@ public class NewsDaoImpl implements NewsDao {
/**
/**
* 获取新闻检测
* 获取新闻检测
*/
*/
@SuppressWarnings
(
"unchecked"
)
//
@SuppressWarnings("unchecked")
@Override
//
@Override
public
List
<
Map
<
String
,
Object
>>
findNews
(
String
host
,
int
port
,
String
dbNamel
,
String
collection
,
int
count
,
//
public List<Map<String, Object>> findNews(String host, int port, String dbNamel, String collection, int count,
String
id
,
String
pt
)
{
//
String id, String pt) {
Calendar
cal
=
Calendar
.
getInstance
();
//
Calendar cal = Calendar.getInstance();
cal
.
add
(
Calendar
.
DATE
,
-
1
);
//
cal.add(Calendar.DATE, -1);
int
month
=
cal
.
get
(
Calendar
.
MONTH
)
+
1
;
//
int month = cal.get(Calendar.MONTH) + 1;
String
end
=
cal
.
get
(
Calendar
.
YEAR
)
+
""
+
(
month
>
9
?
month
:
"0"
+
month
);
//
String end = cal.get(Calendar.YEAR) + "" + (month > 9 ? month : "0" + month);
List
<
Map
<
String
,
Object
>>
list
=
new
ArrayList
<
Map
<
String
,
Object
>>();
//
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
DBCollection
con
=
mongo
.
getCollection
(
collection
+
end
);
//
DBCollection con = mongo.getCollection(collection + end);
if
(
id
!=
null
&&
!
id
.
equals
(
""
))
{
//
if (id != null && !id.equals("")) {
DBCursor
cur
=
con
.
find
(
new
BasicDBObject
(
"spyderInfoId"
,
id
)).
sort
(
new
BasicDBObject
(
"rsid"
,
-
1
))
//
DBCursor cur = con.find(new BasicDBObject("spyderInfoId", id)).sort(new BasicDBObject("rsid", -1))
.
limit
(
count
);
//
.limit(count);
while
(
cur
.
hasNext
())
{
//
while (cur.hasNext()) {
Map
<
String
,
Object
>
map
=
(
Map
<
String
,
Object
>)
cur
.
next
();
//
Map<String, Object> map = (Map<String, Object>) cur.next();
list
.
add
(
map
);
//
list.add(map);
}
//
}
}
else
{
//
} else {
DBCursor
cur
=
con
.
find
().
sort
(
new
BasicDBObject
(
"rsid"
,
-
1
))
//
DBCursor cur = con.find().sort(new BasicDBObject("rsid", -1))
.
limit
(
count
);
//
.limit(count);
while
(
cur
.
hasNext
())
{
//
while (cur.hasNext()) {
Map
<
String
,
Object
>
map
=
(
Map
<
String
,
Object
>)
cur
.
next
();
//
Map<String, Object> map = (Map<String, Object>) cur.next();
list
.
add
(
map
);
//
list.add(map);
}
//
}
}
//
}
return
list
;
//
return list;
}
//
}
}
}
src/main/java/com/zhiwei/manage/handle/Task.java
View file @
63fcf6fa
...
@@ -2,12 +2,17 @@ package com.zhiwei.manage.handle;
...
@@ -2,12 +2,17 @@ package com.zhiwei.manage.handle;
import
java.net.HttpURLConnection
;
import
java.net.HttpURLConnection
;
import
java.net.URL
;
import
java.net.URL
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.Collections
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
com.zhiwei.manage.bean.FieldIntegerity
;
import
com.zhiwei.manage.bean.FieldIntegerity
;
import
com.zhiwei.manage.bean.Message
;
import
com.zhiwei.manage.bean.Message
;
import
com.zhiwei.manage.bean.NewsDelayed
;
import
com.zhiwei.manage.bean.NewsDelayed
;
...
@@ -16,12 +21,18 @@ import com.zhiwei.manage.bean.Template;
...
@@ -16,12 +21,18 @@ import com.zhiwei.manage.bean.Template;
import
com.zhiwei.manage.orm.BeanFactory
;
import
com.zhiwei.manage.orm.BeanFactory
;
import
com.zhiwei.manage.service.MessageService
;
import
com.zhiwei.manage.service.MessageService
;
import
com.zhiwei.manage.service.NewsService
;
import
com.zhiwei.manage.service.NewsService
;
/**
* 任务执行
* @author admin
*
*/
public
class
Task
implements
Runnable
{
public
class
Task
implements
Runnable
{
private
NewsDelayed
delayed
;
private
NewsDelayed
delayed
;
private
PingUrl
ping
;
private
PingUrl
ping
;
private
FieldIntegerity
field
;
private
FieldIntegerity
field
;
final
static
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd'T'HH:mm:ss.SSS Z"
);
private
final
static
Log
log
=
LogFactory
.
getLog
(
Task
.
class
);
public
Task
(
Object
runMsg
)
{
public
Task
(
Object
runMsg
)
{
if
(
runMsg
instanceof
NewsDelayed
)
{
if
(
runMsg
instanceof
NewsDelayed
)
{
...
@@ -35,6 +46,7 @@ public class Task implements Runnable {
...
@@ -35,6 +46,7 @@ public class Task implements Runnable {
@Override
@Override
public
void
run
()
{
public
void
run
()
{
System
.
out
.
println
(
"预警部分启动"
);
MessageService
messageService
=
BeanFactory
.
getBean
(
MessageService
.
class
);
MessageService
messageService
=
BeanFactory
.
getBean
(
MessageService
.
class
);
NewsService
newsService
=
BeanFactory
.
getBean
(
NewsService
.
class
);
NewsService
newsService
=
BeanFactory
.
getBean
(
NewsService
.
class
);
// 连通性测试
// 连通性测试
...
@@ -124,68 +136,68 @@ public class Task implements Runnable {
...
@@ -124,68 +136,68 @@ public class Task implements Runnable {
}
}
}
}
}
}
if
(
field
!=
null
)
{
// if (field != null) {//字段缺失率,采集部分已经对缺失字段做了处理,没什么必要检测了
if
(
MainThread
.
mainMap
.
get
(
field
.
getTemplateId
())
!=
null
)
{
//
if (MainThread.mainMap.get(field.getTemplateId()) != null) {
List
<
Map
<
String
,
Object
>>
list
=
newsService
.
findNews
(
field
.
getHost
(),
field
.
getPort
(),
//
List<Map<String, Object>> list = newsService.findNews(field.getHost(), field.getPort(),
field
.
getdBName
(),
field
.
getCollection
(),
field
.
getTestCount
(),
field
.
getSpyderInfoId
(),
//
field.getdBName(), field.getCollection(), field.getTestCount(), field.getSpyderInfoId(),
field
.
getPt
());
//
field.getPt());
if
(
list
.
size
()
==
0
)
{
//
if (list.size() ==0) {
Template
tp
=
MainThread
.
mainMap
.
get
(
field
.
getTemplateId
());
//
Template tp = MainThread.mainMap.get(field.getTemplateId());
Message
msg
=
new
Message
();
//
Message msg = new Message();
msg
.
setCreateDate
(
new
Date
());
//
msg.setCreateDate(new Date());
msg
.
setErrorMsg
(
"字段检测发现库内的数据为0"
);
//
msg.setErrorMsg("字段检测发现库内的数据为0");
msg
.
setHandle
(
false
);
//
msg.setHandle(false);
msg
.
setPt
(
field
.
getPt
());
//
msg.setPt(field.getPt());
msg
.
setTemplateCreator
(
tp
.
getCreator
());
//
msg.setTemplateCreator(tp.getCreator());
msg
.
setTemplateLv
(
tp
.
getTemplateLv
());
//
msg.setTemplateLv(tp.getTemplateLv());
msg
.
setErrorType
(
"count2"
);
//
msg.setErrorType("count2");
msg
.
setTempName
(
field
.
getTempName
());
//
msg.setTempName(field.getTempName());
messageService
.
update
(
msg
,
field
.
getPt
());
//
messageService.update(msg,field.getPt());
}
else
{
//
} else {
Message
msg
=
messageService
.
findMsg
(
field
.
getTempName
(),
"count2"
);
//
Message msg = messageService.findMsg(field.getTempName(), "count2");
if
(
msg
!=
null
)
{
//
if (msg != null) {
List
<
String
>
ids
=
new
ArrayList
<>();
//
List<String> ids = new ArrayList<>();
ids
.
add
(
msg
.
getMessageId
());
//
ids.add(msg.getMessageId());
messageService
.
delete
(
ids
,
field
.
getPt
());
//
messageService.delete(ids, field.getPt());
}
//
}
}
//
}
String
[]
fields
=
field
.
getField
().
split
(
","
);
//
String[] fields = field.getField().split(",");
int
count
=
list
.
size
();
//
int count = list.size();
for
(
String
fid
:
fields
)
{
//
for (String fid : fields) {
String
str
=
""
;
//
String str = "";
int
num
=
count
;
//
int num = count;
for
(
Map
<
String
,
Object
>
map
:
list
)
{
//
for (Map<String, Object> map : list) {
if
(
map
.
get
(
fid
)
==
null
)
{
//
if (map.get(fid) == null) {
num
--;
//
num--;
str
=
String
.
valueOf
(
map
.
get
(
"_id"
));
//
str = String.valueOf(map.get("_id"));
}
else
if
(
String
.
valueOf
(
map
.
get
(
fid
)).
length
()
<
1
)
{
//
} else if (String.valueOf(map.get(fid)).length() < 1) {
num
--;
//
num--;
str
=
String
.
valueOf
(
map
.
get
(
"_id"
));
//
str = String.valueOf(map.get("_id"));
}
//
}
}
//
}
if
(
num
/
1.0
/
count
<
field
.
getFieldIntegrityRate
()
/
100.0
)
{
//
if (num / 1.0 / count < field.getFieldIntegrityRate() / 100.0) {
Template
tp
=
MainThread
.
mainMap
.
get
(
field
.
getTemplateId
());
//
Template tp = MainThread.mainMap.get(field.getTemplateId());
Message
msg
=
new
Message
();
//
Message msg = new Message();
msg
.
setCreateDate
(
new
Date
());
//
msg.setCreateDate(new Date());
msg
.
setErrorMsg
(
fid
+
"字段存在缺失,完整率"
+
num
/
1.0
/
count
+
"其中一条:"
+
str
);
//
msg.setErrorMsg(fid + "字段存在缺失,完整率" + num / 1.0 / count + "其中一条:" + str);
msg
.
setHandle
(
false
);
//
msg.setHandle(false);
msg
.
setPt
(
field
.
getPt
());
//
msg.setPt(field.getPt());
msg
.
setErrorType
(
"field"
);
//
msg.setErrorType("field");
msg
.
setTemplateCreator
(
tp
.
getCreator
());
//
msg.setTemplateCreator(tp.getCreator());
msg
.
setTemplateLv
(
tp
.
getTemplateLv
());
//
msg.setTemplateLv(tp.getTemplateLv());
msg
.
setTempName
(
field
.
getTempName
());
//
msg.setTempName(field.getTempName());
messageService
.
update
(
msg
,
field
.
getPt
());
//
messageService.update(msg,field.getPt());
}
else
{
//
} else {
Message
msg
=
messageService
.
findMsg
(
field
.
getTempName
(),
"field"
);
//
Message msg = messageService.findMsg(field.getTempName(), "field");
if
(
msg
!=
null
)
{
//
if (msg != null) {
List
<
String
>
ids
=
new
ArrayList
<>();
//
List<String> ids = new ArrayList<>();
ids
.
add
(
msg
.
getMessageId
());
//
ids.add(msg.getMessageId());
messageService
.
delete
(
ids
,
field
.
getPt
());
//
messageService.delete(ids, field.getPt());
}
//
}
}
//
}
}
//
}
}
//
}
}
//
}
if
(
delayed
!=
null
)
{
if
(
delayed
!=
null
)
{
if
(
MainThread
.
mainMap
.
get
(
delayed
.
getTemplateId
())
!=
null
)
{
if
(
MainThread
.
mainMap
.
get
(
delayed
.
getTemplateId
())
!=
null
)
{
List
<
Map
<
String
,
Object
>>
list
=
newsService
.
findNews
(
delayed
.
getHost
(),
delayed
.
getPort
(),
List
<
Map
<
String
,
Object
>>
list
=
newsService
.
findNews
(
delayed
.
getHost
(),
delayed
.
getPort
(),
...
@@ -207,7 +219,12 @@ public class Task implements Runnable {
...
@@ -207,7 +219,12 @@ public class Task implements Runnable {
Date
time
=
null
;
Date
time
=
null
;
Date
savetime
=
null
;
Date
savetime
=
null
;
if
(
map
.
get
(
delayed
.
getTime
())
!=
null
)
{
if
(
map
.
get
(
delayed
.
getTime
())
!=
null
)
{
time
=
(
Date
)
map
.
get
(
delayed
.
getTime
());
try
{
String
date
=
String
.
valueOf
(
map
.
get
(
delayed
.
getTime
())).
replace
(
"Z"
,
" UTC"
);
time
=
sdf
.
parse
(
String
.
valueOf
(
date
));
}
catch
(
ParseException
e
)
{
log
.
error
(
"时间转换出错【{}】"
,
e
);
}
}
}
if
(
map
.
get
(
delayed
.
getSavetime
())
!=
null
)
{
if
(
map
.
get
(
delayed
.
getSavetime
())
!=
null
)
{
Date
d
=
new
Date
((
Long
)
map
.
get
(
delayed
.
getSavetime
()));
Date
d
=
new
Date
((
Long
)
map
.
get
(
delayed
.
getSavetime
()));
...
...
src/main/java/com/zhiwei/manage/service/NewsServiceImpl.java
View file @
63fcf6fa
...
@@ -10,12 +10,13 @@ import org.springframework.stereotype.Service;
...
@@ -10,12 +10,13 @@ import org.springframework.stereotype.Service;
import
com.zhiwei.manage.bean.EasyNews
;
import
com.zhiwei.manage.bean.EasyNews
;
import
com.zhiwei.manage.bean.News
;
import
com.zhiwei.manage.bean.News
;
import
com.zhiwei.manage.dao.NewsDao
;
import
com.zhiwei.manage.dao.NewsDao
;
import
com.zhiwei.manage.util.ESUtil
;
@Service
@Service
public
class
NewsServiceImpl
implements
NewsService
{
public
class
NewsServiceImpl
implements
NewsService
{
@Autowired
@Autowired
private
NewsDao
newsDao
;
private
NewsDao
newsDao
;
private
ESUtil
es
=
new
ESUtil
();
@Override
@Override
public
List
<
News
>
findByNew
(
int
delayedCount
,
String
type
,
String
source
)
{
public
List
<
News
>
findByNew
(
int
delayedCount
,
String
type
,
String
source
)
{
...
@@ -51,7 +52,7 @@ public class NewsServiceImpl implements NewsService{
...
@@ -51,7 +52,7 @@ public class NewsServiceImpl implements NewsService{
@Override
@Override
public
List
<
Map
<
String
,
Object
>>
findNews
(
String
host
,
int
port
,
String
dbNamel
,
String
collection
,
int
count
,
public
List
<
Map
<
String
,
Object
>>
findNews
(
String
host
,
int
port
,
String
dbNamel
,
String
collection
,
int
count
,
String
id
,
String
pt
)
{
String
id
,
String
pt
)
{
return
newsDao
.
findNews
(
host
,
port
,
dbNamel
,
collection
,
count
,
id
,
pt
);
return
es
.
getDatasMap
(
host
,
port
,
dbNamel
,
collection
,
count
,
id
,
pt
);
}
}
...
...
src/main/java/com/zhiwei/manage/util/ESUtil.java
View file @
63fcf6fa
...
@@ -18,9 +18,12 @@ import org.elasticsearch.index.query.QueryBuilder;
...
@@ -18,9 +18,12 @@ import org.elasticsearch.index.query.QueryBuilder;
import
org.elasticsearch.index.query.QueryBuilders
;
import
org.elasticsearch.index.query.QueryBuilders
;
import
org.elasticsearch.search.SearchHit
;
import
org.elasticsearch.search.SearchHit
;
import
org.elasticsearch.search.SearchHits
;
import
org.elasticsearch.search.SearchHits
;
import
org.elasticsearch.search.sort.SortBuilder
;
import
org.elasticsearch.search.sort.SortOrder
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
com.zhiwei.manage.bean.Data
;
import
com.zhiwei.manage.bean.Data
;
...
@@ -93,22 +96,67 @@ public class ESUtil {
...
@@ -93,22 +96,67 @@ public class ESUtil {
}
}
return
0
;
return
0
;
}
}
public
static
void
main
(
String
[]
args
)
throws
ParseException
{
public
static
void
main
(
String
[]
args
)
throws
ParseException
{
Client
esClient
=
null
;
// Client esClient = null;
Calendar
cal
=
Calendar
.
getInstance
();
// Calendar cal=Calendar.getInstance();
cal
.
add
(
Calendar
.
HOUR_OF_DAY
,
-
24
);
// cal.add(Calendar.HOUR_OF_DAY, -24);
esClient
=
new
ESClient
(
"Media-University"
,
"1.119.44.201"
,
9300
).
getClient
();
// esClient = new ESClient("Media-University","1.119.44.201", 9300).getClient();
SearchRequestBuilder
srb
=
esClient
.
prepareSearch
(
"mediaspider*"
);
// SearchRequestBuilder srb = esClient.prepareSearch("mediaspider*");
BoolQueryBuilder
bb
=
new
BoolQueryBuilder
();
// BoolQueryBuilder bb = new BoolQueryBuilder();
srb
.
setQuery
(
bb
);
// srb.setQuery(bb);
QueryBuilder
matchQuery
=
QueryBuilders
.
matchPhraseQuery
(
"type"
,
"今日头条"
);
// QueryBuilder matchQuery = QueryBuilders.matchPhraseQuery("type", "今日头条");
bb
.
should
(
matchQuery
);
// bb.should(matchQuery);
srb
.
setSize
(
1
);
// srb.setSize(1);
srb
.
setPostFilter
(
QueryBuilders
.
rangeQuery
(
"time"
).
gte
(
getNeedTime
(
cal
)).
lte
(
getNeedTime
(
Calendar
.
getInstance
())));
// srb.setPostFilter(QueryBuilders.rangeQuery("time").gte(getNeedTime(cal)).lte(getNeedTime(Calendar.getInstance())));
SearchResponse
response
=
srb
.
execute
().
actionGet
();
// SearchResponse response = srb.execute().actionGet();
SearchHits
searchHits
=
response
.
getHits
();
// SearchHits searchHits = response.getHits();
System
.
out
.
println
(
searchHits
.
getTotalHits
());
// System.out.println(searchHits.getTotalHits());
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd'T'HH:mm:ss.SSS Z"
);
for
(
Map
<
String
,
Object
>
map:
getDatasMap
(
"1.119.44.201"
,
9300
,
"Media-University"
,
"mediaspider*"
,
20
,
"UrlListDetail74ec93ff-2275-4f22-bb62-bae580f2d43b"
,
"网媒"
))
{
System
.
out
.
println
(
map
.
get
(
"title"
));
String
date
=
map
.
get
(
"time"
).
toString
().
replace
(
"Z"
,
" UTC"
);
// System.out.println(map.get("time"));
System
.
out
.
println
(
sdf
.
parse
(
date
));
System
.
out
.
println
((
long
)
map
.
get
(
"savetime"
));
}
}
/**
* 数据查询。获取数据
*
* @param start
* @param end
* @param pt
* @param type
* @param value
* @param spyderInfoId
* @return
*/
public
static
List
<
Map
<
String
,
Object
>>
getDatasMap
(
String
host
,
int
port
,
String
dbNamel
,
String
collection
,
int
count
,
String
id
,
String
pt
)
{
List
<
Map
<
String
,
Object
>>
list
=
new
ArrayList
<>();
try
{
Client
esClient
=
new
ESClient
(
dbNamel
,
host
,
port
).
getClient
();
// 搜索数据
SearchRequestBuilder
srb
=
esClient
.
prepareSearch
(
collection
);
BoolQueryBuilder
bb
=
new
BoolQueryBuilder
();
srb
.
setQuery
(
bb
);
srb
.
addSort
(
"time"
,
SortOrder
.
DESC
);
QueryBuilder
matchQuery
=
QueryBuilders
.
matchPhraseQuery
(
"spyderInfoId"
,
id
);
bb
.
should
(
matchQuery
);
srb
.
setSize
(
count
);
SearchResponse
response
=
srb
.
execute
().
actionGet
();
SearchHits
searchHits
=
response
.
getHits
();
for
(
SearchHit
result:
searchHits
)
{
Map
<
String
,
Object
>
map
=
result
.
getSource
();
list
.
add
(
map
);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"es检索出错,错误信息【{}】"
,
e
);
}
return
list
;
}
}
public
static
String
getNeedTime
(
Calendar
cal
)
{
public
static
String
getNeedTime
(
Calendar
cal
)
{
...
...
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