Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
K
know-base
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
张京坤
know-base
Commits
be6454b5
提交
be6454b5
authored
1月 10, 2024
作者:
chenshiqiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
deal knowledgeType
上级
5765fd99
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
75 行增加
和
30 行删除
+75
-30
KnowledgeController.java
...ava/com/zzsn/knowbase/controller/KnowledgeController.java
+29
-17
Knowledge.java
src/main/java/com/zzsn/knowbase/entity/Knowledge.java
+1
-0
IKnowledgeService.java
...ain/java/com/zzsn/knowbase/service/IKnowledgeService.java
+2
-0
KnowledgeServiceImpl.java
.../com/zzsn/knowbase/service/impl/KnowledgeServiceImpl.java
+30
-12
KnowledgeParam.java
src/main/java/com/zzsn/knowbase/vo/KnowledgeParam.java
+1
-1
KnowledgeVO.java
src/main/java/com/zzsn/knowbase/vo/KnowledgeVO.java
+12
-0
没有找到文件。
src/main/java/com/zzsn/knowbase/controller/KnowledgeController.java
浏览文件 @
be6454b5
...
...
@@ -58,24 +58,35 @@ public class KnowledgeController {
@RequestParam
(
name
=
"pageSize"
,
defaultValue
=
"10"
)
Integer
pageSize
,
@RequestParam
(
name
=
"column"
,
defaultValue
=
"common"
)
String
column
,
@RequestParam
(
name
=
"order"
,
defaultValue
=
"desc"
)
String
order
)
{
if
(
null
!=
knowledgeParam
.
getSearchInfo
()
&&
Integer
.
valueOf
(
"2"
).
equals
(
knowledgeParam
.
getSearchScope
()))
{
IPage
<
KnowledgeVO
>
pageList
=
knowledgeService
.
listFromPython
(
knowledgeParam
,
pageNo
,
pageSize
,
column
,
order
);
return
Result
.
OK
(
pageList
);
}
IPage
<
KnowledgeVO
>
pageList
=
knowledgeService
.
queryPageList
(
knowledgeParam
,
pageNo
,
pageSize
,
column
,
order
);
return
Result
.
OK
(
pageList
);
}
/**
* 分页列表查询
*/
@GetMapping
(
value
=
"/getById"
)
public
Result
<?>
getById
(
@RequestParam
String
id
)
{
KnowledgeVO
knowledgeVO
=
knowledgeService
.
getById
(
id
);
return
Result
.
OK
(
knowledgeVO
);
}
/**
* 分页列表查询
*/
@GetMapping
(
value
=
"/listFromPython"
)
public
Result
<?>
listFromPython
(
KnowledgeParam
knowledgeParam
,
@RequestParam
(
name
=
"pageNo"
,
defaultValue
=
"1"
)
Integer
pageNo
,
@RequestParam
(
name
=
"pageSize"
,
defaultValue
=
"10"
)
Integer
pageSize
,
@RequestParam
(
name
=
"column"
,
defaultValue
=
"common"
)
String
column
,
@RequestParam
(
name
=
"order"
,
defaultValue
=
"desc"
)
String
order
)
{
@RequestParam
(
name
=
"pageNo"
,
defaultValue
=
"1"
)
Integer
pageNo
,
@RequestParam
(
name
=
"pageSize"
,
defaultValue
=
"10"
)
Integer
pageSize
,
@RequestParam
(
name
=
"column"
,
defaultValue
=
"common"
)
String
column
,
@RequestParam
(
name
=
"order"
,
defaultValue
=
"desc"
)
String
order
)
{
IPage
<
KnowledgeVO
>
pageList
=
knowledgeService
.
listFromPython
(
knowledgeParam
,
pageNo
,
pageSize
,
column
,
order
);
return
Result
.
OK
(
pageList
);
}
/**
* 添加
*
...
...
@@ -84,16 +95,16 @@ public class KnowledgeController {
*/
@ApiOperation
(
value
=
"知识-添加"
,
notes
=
"知识-添加"
)
@PostMapping
(
value
=
"/uploadKnowledge"
)
public
Result
<?>
uploadKnowledge
(
HttpServletRequest
request
,
Knowledge
knowledge
)
{
public
Result
<?>
uploadKnowledge
(
HttpServletRequest
request
,
Knowledge
knowledge
)
{
MultipartHttpServletRequest
multipartRequest
=
WebUtils
.
getNativeRequest
(
request
,
MultipartHttpServletRequest
.
class
);
Map
<
String
,
MultipartFile
>
fileMap
=
multipartRequest
.
getFileMap
();
Map
<
String
,
MultipartFile
>
fileMap
=
multipartRequest
.
getFileMap
();
List
<
Result
<
KnowFile
>>
resultList
=
localFileService
.
upload
(
fileMap
);
if
(
null
==
resultList
||
resultList
.
isEmpty
())
{
if
(
null
==
resultList
||
resultList
.
isEmpty
())
{
return
Result
.
error
(
"上传文件失败"
);
}
for
(
Result
<
KnowFile
>
knowFileResult
:
resultList
)
{
knowledgeService
.
addKnowledge
(
knowFileResult
.
getResult
(),
knowledge
);
knowledgeService
.
addKnowledge
(
knowFileResult
.
getResult
(),
knowledge
);
}
return
Result
.
OK
(
"添加成功!"
);
}
...
...
@@ -122,11 +133,12 @@ public class KnowledgeController {
knowledgeService
.
deleteKnowledge
(
ids
);
return
Result
.
OK
(
"删除成功!"
);
}
/**
* 文档解析
*/
@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
);
return
Result
.
OK
(
s
);
}
...
...
@@ -138,13 +150,13 @@ public class KnowledgeController {
* @return
*/
@PostMapping
(
value
=
"/IntelligentQa"
)
public
Result
<?>
intelligentQa
(
IntelligentQaParam
intelligentQaParam
)
throws
IOException
{
JSONObject
params
=
new
JSONObject
();
params
.
put
(
"question"
,
intelligentQaParam
.
getQuestion
());
params
.
put
(
"knowledge_base_id"
,
Arrays
.
asList
(
intelligentQaParam
.
getKnowledgeProjectIds
().
split
(
","
)));
public
Result
<?>
intelligentQa
(
IntelligentQaParam
intelligentQaParam
)
throws
IOException
{
JSONObject
params
=
new
JSONObject
();
params
.
put
(
"question"
,
intelligentQaParam
.
getQuestion
());
params
.
put
(
"knowledge_base_id"
,
Arrays
.
asList
(
intelligentQaParam
.
getKnowledgeProjectIds
().
split
(
","
)));
String
result
=
HttpUtil
.
doPost
(
intelligentQaUrl
,
params
,
120000
);
if
(!
result
.
isEmpty
())
{
JSONObject
jsonObject
=
JSON
.
parseObject
(
result
);
if
(!
result
.
isEmpty
())
{
JSONObject
jsonObject
=
JSON
.
parseObject
(
result
);
return
Result
.
OK
(
jsonObject
.
get
(
"result"
));
}
return
Result
.
error
(
"响应失败"
);
...
...
src/main/java/com/zzsn/knowbase/entity/Knowledge.java
浏览文件 @
be6454b5
...
...
@@ -101,6 +101,7 @@ public class Knowledge implements Serializable {
/**
* 类型
*/
private
String
typeId
;
private
String
type
;
private
Integer
deleteFlag
;
private
List
<
Content
>
contents
;
...
...
src/main/java/com/zzsn/knowbase/service/IKnowledgeService.java
浏览文件 @
be6454b5
...
...
@@ -44,4 +44,6 @@ public interface IKnowledgeService {
IPage
<
KnowledgeVO
>
queryPageList
(
KnowledgeParam
knowledgeParam
,
Integer
pageNo
,
Integer
pageSize
,
String
column
,
String
order
);
IPage
<
KnowledgeVO
>
listFromPython
(
KnowledgeParam
knowledgeParam
,
Integer
pageNo
,
Integer
pageSize
,
String
column
,
String
order
);
KnowledgeVO
getById
(
String
id
);
}
src/main/java/com/zzsn/knowbase/service/impl/KnowledgeServiceImpl.java
浏览文件 @
be6454b5
package
com
.
zzsn
.
knowbase
.
service
.
impl
;
import
cn.hutool.json.JSONUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
...
...
@@ -9,6 +10,7 @@ import com.zzsn.knowbase.constant.Constants;
import
com.zzsn.knowbase.entity.Content
;
import
com.zzsn.knowbase.entity.KnowFile
;
import
com.zzsn.knowbase.entity.Knowledge
;
import
com.zzsn.knowbase.enums.KnowTypeEnum
;
import
com.zzsn.knowbase.kafka.message.KnowledgeMessage
;
import
com.zzsn.knowbase.kafka.producer.ProduceInfo
;
import
com.zzsn.knowbase.service.IKnowledgeService
;
...
...
@@ -41,10 +43,7 @@ import springfox.documentation.spring.web.json.Json;
import
javax.servlet.http.HttpServletRequest
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
static
org
.
apache
.
commons
.
lang3
.
StringUtils
.
split
;
...
...
@@ -81,6 +80,10 @@ class KnowledgeServiceImpl implements IKnowledgeService {
if
(
null
==
knowledge
.
getVerifyStatus
())
{
knowledge
.
setVerifyStatus
(
0
);
}
if
(
null
==
knowledge
.
getType
())
{
knowledge
.
setType
(
KnowTypeEnum
.
getByType
(
knowledge
.
getTypeId
()).
getDes
());
}
knowledge
.
setCreateTime
(
cn
.
hutool
.
core
.
date
.
DateUtil
.
formatDateTime
(
new
Date
()).
replace
(
" "
,
"T"
));
knowledge
.
setDeleteFlag
(
0
);
...
...
@@ -148,7 +151,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
public
void
deleteForPython
(
String
id
)
{
JSONObject
params
=
new
JSONObject
();
params
.
put
(
"knowledge_base_id"
,
id
);
params
.
put
(
"knowledge_base_id"
,
id
);
try
{
HttpUtil
.
doPost
(
deleteUrl
,
params
,
120000
);
}
catch
(
IOException
e
)
{
...
...
@@ -296,8 +299,14 @@ class KnowledgeServiceImpl implements IKnowledgeService {
// if (org.springframework.util.StringUtils.isEmpty(data)) {
if
(
true
)
{
StringBuilder
typeNames
=
new
StringBuilder
();
if
(
null
!=
knowledgeParam
.
getTypeIds
()){
for
(
String
type
:
knowledgeParam
.
getTypeIds
().
split
(
","
))
{
typeNames
.
append
(
KnowTypeEnum
.
getByType
(
type
).
getDes
()).
append
(
","
);
}
}
JSONObject
params
=
new
JSONObject
();
params
.
put
(
"type"
,
null
==
knowledgeParam
.
getTypes
()
?
null
:
Arrays
.
asList
(
knowledgeParam
.
getTypes
().
split
(
","
))
);
params
.
put
(
"type"
,
typeNames
);
params
.
put
(
"startTime"
,
knowledgeParam
.
getStartTime
());
params
.
put
(
"endTime"
,
knowledgeParam
.
getEndTime
());
params
.
put
(
"author"
,
knowledgeParam
.
getAuthor
());
...
...
@@ -319,21 +328,21 @@ class KnowledgeServiceImpl implements IKnowledgeService {
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
if
(
result
==
null
||
!
result
.
contains
(
"results"
))
{
if
(
result
==
null
||
!
result
.
contains
(
"results"
))
{
return
null
;
}
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
result
);
data
=
jsonObject
.
get
(
"results"
);
redisUtil
.
set
(
genKey
(
knowledgeParam
),
data
,
100000000
);
data
=
jsonObject
.
get
(
"results"
);
redisUtil
.
set
(
genKey
(
knowledgeParam
),
data
,
100000000
);
}
JSONArray
jsonArray
=
JSONObject
.
parseArray
(
data
.
toString
());
List
<
KnowledgeVO
>
knowledgeList
=
new
ArrayList
<>(
jsonArray
.
size
());
List
<
KnowledgeVO
>
knowledgeList
=
new
ArrayList
<>(
jsonArray
.
size
());
for
(
Object
o
:
jsonArray
)
{
JSONObject
one
=
JSONObject
.
parseObject
(
o
.
toString
());
knowledgeList
.
add
(
KnowledgeVO
.
builder
()
.
id
((
String
)
one
.
get
(
"id"
))
.
score
((
int
)
one
.
get
(
"score"
))
.
verifyStatus
(
""
.
equals
(
one
.
get
(
"verifyStatus"
))
?
0
:(
int
)
one
.
get
(
"verifyStatus"
))
.
verifyStatus
(
""
.
equals
(
one
.
get
(
"verifyStatus"
))
?
0
:
Integer
.
parseInt
(
one
.
get
(
"verifyStatus"
).
toString
()
))
.
verifyTime
(
one
.
get
(
"verifyTime"
).
toString
())
.
publishDate
(
one
.
get
(
"publishDate"
).
toString
())
.
type
(
one
.
get
(
"type"
).
toString
())
...
...
@@ -347,8 +356,17 @@ class KnowledgeServiceImpl implements IKnowledgeService {
return
pageData
;
}
@Override
public
KnowledgeVO
getById
(
String
id
)
{
Map
<
String
,
Object
>
map
=
esOpUtil
.
searchDoc
(
Constants
.
ES_DATA_FOR_KNOWLEDGE
,
id
);
if
(
map
!=
null
)
{
return
JSON
.
parseObject
(
JSON
.
toJSONString
(
map
),
KnowledgeVO
.
class
);
}
return
null
;
}
private
String
genKey
(
KnowledgeParam
knowledgeParam
)
{
String
type
=
(
knowledgeParam
.
getType
s
()
==
null
?
""
:
knowledgeParam
.
getType
s
());
String
type
=
(
knowledgeParam
.
getType
Ids
()
==
null
?
""
:
knowledgeParam
.
getTypeId
s
());
String
knowledgeProjectId
=
(
knowledgeParam
.
getKnowledgeProjectId
()
==
null
?
""
:
knowledgeParam
.
getKnowledgeProjectId
());
String
startTime
=
(
knowledgeParam
.
getStartTime
()
==
null
?
""
:
knowledgeParam
.
getStartTime
());
String
endTime
=
(
knowledgeParam
.
getEndTime
()
==
null
?
""
:
knowledgeParam
.
getEndTime
());
...
...
src/main/java/com/zzsn/knowbase/vo/KnowledgeParam.java
浏览文件 @
be6454b5
...
...
@@ -48,7 +48,7 @@ public class KnowledgeParam {
/**
* 类型
*/
private
String
types
;
private
String
type
Id
s
;
/**
* 发布开始时间
*/
...
...
src/main/java/com/zzsn/knowbase/vo/KnowledgeVO.java
浏览文件 @
be6454b5
package
com
.
zzsn
.
knowbase
.
vo
;
import
com.zzsn.knowbase.entity.Content
;
import
com.zzsn.knowbase.entity.KnowFile
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
/**
* 知识参数
...
...
@@ -11,15 +17,21 @@ import lombok.Data;
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public
class
KnowledgeVO
{
private
String
content
;
private
String
id
;
private
String
title
;
private
String
verifyTime
;
private
String
publishDate
;
private
String
createTime
;
private
String
type
;
private
String
verifierName
;
private
Integer
score
;
private
Integer
verifyStatus
;
private
List
<
Content
>
contents
;
private
List
<
KnowFile
>
files
;
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论