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
2da615fd
Commit
2da615fd
authored
Feb 01, 2024
by
shenjunjie
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature' into 'release'
Feature See merge request
!462
parents
f4f556f3
41c52dad
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
44 additions
and
12 deletions
+44
-12
src/main/java/com/zhiwei/brandkbs2/service/MarkFlowService.java
+5
-1
src/main/java/com/zhiwei/brandkbs2/service/impl/MarkDataServiceImpl.java
+7
-8
src/main/java/com/zhiwei/brandkbs2/service/impl/MarkFlowServiceImpl.java
+32
-3
No files found.
src/main/java/com/zhiwei/brandkbs2/service/MarkFlowService.java
View file @
2da615fd
...
@@ -3,6 +3,7 @@ package com.zhiwei.brandkbs2.service;
...
@@ -3,6 +3,7 @@ package com.zhiwei.brandkbs2.service;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.zhiwei.base.entity.subclass.mark.MarkInfo
;
import
com.zhiwei.base.entity.subclass.mark.MarkInfo
;
import
com.zhiwei.brandkbs2.pojo.MarkFlowEntity
;
import
com.zhiwei.brandkbs2.pojo.MarkFlowEntity
;
import
com.zhiwei.brandkbs2.pojo.dto.TagFilterDTO
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.Data
;
...
@@ -83,10 +84,13 @@ public interface MarkFlowService {
...
@@ -83,10 +84,13 @@ public interface MarkFlowService {
private
String
planId
;
private
String
planId
;
private
Long
gid
;
private
Long
gid
;
public
MarkInfoSource
(
JSONObject
json
,
String
projectId
,
String
contendId
)
{
private
List
<
TagFilterDTO
>
tagFilters
;
public
MarkInfoSource
(
JSONObject
json
,
String
projectId
,
String
contendId
,
List
<
TagFilterDTO
>
tagFilters
)
{
this
.
json
=
json
;
this
.
json
=
json
;
this
.
projectId
=
projectId
;
this
.
projectId
=
projectId
;
this
.
contendId
=
contendId
;
this
.
contendId
=
contendId
;
this
.
tagFilters
=
tagFilters
;
}
}
public
MarkInfoSource
(
JSONObject
json
,
String
linkedGroupId
)
{
public
MarkInfoSource
(
JSONObject
json
,
String
linkedGroupId
)
{
...
...
src/main/java/com/zhiwei/brandkbs2/service/impl/MarkDataServiceImpl.java
View file @
2da615fd
...
@@ -2748,9 +2748,6 @@ public class MarkDataServiceImpl implements MarkDataService {
...
@@ -2748,9 +2748,6 @@ public class MarkDataServiceImpl implements MarkDataService {
CompletableFuture
.
allOf
(
markTopTitleList
.
stream
().
map
(
json
->
CompletableFuture
.
supplyAsync
(()
->
{
CompletableFuture
.
allOf
(
markTopTitleList
.
stream
().
map
(
json
->
CompletableFuture
.
supplyAsync
(()
->
{
try
{
try
{
BaseMap
firstArticle
=
getFirstArticle
(
startTime
,
endTime
,
json
.
getString
(
"title"
),
projectId
,
Constant
.
PRIMARY_CONTEND_ID
,
planId
,
include
);
BaseMap
firstArticle
=
getFirstArticle
(
startTime
,
endTime
,
json
.
getString
(
"title"
),
projectId
,
Constant
.
PRIMARY_CONTEND_ID
,
planId
,
include
);
if
(
Objects
.
isNull
(
firstArticle
)){
return
null
;
}
json
.
put
(
"content"
,
firstArticle
.
getContent
());
json
.
put
(
"content"
,
firstArticle
.
getContent
());
json
.
put
(
"url"
,
firstArticle
.
getUrl
());
json
.
put
(
"url"
,
firstArticle
.
getUrl
());
json
.
put
(
"realSource"
,
firstArticle
.
getRealSource
());
json
.
put
(
"realSource"
,
firstArticle
.
getRealSource
());
...
@@ -3296,6 +3293,7 @@ public class MarkDataServiceImpl implements MarkDataService {
...
@@ -3296,6 +3293,7 @@ public class MarkDataServiceImpl implements MarkDataService {
private
List
<
MarkFlowEntity
>
getMarkFlowEntity
(
MarkSearchDTO
markSearchDTO
,
SearchHits
searchHits
)
{
private
List
<
MarkFlowEntity
>
getMarkFlowEntity
(
MarkSearchDTO
markSearchDTO
,
SearchHits
searchHits
)
{
String
projectId
=
markSearchDTO
.
getProjectId
();
String
projectId
=
markSearchDTO
.
getProjectId
();
String
contendId
=
markSearchDTO
.
getContendId
();
String
contendId
=
markSearchDTO
.
getContendId
();
List
<
TagFilterDTO
>
tagFilters
=
tagFilterService
.
getTagFilter
();
// 重复消息折叠
// 重复消息折叠
if
(
markSearchDTO
.
isFold
())
{
if
(
markSearchDTO
.
isFold
())
{
// 根据旧顺序排序
// 根据旧顺序排序
...
@@ -3309,17 +3307,17 @@ public class MarkDataServiceImpl implements MarkDataService {
...
@@ -3309,17 +3307,17 @@ public class MarkDataServiceImpl implements MarkDataService {
return
sortList
.
stream
().
map
(
id
->
{
return
sortList
.
stream
().
map
(
id
->
{
List
<
Map
<
String
,
Object
>>
maps
=
collect
.
get
(
id
);
List
<
Map
<
String
,
Object
>>
maps
=
collect
.
get
(
id
);
if
(
null
!=
maps
)
{
if
(
null
!=
maps
)
{
return
MarkFlowEntity
.
getFoldInstance
(
maps
.
stream
().
map
(
map
->
getMarkFlowEntity
(
map
,
projectId
,
contendId
)).
collect
(
Collectors
.
toList
()));
return
MarkFlowEntity
.
getFoldInstance
(
maps
.
stream
().
map
(
map
->
getMarkFlowEntity
(
map
,
projectId
,
contendId
,
tagFilters
)).
collect
(
Collectors
.
toList
()));
}
}
return
null
;
return
null
;
}).
filter
(
Objects:
:
nonNull
).
collect
(
Collectors
.
toList
());
}).
filter
(
Objects:
:
nonNull
).
collect
(
Collectors
.
toList
());
}
}
return
Arrays
.
stream
(
searchHits
.
getHits
()).
map
(
hit
->
getMarkFlowEntity
(
hit
.
getSourceAsMap
(),
projectId
,
contendId
)).
collect
(
Collectors
.
toList
());
return
Arrays
.
stream
(
searchHits
.
getHits
()).
map
(
hit
->
getMarkFlowEntity
(
hit
.
getSourceAsMap
(),
projectId
,
contendId
,
tagFilters
)).
collect
(
Collectors
.
toList
());
}
}
private
MarkFlowEntity
getMarkFlowEntity
(
Map
<
String
,
Object
>
map
,
String
projectId
,
String
contendId
)
{
private
MarkFlowEntity
getMarkFlowEntity
(
Map
<
String
,
Object
>
map
,
String
projectId
,
String
contendId
,
List
<
TagFilterDTO
>
tagFilters
)
{
MarkFlowEntity
instance
=
new
MarkFlowEntity
(
new
JSONObject
(
map
));
MarkFlowEntity
instance
=
new
MarkFlowEntity
(
new
JSONObject
(
map
));
instance
.
setInfo
(
markFlowService
.
createMarkFlowInfo
(
new
MarkFlowService
.
MarkInfoSource
(
new
JSONObject
(
map
),
projectId
,
contendId
)));
instance
.
setInfo
(
markFlowService
.
createMarkFlowInfo
(
new
MarkFlowService
.
MarkInfoSource
(
new
JSONObject
(
map
),
projectId
,
contendId
,
tagFilters
)));
return
instance
;
return
instance
;
}
}
...
@@ -3389,6 +3387,7 @@ public class MarkDataServiceImpl implements MarkDataService {
...
@@ -3389,6 +3387,7 @@ public class MarkDataServiceImpl implements MarkDataService {
if
(
null
==
dto
.
getAggreeId
())
{
if
(
null
==
dto
.
getAggreeId
())
{
ExceptionCast
.
cast
(
CommonCodeEnum
.
INVALID_PARAM
);
ExceptionCast
.
cast
(
CommonCodeEnum
.
INVALID_PARAM
);
}
}
List
<
TagFilterDTO
>
tagFilter
=
tagFilterService
.
getTagFilter
();
dto
.
setProjectId
(
UserThreadLocal
.
getProjectId
());
dto
.
setProjectId
(
UserThreadLocal
.
getProjectId
());
Query
query
=
assembleAggreeQuery
(
dto
);
Query
query
=
assembleAggreeQuery
(
dto
);
// 量查询
// 量查询
...
@@ -3404,7 +3403,7 @@ public class MarkDataServiceImpl implements MarkDataService {
...
@@ -3404,7 +3403,7 @@ public class MarkDataServiceImpl implements MarkDataService {
List
<
MarkFlowEntity
>
markFlowEntities
=
new
ArrayList
<>();
List
<
MarkFlowEntity
>
markFlowEntities
=
new
ArrayList
<>();
MarkFlowEntity
instance
=
new
MarkFlowEntity
(
aggreeResult
.
getData
(),
dto
.
getLinkedGroupId
());
MarkFlowEntity
instance
=
new
MarkFlowEntity
(
aggreeResult
.
getData
(),
dto
.
getLinkedGroupId
());
instance
.
setInfo
(
createMarkFlowInfo
.
create
(
new
MarkFlowService
.
MarkInfoSource
(
aggreeResult
.
getData
(),
dto
.
getProjectId
(),
dto
.
getContendId
(),
instance
.
setInfo
(
createMarkFlowInfo
.
create
(
new
MarkFlowService
.
MarkInfoSource
(
aggreeResult
.
getData
(),
dto
.
getProjectId
(),
dto
.
getContendId
(),
dto
.
getLinkedGroupId
(),
dto
.
getPlanId
(),
dto
.
getGid
())));
dto
.
getLinkedGroupId
(),
dto
.
getPlanId
(),
dto
.
getGid
()
,
tagFilter
)));
markFlowEntities
.
add
(
instance
);
markFlowEntities
.
add
(
instance
);
// 添加父标题集下的子标题集
// 添加父标题集下的子标题集
resList
.
add
(
MarkFlowEntity
.
getAggreeInstance
(
markFlowEntities
,
aggreeResult
,
sonDetails
));
resList
.
add
(
MarkFlowEntity
.
getAggreeInstance
(
markFlowEntities
,
aggreeResult
,
sonDetails
));
...
...
src/main/java/com/zhiwei/brandkbs2/service/impl/MarkFlowServiceImpl.java
View file @
2da615fd
...
@@ -15,7 +15,9 @@ import com.zhiwei.brandkbs2.enmus.ChannelEmotion;
...
@@ -15,7 +15,9 @@ import com.zhiwei.brandkbs2.enmus.ChannelEmotion;
import
com.zhiwei.brandkbs2.exception.ExceptionCast
;
import
com.zhiwei.brandkbs2.exception.ExceptionCast
;
import
com.zhiwei.brandkbs2.model.CommonCodeEnum
;
import
com.zhiwei.brandkbs2.model.CommonCodeEnum
;
import
com.zhiwei.brandkbs2.pojo.MarkFlowEntity
;
import
com.zhiwei.brandkbs2.pojo.MarkFlowEntity
;
import
com.zhiwei.brandkbs2.pojo.dto.TagFilterDTO
;
import
com.zhiwei.brandkbs2.service.MarkFlowService
;
import
com.zhiwei.brandkbs2.service.MarkFlowService
;
import
com.zhiwei.brandkbs2.service.TagFilterService
;
import
com.zhiwei.brandkbs2.util.RedisUtil
;
import
com.zhiwei.brandkbs2.util.RedisUtil
;
import
com.zhiwei.brandkbs2.util.Tools
;
import
com.zhiwei.brandkbs2.util.Tools
;
import
com.zhiwei.middleware.automaticmark.vo.Keyword
;
import
com.zhiwei.middleware.automaticmark.vo.Keyword
;
...
@@ -24,6 +26,7 @@ import com.zhiwei.middleware.mark.service.MarkerClient;
...
@@ -24,6 +26,7 @@ import com.zhiwei.middleware.mark.service.MarkerClient;
import
com.zhiwei.middleware.mark.vo.QueryResult
;
import
com.zhiwei.middleware.mark.vo.QueryResult
;
import
com.zhiwei.qbjc.bean.pojo.common.Tag
;
import
com.zhiwei.qbjc.bean.pojo.common.Tag
;
import
com.zhiwei.qbjc.bean.tools.BeanTools
;
import
com.zhiwei.qbjc.bean.tools.BeanTools
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.apache.logging.log4j.Logger
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -59,13 +62,11 @@ public class MarkFlowServiceImpl implements MarkFlowService {
...
@@ -59,13 +62,11 @@ public class MarkFlowServiceImpl implements MarkFlowService {
@Resource
(
name
=
"filterClient"
)
@Resource
(
name
=
"filterClient"
)
UnifiedFilterClient
filterClient
;
UnifiedFilterClient
filterClient
;
@Resource
(
name
=
"highlightWordDao"
)
HighlightWordDao
highlightWordDao
;
@Override
@Override
public
JSONObject
createMarkFlowInfo
(
MarkInfoSource
markInfoSource
)
{
public
JSONObject
createMarkFlowInfo
(
MarkInfoSource
markInfoSource
)
{
JSONObject
resultInfo
=
createInfoWithEmotion
(
markInfoSource
.
getJson
());
JSONObject
resultInfo
=
createInfoWithEmotion
(
markInfoSource
.
getJson
());
resultInfo
.
put
(
"sourceDetails"
,
getSourceDetails
(
markInfoSource
));
resultInfo
.
put
(
"sourceDetails"
,
getSourceDetails
(
markInfoSource
));
resultInfo
.
put
(
"customTags"
,
getCustomTagsInfo
(
markInfoSource
));
return
resultInfo
;
return
resultInfo
;
}
}
...
@@ -196,6 +197,34 @@ public class MarkFlowServiceImpl implements MarkFlowService {
...
@@ -196,6 +197,34 @@ public class MarkFlowServiceImpl implements MarkFlowService {
return
JSON
.
parseObject
(
data
,
MarkFlowEntity
.
class
);
return
JSON
.
parseObject
(
data
,
MarkFlowEntity
.
class
);
}
}
/**
* 获取自定义标签
* @param markInfoSource
* @return
*/
private
List
<
JSONObject
>
getCustomTagsInfo
(
MarkInfoSource
markInfoSource
){
List
<
JSONObject
>
res
=
new
ArrayList
<>();
JSONObject
json
=
markInfoSource
.
getJson
();
List
<
JSONObject
>
markCacheMaps
=
json
.
getJSONArray
(
GenericAttribute
.
ES_MARK_CACHE_MAPS
).
toJavaList
(
JSONObject
.
class
);
if
(
CollectionUtils
.
isEmpty
(
markCacheMaps
)){
return
null
;
}
// 已配置的标签筛选
List
<
TagFilterDTO
>
tagFilters
=
markInfoSource
.
getTagFilters
();
List
<
String
>
groupNames
=
tagFilters
.
stream
().
map
(
TagFilterDTO:
:
getGroupName
).
collect
(
Collectors
.
toList
());
for
(
JSONObject
markCacheMap
:
markCacheMaps
)
{
String
groupName
=
markCacheMap
.
getString
(
"group_name"
);
if
(!
groupNames
.
contains
(
groupName
)
||
Objects
.
equals
(
Constant
.
EMOTION_LABEL_KEY
,
groupName
)){
continue
;
}
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"uniqueId"
,
markCacheMap
.
getString
(
"unique_id"
));
jsonObject
.
put
(
"name"
,
markCacheMap
.
getString
(
"name"
));
res
.
add
(
jsonObject
);
}
return
res
;
}
private
JSONObject
createInfoWithEmotion
(
JSONObject
json
)
{
private
JSONObject
createInfoWithEmotion
(
JSONObject
json
)
{
JSONObject
info
=
new
JSONObject
();
JSONObject
info
=
new
JSONObject
();
String
emotion
=
Tools
.
getEmotion
(
json
);
String
emotion
=
Tools
.
getEmotion
(
json
);
...
...
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