Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
brandkbs2
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
shenjunjie
brandkbs2
Commits
563923c7
Commit
563923c7
authored
Oct 28, 2022
by
shenjunjie
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature' into 'dev'
Feature See merge request
!67
parents
269a143b
cee7d4fa
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
27 additions
and
17 deletions
+27
-17
src/main/java/com/zhiwei/brandkbs2/dao/impl/EventDaoImpl.java
+1
-1
src/main/java/com/zhiwei/brandkbs2/dao/impl/EventDataDaoImpl.java
+1
-1
src/main/java/com/zhiwei/brandkbs2/service/impl/EventDataServiceImpl.java
+2
-1
src/main/java/com/zhiwei/brandkbs2/service/impl/ProjectWarnServiceImpl.java
+8
-8
src/main/java/com/zhiwei/brandkbs2/util/Tools.java
+15
-6
No files found.
src/main/java/com/zhiwei/brandkbs2/dao/impl/EventDaoImpl.java
View file @
563923c7
...
...
@@ -218,7 +218,7 @@ public class EventDaoImpl extends BaseMongoDaoImpl<Event> implements EventDao {
Calendar
date
=
Calendar
.
getInstance
();
int
year
=
date
.
get
(
Calendar
.
YEAR
);
for
(
int
i
=
0
;
i
<
years
;
i
++)
{
res
.
add
(
COLLECTION_PREFIX
+
(
year
-
i
));
res
.
add
(
COLLECTION_PREFIX
+
"_"
+
(
year
-
i
));
}
return
res
;
}
...
...
src/main/java/com/zhiwei/brandkbs2/dao/impl/EventDataDaoImpl.java
View file @
563923c7
...
...
@@ -22,7 +22,7 @@ import java.util.concurrent.CompletableFuture;
@Component
(
"eventDataDao"
)
public
class
EventDataDaoImpl
extends
BaseMongoDaoImpl
<
EventData
>
implements
EventDataDao
{
protected
static
final
String
COLLECTION_PREFIX
=
"brandkbs_event_data
_
"
;
protected
static
final
String
COLLECTION_PREFIX
=
"brandkbs_event_data"
;
private
static
final
String
TIME_PATTERN
=
"yyyy"
;
public
EventDataDaoImpl
()
{
...
...
src/main/java/com/zhiwei/brandkbs2/service/impl/EventDataServiceImpl.java
View file @
563923c7
...
...
@@ -93,6 +93,7 @@ public class EventDataServiceImpl implements EventDataService {
private
void
updateEventData
(
Event
event
,
List
<
EventData
>
eventDataList
)
{
// 根据配置筛选目标数据
eventDataList
=
filterEventData
(
event
,
eventDataList
);
log
.
info
(
"analysisEvent-eventId:{},关键词筛选后剩余:{}条"
,
event
.
getId
(),
eventDataList
.
size
());
// 删除历史数据
deleteEventRelated
(
event
);
// 数据入库
...
...
@@ -107,7 +108,7 @@ public class EventDataServiceImpl implements EventDataService {
String
keyword
=
event
.
getKeyword
();
for
(
EventData
data
:
eventDataList
)
{
// 关键词筛选
if
(
Tools
.
isContains
(
Arrays
.
asList
(
keyword
.
split
(
keyword
.
contains
(
","
)
?
","
:
"\\|"
))
,
(
data
.
getTitle
()
+
data
.
getContent
())))
{
if
(
Tools
.
isContains
(
keyword
,
(
data
.
getTitle
()
+
data
.
getContent
())))
{
hitList
.
add
(
data
);
}
}
...
...
src/main/java/com/zhiwei/brandkbs2/service/impl/ProjectWarnServiceImpl.java
View file @
563923c7
...
...
@@ -38,7 +38,7 @@ public class ProjectWarnServiceImpl implements ProjectWarnService {
warnCriteriaAdd
(
res
,
"contends"
,
nameList
,
idList
);
warnCriteriaAdd
(
res
,
"keyword"
,
null
);
warnCriteriaAdd
(
res
,
"duplicate"
,
Arrays
.
asList
(
"去重"
,
"不去重"
),
Arrays
.
asList
(
true
,
false
));
warnCriteriaAdd
(
res
,
"pushInterval"
,
Arrays
.
asList
(
"10"
,
"30min"
,
"60min"
),
Arrays
.
asList
(
10
*
ONE_MINUTE
,
30
*
ONE_MINUTE
,
60
*
ONE_MINUTE
));
warnCriteriaAdd
(
res
,
"pushInterval"
,
Arrays
.
asList
(
"10
min
"
,
"30min"
,
"60min"
),
Arrays
.
asList
(
10
*
ONE_MINUTE
,
30
*
ONE_MINUTE
,
60
*
ONE_MINUTE
));
break
;
case
"渠道参与"
:
warnCriteriaAdd
(
res
,
"friendlyChannel"
,
Arrays
.
asList
(
"友好渠道"
,
"敏感渠道"
,
"自定义渠道"
),
Arrays
.
asList
(
true
,
false
,
null
));
...
...
@@ -54,31 +54,31 @@ public class ProjectWarnServiceImpl implements ProjectWarnService {
warnCriteriaAdd
(
res
,
"primary"
,
Arrays
.
asList
(
"原创"
,
"转发"
),
Arrays
.
asList
(
false
,
true
),
"说明:仅对微博平台数据生效"
);
warnCriteriaAddSimple
(
res
,
"markerTags"
,
Arrays
.
asList
(
"正面"
,
"中性"
,
"负面"
));
warnCriteriaAdd
(
res
,
"duplicate"
,
Arrays
.
asList
(
"去重"
,
"不去重"
),
Arrays
.
asList
(
true
,
false
));
warnCriteriaAdd
(
res
,
"pushInterval"
,
Arrays
.
asList
(
"
实时"
,
"30min"
,
"60min"
,
"180min"
),
Arrays
.
asList
(
null
,
30
*
ONE_MINUTE
,
60
*
ONE_MINUTE
,
18
0
*
ONE_MINUTE
));
warnCriteriaAdd
(
res
,
"pushInterval"
,
Arrays
.
asList
(
"
10min"
,
"30min"
,
"60min"
),
Arrays
.
asList
(
10
*
ONE_MINUTE
,
30
*
ONE_MINUTE
,
6
0
*
ONE_MINUTE
));
break
;
case
"热点事件"
:
warnCriteriaAddSimple
(
res
,
"
wo
nEvent"
,
Arrays
.
asList
(
"正面"
,
"中性"
,
"负面"
));
warnCriteriaAddSimple
(
res
,
"
ow
nEvent"
,
Arrays
.
asList
(
"正面"
,
"中性"
,
"负面"
));
List
<
JSONObject
>
brands2
=
projectService
.
getBrands
(
projectId
,
false
);
List
<
String
>
nameList2
=
brands2
.
stream
().
map
(
json
->
json
.
getString
(
"brandName"
)).
collect
(
Collectors
.
toList
());
List
<
String
>
idList2
=
brands2
.
stream
().
map
(
json
->
json
.
getString
(
"contendId"
)).
collect
(
Collectors
.
toList
());
warnCriteriaAdd
(
res
,
"contendsEvent"
,
nameList2
,
idList2
);
warnCriteriaAddSimple
(
res
,
"zhiWeiEvent"
,
Arrays
.
asList
(
"社会"
,
"互联网"
,
"政务"
,
"财经"
,
"企业"
,
"娱乐"
,
"灾难"
,
"违法犯罪"
,
"国际"
,
"体育"
,
"谣言"
),
"说明:知微事见支持选择事件的领域"
);
warnCriteriaAdd
(
res
,
"eventTop"
,
Arrays
.
asList
(
"TOP5"
,
"TOP10"
),
Arrays
.
asList
(
5
,
10
),
"说明:按影响力选取;若事件数不足,以实际为准"
);
warnCriteriaAdd
(
res
,
"timeCycles"
,
Arrays
.
asList
(
"周一"
,
"周二"
,
"周三"
,
"周四"
,
"周五"
,
"周六"
,
"周日"
),
Arrays
.
asList
(
1
,
2
,
3
,
4
,
5
,
6
,
7
),
"说明:系统推送时间为08
:00"
);
warnCriteriaAdd
(
res
,
"timeCycles"
,
Arrays
.
asList
(
"周一"
,
"周二"
,
"周三"
,
"周四"
,
"周五"
,
"周六"
,
"周日"
),
Arrays
.
asList
(
2
,
3
,
4
,
5
,
6
,
7
,
1
),
"说明:系统推送时间为08"
+
"
:00"
);
break
;
case
"上榜热搜"
:
warnCriteriaAddSimple
(
res
,
"warnKeyword"
,
null
);
warnCriteriaAddSimple
(
res
,
"filterKeyword"
,
null
);
warnCriteriaAddSimple
(
res
,
"listType"
,
Arrays
.
asList
(
"微博热搜"
,
"微博话题"
,
"微博预热"
,
"头条热搜"
,
"抖音热搜"
,
"知乎热搜"
,
"B站热搜"
,
"快手热榜"
));
List
<
Map
<
String
,
Object
>>
top
Lis
t
=
new
ArrayList
<>();
List
<
Map
<
String
,
Object
>>
top
NewHeigh
t
=
new
ArrayList
<>();
for
(
int
i
:
Arrays
.
asList
(
3
,
5
,
10
,
20
,
50
))
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"name"
,
"前"
+
i
);
map
.
put
(
"id"
,
i
);
top
Lis
t
.
add
(
map
);
top
NewHeigh
t
.
add
(
map
);
}
warnCriteriaAddSimple
(
res
,
"warnType"
,
Arrays
.
asList
(
"首次上榜"
,
"排名新高"
,
"掉榜和再次上榜"
,
"导语(仅支持微博平台)"
)
);
res
.
put
(
"topList"
,
topList
);
res
.
put
(
"topNewHeight"
,
topNewHeight
);
warnCriteriaAdd
(
res
,
"warnType"
,
Arrays
.
asList
(
"首次上榜"
,
"排名新高"
,
"掉榜和再次上榜"
,
"导语(仅支持微博平台)"
),
Arrays
.
asList
(
"firstTop"
,
"newHeight"
,
"topOnceAgain"
,
"introduction"
)
);
warnCriteriaAdd
(
res
,
"pushInterval"
,
Collections
.
singletonList
(
"5min"
),
Collections
.
singletonList
(
5
*
ONE_MINUTE
));
break
;
case
"案例上新"
:
...
...
src/main/java/com/zhiwei/brandkbs2/util/Tools.java
View file @
563923c7
...
...
@@ -851,6 +851,10 @@ public class Tools {
return
dayList
;
}
public
static
boolean
isContains
(
String
keyword
,
String
content
)
{
return
isContains
(
Arrays
.
asList
(
keyword
.
split
(
"\\|"
)),
content
);
}
/**
* 是否包含关键字
*
...
...
@@ -859,20 +863,25 @@ public class Tools {
* @return 是否包含关键字
*/
public
static
boolean
isContains
(
List
<
String
>
keywords
,
String
content
)
{
boolean
contains
=
true
;
if
(
null
!=
keywords
)
{
if
(
null
==
keywords
||
keywords
.
isEmpty
())
{
return
false
;
}
content
=
content
.
toLowerCase
();
// 按空格分割必须全部命中
// 有一组命中即可
for
(
String
keyword
:
keywords
)
{
boolean
contains
=
true
;
for
(
String
word
:
keyword
.
split
(
" "
))
{
if
(!
content
.
contains
(
word
.
toLowerCase
()))
{
//一个不命中,直接返回false
return
false
;
//一个不命中,跳转至下一组
contains
=
false
;
break
;
}
}
if
(
contains
)
{
return
true
;
}
}
return
contains
;
return
false
;
}
public
static
JSONObject
getBrandkbsHitMap
(
Map
<
String
,
Object
>
esMap
,
String
hitKey
)
{
...
...
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