Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
K
know-base
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
张京坤
know-base
Commits
4a981b14
提交
4a981b14
authored
2月 21, 2024
作者:
obcy
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/master'
上级
9acfa543
6bd5546f
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
35 行增加
和
39 行删除
+35
-39
KnowledgeController.java
...ava/com/zzsn/knowbase/controller/KnowledgeController.java
+2
-7
KnowledgeServiceImpl.java
.../com/zzsn/knowbase/service/impl/KnowledgeServiceImpl.java
+33
-32
没有找到文件。
src/main/java/com/zzsn/knowbase/controller/KnowledgeController.java
浏览文件 @
4a981b14
...
@@ -82,9 +82,7 @@ public class KnowledgeController {
...
@@ -82,9 +82,7 @@ public class KnowledgeController {
return
Result
.
OK
(
knowledgeVO
);
return
Result
.
OK
(
knowledgeVO
);
}
}
/**
* 分页列表查询
*/
@GetMapping
(
value
=
"/listFromPython"
)
@GetMapping
(
value
=
"/listFromPython"
)
public
Result
<?>
listFromPython
(
KnowledgeParam
knowledgeParam
,
public
Result
<?>
listFromPython
(
KnowledgeParam
knowledgeParam
,
@RequestParam
(
name
=
"pageNo"
,
defaultValue
=
"1"
)
Integer
pageNo
,
@RequestParam
(
name
=
"pageNo"
,
defaultValue
=
"1"
)
Integer
pageNo
,
...
@@ -105,6 +103,7 @@ public class KnowledgeController {
...
@@ -105,6 +103,7 @@ public class KnowledgeController {
@PostMapping
(
value
=
"/uploadKnowledge"
)
@PostMapping
(
value
=
"/uploadKnowledge"
)
public
Result
<?>
uploadKnowledge
(
HttpServletRequest
request
,
Knowledge
knowledge
)
{
public
Result
<?>
uploadKnowledge
(
HttpServletRequest
request
,
Knowledge
knowledge
)
{
MultipartHttpServletRequest
multipartRequest
=
WebUtils
.
getNativeRequest
(
request
,
MultipartHttpServletRequest
.
class
);
MultipartHttpServletRequest
multipartRequest
=
WebUtils
.
getNativeRequest
(
request
,
MultipartHttpServletRequest
.
class
);
Map
<
String
,
MultipartFile
>
fileMap
=
multipartRequest
.
getFileMap
();
Map
<
String
,
MultipartFile
>
fileMap
=
multipartRequest
.
getFileMap
();
Result
<
List
<
KnowFile
>>
result
=
localFileService
.
upload
(
fileMap
);
Result
<
List
<
KnowFile
>>
result
=
localFileService
.
upload
(
fileMap
);
if
(!
Integer
.
valueOf
(
"200"
).
equals
(
result
.
getCode
())){
if
(!
Integer
.
valueOf
(
"200"
).
equals
(
result
.
getCode
())){
...
@@ -152,10 +151,6 @@ public class KnowledgeController {
...
@@ -152,10 +151,6 @@ public class KnowledgeController {
knowledgeService
.
deleteKnowledge
(
ids
);
knowledgeService
.
deleteKnowledge
(
ids
);
return
Result
.
OK
(
"删除成功!"
);
return
Result
.
OK
(
"删除成功!"
);
}
}
/**
* 文档解析
*/
@GetMapping
(
value
=
"/parse"
)
@GetMapping
(
value
=
"/parse"
)
public
Result
<?>
parse
(
@RequestParam
(
name
=
"filePath"
)
String
filePath
)
throws
IOException
{
public
Result
<?>
parse
(
@RequestParam
(
name
=
"filePath"
)
String
filePath
)
throws
IOException
{
String
s
=
DocUtil
.
docParseHtml
(
filePath
);
String
s
=
DocUtil
.
docParseHtml
(
filePath
);
...
...
src/main/java/com/zzsn/knowbase/service/impl/KnowledgeServiceImpl.java
浏览文件 @
4a981b14
...
@@ -11,8 +11,8 @@ import com.zzsn.knowbase.entity.*;
...
@@ -11,8 +11,8 @@ import com.zzsn.knowbase.entity.*;
import
com.zzsn.knowbase.kafka.message.KnowledgeMessage
;
import
com.zzsn.knowbase.kafka.message.KnowledgeMessage
;
import
com.zzsn.knowbase.kafka.producer.ProduceInfo
;
import
com.zzsn.knowbase.kafka.producer.ProduceInfo
;
import
com.zzsn.knowbase.service.IKnowledgeService
;
import
com.zzsn.knowbase.service.IKnowledgeService
;
import
com.zzsn.knowbase.service.KbAuthorizedUserService
;
import
com.zzsn.knowbase.service.KbKnowledgeProjectService
;
import
com.zzsn.knowbase.service.KbKnowledgeProjectService
;
import
com.zzsn.knowbase.service.KbKnowledgeProjectTypeService
;
import
com.zzsn.knowbase.util.*
;
import
com.zzsn.knowbase.util.*
;
import
com.zzsn.knowbase.vo.KnowledgeParam
;
import
com.zzsn.knowbase.vo.KnowledgeParam
;
import
com.zzsn.knowbase.vo.KnowledgeVO
;
import
com.zzsn.knowbase.vo.KnowledgeVO
;
...
@@ -66,7 +66,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
...
@@ -66,7 +66,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
@Autowired
@Autowired
private
KbKnowledgeProjectService
knowledgeProjectService
;
private
KbKnowledgeProjectService
knowledgeProjectService
;
@Autowired
@Autowired
private
Kb
KnowledgeProjectTypeService
kbKnowledgeProjectType
Service
;
private
Kb
AuthorizedUserService
authorizedUser
Service
;
@Autowired
@Autowired
private
ProduceInfo
produceInfo
;
private
ProduceInfo
produceInfo
;
@Value
(
"${python.searchUrl:}"
)
@Value
(
"${python.searchUrl:}"
)
...
@@ -90,7 +90,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
...
@@ -90,7 +90,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
knowledge
.
setVerifyStatus
(
0
);
knowledge
.
setVerifyStatus
(
0
);
}
}
knowledge
.
setCreateTime
(
cn
.
hutool
.
core
.
date
.
DateUtil
.
formatDateTime
(
new
Date
()).
replace
(
" "
,
"T"
));
knowledge
.
setCreateTime
(
cn
.
hutool
.
core
.
date
.
DateUtil
.
formatDateTime
(
new
Date
()).
replace
(
" "
,
"T"
));
if
(
null
==
knowledge
.
getPublishDate
())
{
if
(
null
==
knowledge
.
getPublishDate
())
{
knowledge
.
setPublishDate
(
cn
.
hutool
.
core
.
date
.
DateUtil
.
formatDateTime
(
new
Date
()).
replace
(
" "
,
"T"
));
knowledge
.
setPublishDate
(
cn
.
hutool
.
core
.
date
.
DateUtil
.
formatDateTime
(
new
Date
()).
replace
(
" "
,
"T"
));
}
}
...
@@ -179,7 +179,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
...
@@ -179,7 +179,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
esOpUtil
.
docDeleteById
(
Constants
.
ES_DATA_FOR_KNOWLEDGE
,
id
);
esOpUtil
.
docDeleteById
(
Constants
.
ES_DATA_FOR_KNOWLEDGE
,
id
);
}
}
CompletableFuture
.
runAsync
(()
->{
CompletableFuture
.
runAsync
(()
->
{
for
(
String
id
:
split
)
{
for
(
String
id
:
split
)
{
deleteForPython
(
id
);
deleteForPython
(
id
);
}
}
...
@@ -201,39 +201,35 @@ class KnowledgeServiceImpl implements IKnowledgeService {
...
@@ -201,39 +201,35 @@ class KnowledgeServiceImpl implements IKnowledgeService {
@Override
@Override
public
IPage
<
KnowledgeVO
>
queryPageList
(
KnowledgeParam
knowledgeParam
,
Integer
pageNo
,
Integer
pageSize
,
String
column
,
String
order
)
{
public
IPage
<
KnowledgeVO
>
queryPageList
(
KnowledgeParam
knowledgeParam
,
Integer
pageNo
,
Integer
pageSize
,
String
column
,
String
order
)
{
List
<
String
>
permitKnowList
=
new
ArrayList
<>();
List
<
String
>
catList
;
List
<
String
>
catList
;
List
<
String
>
treeList
=
knowledgeProjectService
.
getTreeListBy
(
knowledgeParam
.
getKnowledgeProjectId
())
List
<
String
>
treeList
=
knowledgeProjectService
.
getTreeListBy
(
knowledgeParam
.
getKnowledgeProjectId
())
.
stream
().
map
(
KbKnowledgeProject:
:
getId
).
collect
(
Collectors
.
toList
());
.
stream
().
map
(
KbKnowledgeProject:
:
getId
).
collect
(
Collectors
.
toList
());
log
.
info
(
"treeList===={}"
,
treeList
.
toString
());
//获取用户拥有的分类
//获取用户拥有的分类
KbAuthorizedUser
userInfo
=
SpringContextUtils
.
getUserInfo
();
KbAuthorizedUser
userInfo
=
SpringContextUtils
.
getUserInfo
();
if
(
null
==
userInfo
)
{
if
(
null
==
userInfo
)
{
return
null
;
return
null
;
}
}
//查看全部且是非管理员的时候
//查看全部且是非管理员的时候
if
((!
Integer
.
valueOf
(
"0"
).
equals
(
userInfo
.
getIsAll
()))
&&
knowledgeParam
.
getKnowledgeProjectId
().
equals
(
"0"
))
{
List
<
String
>
knowPermitList
=
new
ArrayList
<>();
List
<
KbAuthuserKnowledgeprojectMap
>
permitKnowProjectList
=
knowledgeProjectService
.
getKnowledgeProjectListByUserId
(
userInfo
.
getId
());
if
(!
Integer
.
valueOf
(
"0"
).
equals
(
userInfo
.
getIsAll
()))
{
Map
<
String
,
Boolean
>
userKnowProjectSigns
=
authorizedUserService
.
getUserKnowProjectSigns
(
treeList
,
userInfo
.
getId
());
log
.
info
(
"userKnowProjectSigns=={}"
,
userKnowProjectSigns
.
toString
());
//all permit
//all permit
List
<
String
>
allPermitList
=
permitKnowProjectList
.
stream
()
Set
<
Map
.
Entry
<
String
,
Boolean
>>
entries
=
userKnowProjectSigns
.
entrySet
();
.
filter
(
item
->
item
.
getSign
()
==
0
)
List
<
String
>
allPermitList
=
entries
.
stream
().
filter
(
Map
.
Entry
::
getValue
).
map
(
Map
.
Entry
::
getKey
).
collect
(
Collectors
.
toList
());
.
map
(
KbAuthuserKnowledgeprojectMap:
:
getKnowledgeProjectId
)
List
<
String
>
halfPermitList
=
entries
.
stream
().
filter
(
item
->
!
item
.
getValue
()).
map
(
Map
.
Entry
::
getKey
).
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
//know permit
//know permit
List
<
String
>
knowPermitList
=
permitKnowProjectList
.
stream
()
log
.
info
(
"halfPermitList=={}"
,
halfPermitList
.
toString
());
.
filter
(
item
->
item
.
getSign
()
==
1
)
if
(!
halfPermitList
.
isEmpty
()){
.
map
(
KbAuthuserKnowledgeprojectMap:
:
getKnowledgeProjectId
)
knowPermitList
=
authorizedUserService
.
getUserPermissionKnowsByIds
(
halfPermitList
,
userInfo
.
getId
());
.
collect
(
Collectors
.
toList
());
if
(!
knowPermitList
.
isEmpty
())
{
permitKnowList
=
knowledgeProjectService
.
getKnowledgeListByUserId
(
userInfo
.
getId
(),
knowPermitList
);
}
}
catList
=
(
List
<
String
>)
CollectionUtils
.
intersection
(
treeList
,
allPermitList
);
log
.
info
(
"knowPermitList=={}"
,
knowPermitList
.
toString
());
catList
=
allPermitList
;
}
else
{
}
else
{
catList
=
treeList
;
catList
=
treeList
;
}
}
SearchRequest
searchRequest
=
new
SearchRequest
(
Constants
.
ES_DATA_FOR_KNOWLEDGE
);
SearchRequest
searchRequest
=
new
SearchRequest
(
Constants
.
ES_DATA_FOR_KNOWLEDGE
);
SearchSourceBuilder
searchSourceBuilder
=
new
SearchSourceBuilder
();
SearchSourceBuilder
searchSourceBuilder
=
new
SearchSourceBuilder
();
//设置分页参数
//设置分页参数
...
@@ -317,13 +313,18 @@ class KnowledgeServiceImpl implements IKnowledgeService {
...
@@ -317,13 +313,18 @@ class KnowledgeServiceImpl implements IKnowledgeService {
if
(
StringUtils
.
isNotEmpty
(
knowledgeParam
.
getOrigin
()))
{
if
(
StringUtils
.
isNotEmpty
(
knowledgeParam
.
getOrigin
()))
{
boolQuery
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"origin"
,
knowledgeParam
.
getOrigin
()));
boolQuery
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"origin"
,
knowledgeParam
.
getOrigin
()));
}
}
if
(
StringUtils
.
isNotEmpty
(
knowledgeParam
.
getVerifierName
()))
{
if
(
StringUtils
.
isNotEmpty
(
knowledgeParam
.
getId
()))
{
boolQuery
.
must
(
QueryBuilders
.
matchPhraseQuery
(
"verifierName"
,
knowledgeParam
.
getVerifierName
()));
boolQuery
.
must
(
QueryBuilders
.
termsQuery
(
"id"
,
permitKnowList
));
}
}
if
(!
catList
.
isEmpty
())
{
BoolQueryBuilder
outer
=
new
BoolQueryBuilder
();
boolQuery
.
must
(
QueryBuilders
.
termsQuery
(
"knowledgeProjectId"
,
catList
));
if
(!
knowPermitList
.
isEmpty
())
{
BoolQueryBuilder
boolQueryColumn
=
new
BoolQueryBuilder
();
boolQueryColumn
.
must
(
QueryBuilders
.
termsQuery
(
"id"
,
knowPermitList
));
outer
.
should
(
boolQueryColumn
);
}
}
boolQuery
.
must
(
QueryBuilders
.
termsQuery
(
"knowledgeProjectId"
,
catList
));
if
(
StringUtils
.
isNotEmpty
(
knowledgeParam
.
getTypeIds
()))
{
if
(
StringUtils
.
isNotEmpty
(
knowledgeParam
.
getTypeIds
()))
{
boolQuery
.
must
(
QueryBuilders
.
termsQuery
(
"typeId"
,
Arrays
.
asList
(
knowledgeParam
.
getTypeIds
().
split
(
","
))));
boolQuery
.
must
(
QueryBuilders
.
termsQuery
(
"typeId"
,
Arrays
.
asList
(
knowledgeParam
.
getTypeIds
().
split
(
","
))));
}
}
...
@@ -341,8 +342,8 @@ class KnowledgeServiceImpl implements IKnowledgeService {
...
@@ -341,8 +342,8 @@ class KnowledgeServiceImpl implements IKnowledgeService {
if
(
StringUtils
.
isNotBlank
(
knowledgeParam
.
getEndTime
()))
{
if
(
StringUtils
.
isNotBlank
(
knowledgeParam
.
getEndTime
()))
{
boolQuery
.
filter
(
QueryBuilders
.
rangeQuery
(
"publishDate"
).
lte
(
EsDateUtil
.
esFieldDateFormat
(
knowledgeParam
.
getEndTime
())));
boolQuery
.
filter
(
QueryBuilders
.
rangeQuery
(
"publishDate"
).
lte
(
EsDateUtil
.
esFieldDateFormat
(
knowledgeParam
.
getEndTime
())));
}
}
outer
.
should
(
boolQuery
);
searchSourceBuilder
.
query
(
boolQuery
);
searchSourceBuilder
.
query
(
outer
);
searchRequest
.
source
(
searchSourceBuilder
);
searchRequest
.
source
(
searchSourceBuilder
);
SearchResponse
searchResponse
=
null
;
SearchResponse
searchResponse
=
null
;
try
{
try
{
...
@@ -438,7 +439,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
...
@@ -438,7 +439,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
knowledgeList
.
add
(
KnowledgeVO
.
builder
()
knowledgeList
.
add
(
KnowledgeVO
.
builder
()
.
id
((
String
)
one
.
get
(
"id"
))
.
id
((
String
)
one
.
get
(
"id"
))
.
importData
(
(
int
)
one
.
get
(
"importData"
))
.
importData
(
Integer
.
valueOf
(
one
.
get
(
"importData"
).
toString
()
))
.
title
((
String
)
one
.
get
(
"title"
))
.
title
((
String
)
one
.
get
(
"title"
))
.
author
((
String
)
one
.
get
(
"author"
))
.
author
((
String
)
one
.
get
(
"author"
))
.
score
((
int
)
one
.
get
(
"score"
))
.
score
((
int
)
one
.
get
(
"score"
))
...
@@ -447,17 +448,17 @@ class KnowledgeServiceImpl implements IKnowledgeService {
...
@@ -447,17 +448,17 @@ class KnowledgeServiceImpl implements IKnowledgeService {
.
publishDate
(
one
.
get
(
"publishDate"
).
toString
())
.
publishDate
(
one
.
get
(
"publishDate"
).
toString
())
.
type
(
one
.
get
(
"type"
).
toString
())
.
type
(
one
.
get
(
"type"
).
toString
())
.
verifierName
(
one
.
get
(
"verifierName"
).
toString
())
.
verifierName
(
one
.
get
(
"verifierName"
).
toString
())
.
contents
(
Collections
.
singletonList
(
Content
.
builder
().
contentId
(
one
.
get
(
"contentId"
).
toString
()).
content
(
one
.
get
(
"content"
).
toString
()).
build
()))
.
contents
(
Collections
.
singletonList
(
Content
.
builder
().
contentId
(
one
.
get
(
"contentId"
).
toString
()).
content
(
one
.
get
(
"content"
).
toString
()).
build
()))
.
build
());
.
build
());
}
}
Map
<
String
,
List
<
KnowledgeVO
>>
map
=
knowledgeList
.
stream
().
collect
(
Collectors
.
groupingBy
((
KnowledgeVO:
:
getId
)));
Map
<
String
,
List
<
KnowledgeVO
>>
map
=
knowledgeList
.
stream
().
collect
(
Collectors
.
groupingBy
((
KnowledgeVO:
:
getId
)));
Iterator
<
Map
.
Entry
<
String
,
List
<
KnowledgeVO
>>>
iterator
=
map
.
entrySet
().
iterator
();
Iterator
<
Map
.
Entry
<
String
,
List
<
KnowledgeVO
>>>
iterator
=
map
.
entrySet
().
iterator
();
List
<
KnowledgeVO
>
knowledgeListGrouped
=
new
ArrayList
<>(
map
.
size
());
List
<
KnowledgeVO
>
knowledgeListGrouped
=
new
ArrayList
<>(
map
.
size
());
while
(
iterator
.
hasNext
()){
while
(
iterator
.
hasNext
())
{
Map
.
Entry
<
String
,
List
<
KnowledgeVO
>>
next
=
iterator
.
next
();
Map
.
Entry
<
String
,
List
<
KnowledgeVO
>>
next
=
iterator
.
next
();
List
<
KnowledgeVO
>
value
=
next
.
getValue
();
List
<
KnowledgeVO
>
value
=
next
.
getValue
();
KnowledgeVO
knowledgeVO
=
value
.
get
(
0
);
KnowledgeVO
knowledgeVO
=
value
.
get
(
0
);
knowledgeVO
.
setContents
(
value
.
stream
().
map
(
item
->
item
.
getContents
().
get
(
0
)).
collect
(
Collectors
.
toList
()));
knowledgeVO
.
setContents
(
value
.
stream
().
map
(
item
->
item
.
getContents
().
get
(
0
)).
collect
(
Collectors
.
toList
()));
knowledgeListGrouped
.
add
(
knowledgeVO
);
knowledgeListGrouped
.
add
(
knowledgeVO
);
}
}
IPage
<
KnowledgeVO
>
pageData
=
new
Page
<>(
pageNo
,
pageSize
,
knowledgeListGrouped
.
size
());
IPage
<
KnowledgeVO
>
pageData
=
new
Page
<>(
pageNo
,
pageSize
,
knowledgeListGrouped
.
size
());
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论