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
b1d6693f
Commit
b1d6693f
authored
Apr 29, 2024
by
陈健智
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
舆情分析详情页调整
parent
a7c02f6e
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
53 additions
and
10 deletions
+53
-10
src/main/java/com/zhiwei/brandkbs2/es/EsQueryTools.java
+16
-0
src/main/java/com/zhiwei/brandkbs2/service/impl/MarkDataServiceImpl.java
+37
-10
No files found.
src/main/java/com/zhiwei/brandkbs2/es/EsQueryTools.java
View file @
b1d6693f
...
@@ -211,10 +211,26 @@ public class EsQueryTools {
...
@@ -211,10 +211,26 @@ public class EsQueryTools {
return
channelBoolQueryBuilder
;
return
channelBoolQueryBuilder
;
}
}
/**
* source模糊匹配
* @param sourceKeyword
* @return
*/
public
static
BoolQueryBuilder
assembleSourceQuery
(
String
sourceKeyword
)
{
public
static
BoolQueryBuilder
assembleSourceQuery
(
String
sourceKeyword
)
{
return
assembleFiledKeywordQuery
(
"source"
,
sourceKeyword
);
return
assembleFiledKeywordQuery
(
"source"
,
sourceKeyword
);
}
}
/**
* source精确匹配
* @param sourceKeyword
* @return
*/
public
static
BoolQueryBuilder
assembleSourceKeywordQuery
(
String
sourceKeyword
)
{
BoolQueryBuilder
queryBuilder
=
QueryBuilders
.
boolQuery
();
queryBuilder
.
should
(
QueryBuilders
.
termQuery
(
"source"
,
sourceKeyword
));
return
queryBuilder
;
}
public
static
void
platformMustNot
(
BoolQueryBuilder
boolQueryBuilder
,
String
...
platformNames
)
{
public
static
void
platformMustNot
(
BoolQueryBuilder
boolQueryBuilder
,
String
...
platformNames
)
{
if
(
null
==
platformNames
)
{
if
(
null
==
platformNames
)
{
return
;
return
;
...
...
src/main/java/com/zhiwei/brandkbs2/service/impl/MarkDataServiceImpl.java
View file @
b1d6693f
...
@@ -2815,19 +2815,46 @@ public class MarkDataServiceImpl implements MarkDataService {
...
@@ -2815,19 +2815,46 @@ public class MarkDataServiceImpl implements MarkDataService {
@Override
@Override
public
PageVO
<
MarkFlowEntity
>
getYuqingAnalyzeDetail
(
MarkSearchDTO
dto
)
{
public
PageVO
<
MarkFlowEntity
>
getYuqingAnalyzeDetail
(
MarkSearchDTO
dto
)
{
try
{
//设置默认的时间、页码、排序方式等
//设置默认的时间、页码、排序方式等
defaultMarkSearch
(
dto
);
defaultMarkSearch
(
dto
);
PageVO
<
MarkFlowEntity
>
yuqingMarkList
;
String
[]
indexes
=
esClientDao
.
getIndexes
();
if
(
Objects
.
isNull
(
dto
.
getPlanId
())){
BoolQueryBuilder
postFilter
=
yuqingAnalyzeQuery
(
dto
);
yuqingMarkList
=
getYuqingMarkList
(
dto
);
FieldSortBuilder
sort
=
null
;
}
else
{
if
(
null
!=
dto
.
getSorter
())
{
yuqingMarkList
=
getNonManualMarkList
(
dto
);
for
(
Map
.
Entry
<
String
,
Object
>
entry
:
dto
.
getSorter
().
entrySet
())
{
String
key
=
entry
.
getKey
();
if
(
null
==
entry
.
getValue
()
||
entry
.
getValue
().
toString
().
contains
(
"desc"
))
{
sort
=
SortBuilders
.
fieldSort
(
key
).
order
(
SortOrder
.
DESC
);
}
else
{
sort
=
SortBuilders
.
fieldSort
(
key
).
order
(
SortOrder
.
ASC
);
}
}
}
int
from
=
(
dto
.
getPage
()
-
1
)
*
dto
.
getPageSize
();
int
size
=
dto
.
getPageSize
();
SearchHits
hits
=
esClientDao
.
searchHits
(
indexes
,
postFilter
,
null
,
null
,
sort
,
from
,
size
,
null
);
// 总量
long
total
=
hits
.
getTotalHits
().
value
;
// 消息列表
List
<
MarkFlowEntity
>
flowEntityList
;
if
(
Objects
.
nonNull
(
dto
.
getPlanId
()))
{
flowEntityList
=
getNonManualMarkFlowEntity
(
dto
,
hits
);
}
else
{
flowEntityList
=
getMarkFlowEntity
(
dto
,
hits
);
}
}
JSONObject
jsonObject
=
new
JSONObject
();
// 高亮关键词
jsonObject
.
put
(
"highlightWord"
,
GlobalPojo
.
HIGHLIGHT_MAP
.
get
(
UserThreadLocal
.
getProjectId
()));
// 列表数据最小mgid
// 列表数据最小mgid
MarkFlowEntity
markFlowEntity
=
yuqingMarkList
.
getList
()
.
stream
()
MarkFlowEntity
markFlowEntity
=
flowEntityList
.
stream
()
.
min
(
Comparator
.
comparingLong
(
entity
->
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
entity
.
getData
())).
getLongValue
(
"mgid"
))).
orElse
(
null
);
.
min
(
Comparator
.
comparingLong
(
entity
->
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
entity
.
getData
())).
getLongValue
(
"mgid"
))).
orElse
(
null
);
yuqingMarkList
.
getInfo
().
put
(
"pageGid"
,
Objects
.
isNull
(
markFlowEntity
)
?
Long
.
MAX_VALUE
:
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
markFlowEntity
.
getData
())).
getLongValue
(
"mgid"
));
jsonObject
.
put
(
"pageGid"
,
Objects
.
isNull
(
markFlowEntity
)
?
Long
.
MAX_VALUE
:
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
markFlowEntity
.
getData
())).
getLongValue
(
"mgid"
));
return
yuqingMarkList
;
return
PageVO
.
createPageVo
(
total
,
dto
.
getPage
(),
dto
.
getPageSize
(),
flowEntityList
).
setInfo
(
jsonObject
);
}
catch
(
Exception
e
){
ExceptionCast
.
cast
(
CommonCodeEnum
.
FAIL
,
"新舆情分析详情页getYuqingAnalyzeDetail异常-"
,
e
);
}
return
PageVO
.
createPageVo
(
0
,
dto
.
getPage
(),
dto
.
getPageSize
(),
Collections
.
emptyList
());
}
}
@Override
@Override
...
@@ -3334,7 +3361,7 @@ public class MarkDataServiceImpl implements MarkDataService {
...
@@ -3334,7 +3361,7 @@ public class MarkDataServiceImpl implements MarkDataService {
// 新增channelEmotion
// 新增channelEmotion
BoolQueryBuilder
postFilter
=
EsQueryTools
.
assembleCacheMapsQuery
(
projectId
,
contendId
,
dto
.
getPoliticsLevel
(),
dto
.
getField
(),
dto
.
getRegion
(),
dto
.
getMainBodyType
(),
dto
.
getChannelEmotion
());
BoolQueryBuilder
postFilter
=
EsQueryTools
.
assembleCacheMapsQuery
(
projectId
,
contendId
,
dto
.
getPoliticsLevel
(),
dto
.
getField
(),
dto
.
getRegion
(),
dto
.
getMainBodyType
(),
dto
.
getChannelEmotion
());
if
(
Objects
.
nonNull
(
dto
.
getPlanId
())){
if
(
Objects
.
nonNull
(
dto
.
getPlanId
())){
postFilter
=
EsQueryTools
.
assembleCacheMapsPlanQuery
(
projectId
,
dto
.
getPlanId
());
postFilter
=
EsQueryTools
.
assembleCacheMapsPlanQuery
(
projectId
,
dto
.
getPlanId
()
,
dto
.
getPoliticsLevel
()
);
}
}
// time
// time
postFilter
.
must
(
QueryBuilders
.
rangeQuery
(
"time"
).
gte
(
dto
.
getStartTime
()).
lt
(
dto
.
getEndTime
()));
postFilter
.
must
(
QueryBuilders
.
rangeQuery
(
"time"
).
gte
(
dto
.
getStartTime
()).
lt
(
dto
.
getEndTime
()));
...
@@ -3367,7 +3394,7 @@ public class MarkDataServiceImpl implements MarkDataService {
...
@@ -3367,7 +3394,7 @@ public class MarkDataServiceImpl implements MarkDataService {
}
}
// sourceKeyword
// sourceKeyword
if
(
StringUtils
.
isNotEmpty
(
dto
.
getSourceKeyword
()))
{
if
(
StringUtils
.
isNotEmpty
(
dto
.
getSourceKeyword
()))
{
postFilter
.
must
(
EsQueryTools
.
assembleSourceQuery
(
dto
.
getSourceKeyword
()));
postFilter
.
must
(
EsQueryTools
.
assembleSource
Keyword
Query
(
dto
.
getSourceKeyword
()));
}
}
// hostKeyword
// hostKeyword
if
(
StringUtils
.
isNotEmpty
(
dto
.
getHostKeyword
()))
{
if
(
StringUtils
.
isNotEmpty
(
dto
.
getHostKeyword
()))
{
...
...
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