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
85fe2fd9
Commit
85fe2fd9
authored
Sep 19, 2024
by
陈健智
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
舆情导出-补充自定义标签
parent
6a5a5bca
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
101 additions
and
5 deletions
+101
-5
src/main/java/com/zhiwei/brandkbs2/controller/app/AppDownloadController.java
+3
-3
src/main/java/com/zhiwei/brandkbs2/service/MarkDataService.java
+6
-0
src/main/java/com/zhiwei/brandkbs2/service/impl/MarkDataServiceImpl.java
+91
-1
src/main/java/com/zhiwei/brandkbs2/service/impl/SearchWholeServiceImpl.java
+1
-1
No files found.
src/main/java/com/zhiwei/brandkbs2/controller/app/AppDownloadController.java
View file @
85fe2fd9
...
@@ -332,11 +332,11 @@ public class AppDownloadController extends BaseController {
...
@@ -332,11 +332,11 @@ public class AppDownloadController extends BaseController {
@LogRecord
(
description
=
"舆情库-有效舆情导出"
,
values
=
{
"startTime"
,
"endTime"
,
"customTags"
,
"field"
,
"keyword"
,
"politicsLevel"
,
"mainBodyType"
,
"platforms"
,
"region"
,
"tags"
},
entity
=
true
,
arguments
=
true
)
@LogRecord
(
description
=
"舆情库-有效舆情导出"
,
values
=
{
"startTime"
,
"endTime"
,
"customTags"
,
"field"
,
"keyword"
,
"politicsLevel"
,
"mainBodyType"
,
"platforms"
,
"region"
,
"tags"
},
entity
=
true
,
arguments
=
true
)
@DownloadTask
(
taskName
=
"舆情库有效舆情数据下载"
,
description
=
"舆情库有效舆情数据"
)
@DownloadTask
(
taskName
=
"舆情库有效舆情数据下载"
,
description
=
"舆情库有效舆情数据"
)
public
ResponseResult
exportYuqingMarkList
(
@RequestBody
MarkSearchDTO
markSearchDTO
)
{
public
ResponseResult
exportYuqingMarkList
(
@RequestBody
MarkSearchDTO
markSearchDTO
)
{
Pair
<
String
,
List
<
ExportAppYuqingDTO
>>
stringListPair
=
markDataService
.
downloadYuqingMarkList
(
markSearchDTO
);
Pair
<
String
,
Pair
<
List
<
List
<
String
>>,
List
<
List
<
Object
>>>>
stringPairPair
=
markDataService
.
downloadMarkListDynamicHead
(
markSearchDTO
);
// excel写入至指定路径
// excel写入至指定路径
String
projectName
=
projectService
.
getProjectById
(
UserThreadLocal
.
getProjectId
()).
getProjectName
();
String
projectName
=
projectService
.
getProjectById
(
UserThreadLocal
.
getProjectId
()).
getProjectName
();
String
filePath
=
EasyExcelUtil
.
generateExcelFilePath
(
brandkbsFilePath
,
projectName
,
UserThreadLocal
.
getNickname
(),
string
List
Pair
.
getLeft
()
+
"_舆情列表数据"
);
String
filePath
=
EasyExcelUtil
.
generateExcelFilePath
(
brandkbsFilePath
,
projectName
,
UserThreadLocal
.
getNickname
(),
string
Pair
Pair
.
getLeft
()
+
"_舆情列表数据"
);
EasyExcelUtil
.
write
(
filePath
,
"sheet1"
,
ExportAppYuqingDTO
.
class
,
stringListPair
.
getRight
());
EasyExcelUtil
.
dynamicHeadWrite
(
filePath
,
"sheet1"
,
stringPairPair
.
getRight
().
getLeft
(),
stringPairPair
.
getRight
()
.
getRight
());
return
ResponseResult
.
success
(
filePath
);
return
ResponseResult
.
success
(
filePath
);
}
}
...
...
src/main/java/com/zhiwei/brandkbs2/service/MarkDataService.java
View file @
85fe2fd9
...
@@ -79,6 +79,12 @@ public interface MarkDataService {
...
@@ -79,6 +79,12 @@ public interface MarkDataService {
Pair
<
String
,
List
<
ExportAppYuqingDTO
>>
downloadYuqingMarkList
(
MarkSearchDTO
markSearchDTO
);
Pair
<
String
,
List
<
ExportAppYuqingDTO
>>
downloadYuqingMarkList
(
MarkSearchDTO
markSearchDTO
);
/**
/**
* @param markSearchDTO 标注数据搜索传输类
* @return 返回结果
*/
Pair
<
String
,
Pair
<
List
<
List
<
String
>>,
List
<
List
<
Object
>>>>
downloadMarkListDynamicHead
(
MarkSearchDTO
markSearchDTO
);
/**
* 生成聚合列表并返回id
* 生成聚合列表并返回id
*
*
* @return 聚合id
* @return 聚合id
...
...
src/main/java/com/zhiwei/brandkbs2/service/impl/MarkDataServiceImpl.java
View file @
85fe2fd9
...
@@ -372,6 +372,11 @@ public class MarkDataServiceImpl implements MarkDataService {
...
@@ -372,6 +372,11 @@ public class MarkDataServiceImpl implements MarkDataService {
}
}
@Override
@Override
public
Pair
<
String
,
Pair
<
List
<
List
<
String
>>,
List
<
List
<
Object
>>>>
downloadMarkListDynamicHead
(
MarkSearchDTO
markSearchDTO
)
{
return
downloadMarkListDynamicHead
(
markSearchDTO
,
esSearchService:
:
searchMarkHitsAndCount
);
}
@Override
public
String
generateYuqingMarkAggreeList
(
Long
startTime
,
Long
endTime
)
{
public
String
generateYuqingMarkAggreeList
(
Long
startTime
,
Long
endTime
)
{
return
generateAggreeList
(
UserThreadLocal
.
getProjectId
(),
startTime
,
endTime
,
esSearchService:
:
searchMarkHitsAndCount
);
return
generateAggreeList
(
UserThreadLocal
.
getProjectId
(),
startTime
,
endTime
,
esSearchService:
:
searchMarkHitsAndCount
);
}
}
...
@@ -4249,7 +4254,7 @@ public class MarkDataServiceImpl implements MarkDataService {
...
@@ -4249,7 +4254,7 @@ public class MarkDataServiceImpl implements MarkDataService {
/**
/**
* 获取
* 获取
* @param json
* @param json
* @param
content
* @param
brandStr
* @return
* @return
*/
*/
private
static
List
<
FieldMapping
>
getFiledMapping
(
JSONObject
json
,
String
brandStr
)
{
private
static
List
<
FieldMapping
>
getFiledMapping
(
JSONObject
json
,
String
brandStr
)
{
...
@@ -5118,4 +5123,88 @@ public class MarkDataServiceImpl implements MarkDataService {
...
@@ -5118,4 +5123,88 @@ public class MarkDataServiceImpl implements MarkDataService {
}
}
return
null
;
return
null
;
}
}
private
Pair
<
String
,
Pair
<
List
<
List
<
String
>>,
List
<
List
<
Object
>>>>
downloadMarkListDynamicHead
(
MarkSearchDTO
markSearchDTO
,
ArticleFunction
.
SearchHitsAndCount
searchHitsAndCount
)
{
try
{
List
<
TagFilterDTO
>
tagFilters
=
tagFilterService
.
getTagFilter
();
List
<
List
<
String
>>
heads
=
getMarkDownloadHead
(
tagFilters
);
List
<
List
<
Object
>>
datas
=
new
ArrayList
<>();
Project
project
=
projectService
.
getProjectById
(
UserThreadLocal
.
getProjectId
());
defaultMarkSearch
(
markSearchDTO
);
markSearchDTO
.
setPageSize
(
null
);
for
(
SearchHits
searchHits
:
searchHitsAndCount
.
search
(
markSearchDTO
,
false
).
getLeft
())
{
datas
.
addAll
(
createMarkDownloadData
(
searchHits
,
tagFilters
,
heads
));
}
return
Pair
.
of
(
project
.
getBrandName
()
+
"_"
+
markSearchDTO
.
getStartTime
()
+
"_"
+
markSearchDTO
.
getEndTime
(),
Pair
.
of
(
heads
,
datas
));
}
catch
(
IOException
e
)
{
ExceptionCast
.
cast
(
CommonCodeEnum
.
FAIL
,
"es查询异常"
);
}
return
null
;
}
/**
* 组装excel下载舆情数据
* @param searchHits
* @param tagFilters
* @param heads
* @return
*/
private
List
<
List
<
Object
>>
createMarkDownloadData
(
SearchHits
searchHits
,
List
<
TagFilterDTO
>
tagFilters
,
List
<
List
<
String
>>
heads
){
List
<
JSONObject
>
hits
=
Arrays
.
stream
(
searchHits
.
getHits
()).
map
(
SearchHit:
:
getSourceAsMap
).
map
(
JSONObject:
:
new
).
collect
(
Collectors
.
toList
());
List
<
String
>
uniqueIds
=
new
ArrayList
<>();
// 自定义标签uniqueIds
tagFilters
.
forEach
(
tagFilter
->
tagFilter
.
getTagList
().
forEach
(
tag
->
uniqueIds
.
add
(
tag
.
getUniqueId
())));
List
<
String
>
groupNames
=
tagFilters
.
stream
().
map
(
TagFilterDTO:
:
getGroupName
).
collect
(
Collectors
.
toList
());
List
<
List
<
Object
>>
res
=
new
ArrayList
<>();
for
(
JSONObject
hit
:
hits
)
{
BaseMap
baseMap
=
Tools
.
getBaseFromEsMap
(
hit
);
List
<
Object
>
data
=
new
ArrayList
<>();
data
.
add
(
new
Date
(
baseMap
.
getTime
()));
data
.
add
(
baseMap
.
getPlatform
());
data
.
add
(
baseMap
.
getSource
());
data
.
add
(
baseMap
.
getTitle
());
data
.
add
(
baseMap
.
getContent
());
data
.
add
(
baseMap
.
getUrl
());
data
.
add
(
baseMap
.
getEmotion
());
List
<
JSONObject
>
markCacheMaps
=
hit
.
getJSONArray
(
GenericAttribute
.
ES_MARK_CACHE_MAPS
).
toJavaList
(
JSONObject
.
class
);
if
(
CollectionUtils
.
isEmpty
(
markCacheMaps
)){
res
.
add
(
data
);
continue
;
}
// 过滤非自定义标签
Map
<
String
,
JSONObject
>
map
=
markCacheMaps
.
stream
()
.
filter
(
json
->
uniqueIds
.
contains
(
json
.
getString
(
"unique_id"
)))
.
collect
(
Collectors
.
toMap
(
json
->
json
.
getString
(
"group_name"
),
o
->
o
,
(
v1
,
v2
)
->
v1
));
for
(
String
name
:
groupNames
)
{
JSONObject
jsonObject
=
map
.
get
(
name
);
if
(
Objects
.
isNull
(
jsonObject
)){
data
.
add
(
null
);
continue
;
}
data
.
add
(
jsonObject
.
getString
(
"name"
));
}
res
.
add
(
data
);
}
return
res
;
}
/**
* 获取舆情数据下载表头
* @param tagFilter
* @return
*/
private
List
<
List
<
String
>>
getMarkDownloadHead
(
List
<
TagFilterDTO
>
tagFilter
){
List
<
List
<
String
>>
heads
=
new
ArrayList
<>();
heads
.
add
(
Collections
.
singletonList
(
"时间"
));
heads
.
add
(
Collections
.
singletonList
(
"平台"
));
heads
.
add
(
Collections
.
singletonList
(
"渠道"
));
heads
.
add
(
Collections
.
singletonList
(
"标题"
));
heads
.
add
(
Collections
.
singletonList
(
"文本"
));
heads
.
add
(
Collections
.
singletonList
(
"地址"
));
heads
.
add
(
Collections
.
singletonList
(
"情感调性"
));
for
(
TagFilterDTO
tagFilterDTO
:
tagFilter
)
{
heads
.
add
(
Collections
.
singletonList
(
tagFilterDTO
.
getGroupName
()));
}
return
heads
;
}
}
}
\ No newline at end of file
src/main/java/com/zhiwei/brandkbs2/service/impl/SearchWholeServiceImpl.java
View file @
85fe2fd9
...
@@ -699,7 +699,7 @@ public class SearchWholeServiceImpl implements SearchWholeService {
...
@@ -699,7 +699,7 @@ public class SearchWholeServiceImpl implements SearchWholeService {
while
(!
existTask
.
getFinish
())
{
while
(!
existTask
.
getFinish
())
{
existTask
=
markSearchAnalyzeTaskDao
.
findOne
(
"searchFilterDTO"
,
dto
);
existTask
=
markSearchAnalyzeTaskDao
.
findOne
(
"searchFilterDTO"
,
dto
);
long
eTime
=
System
.
currentTimeMillis
();
long
eTime
=
System
.
currentTimeMillis
();
if
(
existTask
.
getFinish
()
||
eTime
-
sTime
>=
3
*
60
*
1000
)
{
if
(
Objects
.
isNull
(
existTask
)
||
existTask
.
getFinish
()
||
eTime
-
sTime
>=
3
*
60
*
1000
)
{
break
;
break
;
}
}
Thread
.
sleep
(
10000L
);
Thread
.
sleep
(
10000L
);
...
...
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