Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
K
know-base
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
张京坤
know-base
Commits
2baf68f1
提交
2baf68f1
authored
1月 19, 2024
作者:
chenshiqiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
edit for excel data
上级
664dfab4
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
92 行增加
和
81 行删除
+92
-81
KnowledgeServiceImpl.java
.../com/zzsn/knowbase/service/impl/KnowledgeServiceImpl.java
+64
-56
LocalFileServiceImpl.java
.../com/zzsn/knowbase/service/impl/LocalFileServiceImpl.java
+28
-25
没有找到文件。
src/main/java/com/zzsn/knowbase/service/impl/KnowledgeServiceImpl.java
浏览文件 @
2baf68f1
...
@@ -89,60 +89,68 @@ class KnowledgeServiceImpl implements IKnowledgeService {
...
@@ -89,60 +89,68 @@ class KnowledgeServiceImpl implements IKnowledgeService {
if
(
null
==
knowledge
.
getVerifyStatus
())
{
if
(
null
==
knowledge
.
getVerifyStatus
())
{
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"
));
knowledge
.
setDeleteFlag
(
0
);
knowledge
.
setDeleteFlag
(
0
);
List
<
KnowFile
>
knowFileList
=
new
ArrayList
<>();
KnowledgeMessage
knowledgeMessage
=
new
KnowledgeMessage
();
knowFileList
.
add
(
knowFile
);
if
(
Integer
.
valueOf
(
"0"
).
equals
(
knowledge
.
getImportData
()))
{
knowledge
.
setFiles
(
knowFileList
);
List
<
KnowFile
>
knowFileList
=
new
ArrayList
<>();
List
<
Content
>
contentList
=
new
ArrayList
<>();
knowFileList
.
add
(
knowFile
);
List
<
String
>
contentStringList
=
new
ArrayList
<>();
knowledge
.
setFiles
(
knowFileList
);
String
html
=
null
;
List
<
Content
>
contentList
=
new
ArrayList
<>();
try
{
List
<
String
>
contentStringList
=
new
ArrayList
<>();
File
file
=
new
File
(
filesStorage
+
knowledge
.
getFiles
().
get
(
0
).
getFilePath
());
String
html
=
null
;
html
=
DocUtil
.
convertDocStream2Html
(
new
FileInputStream
(
file
));
try
{
String
htmlWithTable
=
html
.
replace
(
"</p>"
,
"######</p>"
);
File
file
=
new
File
(
filesStorage
+
knowledge
.
getFiles
().
get
(
0
).
getFilePath
());
htmlWithTable
=
htmlWithTable
.
replace
(
"</title>"
,
"######</title>"
);
html
=
DocUtil
.
convertDocStream2Html
(
new
FileInputStream
(
file
));
htmlWithTable
=
htmlWithTable
.
replace
(
"</h1>"
,
"######</h1>"
);
String
htmlWithTable
=
html
.
replace
(
"</p>"
,
"######</p>"
);
contentStringList
=
Arrays
.
asList
(
htmlWithTable
.
split
(
"######"
));
htmlWithTable
=
htmlWithTable
.
replace
(
"</title>"
,
"######</title>"
);
}
catch
(
Exception
e
)
{
htmlWithTable
=
htmlWithTable
.
replace
(
"</h1>"
,
"######</h1>"
);
e
.
printStackTrace
();
contentStringList
=
Arrays
.
asList
(
htmlWithTable
.
split
(
"######"
));
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
if
(
null
==
knowledge
.
getTitle
())
{
if
(
null
==
knowledge
.
getTitle
())
{
for
(
String
tem
:
contentStringList
)
{
for
(
String
tem
:
contentStringList
)
{
String
text
=
Jsoup
.
parse
(
tem
).
text
();
String
text
=
Jsoup
.
parse
(
tem
).
text
();
log
.
info
(
"info:{}"
,
text
);
log
.
info
(
"info:{}"
,
text
);
if
((!
tem
.
contains
(
"<title>"
))
&&
(!
text
.
isEmpty
()))
{
if
((!
tem
.
contains
(
"<title>"
))
&&
(!
text
.
isEmpty
()))
{
knowledge
.
setTitle
(
text
);
knowledge
.
setTitle
(
text
);
break
;
break
;
}
}
}
}
}
}
List
<
String
>
messageContentList
=
contentStringList
.
stream
()
List
<
String
>
messageContentList
=
contentStringList
.
stream
()
.
filter
(
item
->
!
item
.
contains
(
"<img"
))
.
filter
(
item
->
!
item
.
contains
(
"<img"
))
.
filter
(
item
->
!
item
.
contains
(
"<table"
))
.
filter
(
item
->
!
item
.
contains
(
"<table"
))
.
filter
(
item
->
!
item
.
contains
(
"<tr>"
))
.
filter
(
item
->
!
item
.
contains
(
"<tr>"
))
.
filter
(
item
->
!
item
.
contains
(
"</tr>"
))
.
filter
(
item
->
!
item
.
contains
(
"</tr>"
))
.
filter
(
item
->
!
item
.
contains
(
"<td>"
))
.
filter
(
item
->
!
item
.
contains
(
"<td>"
))
.
filter
(
item
->
!
item
.
contains
(
"</td>"
))
.
filter
(
item
->
!
item
.
contains
(
"</td>"
))
.
map
(
item
->
Jsoup
.
parse
(
item
).
text
())
.
map
(
item
->
Jsoup
.
parse
(
item
).
text
())
.
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
messageContentList
=
messageContentList
.
messageContentList
=
messageContentList
.
stream
().
filter
(
item
->
item
.
length
()
>
10
)
stream
().
filter
(
item
->
item
.
length
()
>
10
)
.
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
if
(!
messageContentList
.
isEmpty
())
{
if
(!
messageContentList
.
isEmpty
())
{
for
(
String
tem
:
messageContentList
)
{
for
(
String
tem
:
messageContentList
)
{
contentList
.
add
(
Content
.
builder
()
contentList
.
add
(
Content
.
builder
()
.
contentId
(
codeGenerateUtil
.
geneIdNo
(
Constants
.
FINANCE
,
8
))
.
contentId
(
codeGenerateUtil
.
geneIdNo
(
Constants
.
FINANCE
,
8
))
.
content
(
tem
)
.
content
(
tem
)
.
build
());
.
build
());
}
}
knowledge
.
setContents
(
contentList
);
knowledgeMessage
.
setContents
(
contentList
);
}
else
{
if
(
null
==
knowledge
.
getContents
().
get
(
0
).
getContentId
())
{
knowledge
.
getContents
().
get
(
0
).
setContentId
(
codeGenerateUtil
.
geneIdNo
(
Constants
.
FINANCE
,
8
));
}
}
knowledgeMessage
.
setContents
(
knowledge
.
getContents
());
}
}
knowledge
.
setContents
(
contentList
);
//id为空表示新增
//id为空表示新增
if
(
null
==
knowledge
.
getId
())
{
if
(
null
==
knowledge
.
getId
())
{
knowledge
.
setId
(
codeGenerateUtil
.
geneIdNo
(
Constants
.
FINANCE
,
8
));
knowledge
.
setId
(
codeGenerateUtil
.
geneIdNo
(
Constants
.
FINANCE
,
8
));
...
@@ -153,10 +161,10 @@ class KnowledgeServiceImpl implements IKnowledgeService {
...
@@ -153,10 +161,10 @@ class KnowledgeServiceImpl implements IKnowledgeService {
}
}
//删除
//删除
deleteForPython
(
knowledge
.
getId
());
deleteForPython
(
knowledge
.
getId
());
KnowledgeMessage
knowledgeMessage
=
new
KnowledgeMessage
();
BeanUtils
.
copyProperties
(
knowledge
,
knowledgeMessage
);
BeanUtils
.
copyProperties
(
knowledge
,
knowledgeMessage
);
knowledgeMessage
.
setType
(
knowledge
.
getTypeId
());
knowledgeMessage
.
setType
(
knowledge
.
getTypeId
());
knowledgeMessage
.
setContents
(
contentList
);
produceInfo
.
sendKnowledgeContents
(
knowledgeMessage
);
produceInfo
.
sendKnowledgeContents
(
knowledgeMessage
);
}
}
...
@@ -170,7 +178,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
...
@@ -170,7 +178,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
String
[]
split
=
ids
.
split
(
","
);
String
[]
split
=
ids
.
split
(
","
);
for
(
String
id
:
split
)
{
for
(
String
id
:
split
)
{
esOpUtil
.
docDeleteById
(
Constants
.
ES_DATA_FOR_KNOWLEDGE
,
id
);
esOpUtil
.
docDeleteById
(
Constants
.
ES_DATA_FOR_KNOWLEDGE
,
id
);
CompletableFuture
.
runAsync
(()
->
deleteForPython
(
id
));
CompletableFuture
.
runAsync
(()
->
deleteForPython
(
id
));
}
}
}
}
...
@@ -451,7 +459,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
...
@@ -451,7 +459,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
}
}
@Override
@Override
public
Result
<?>
doImportInfo
(
HttpServletRequest
request
,
String
userId
)
{
public
Result
<?>
doImportInfo
(
HttpServletRequest
request
,
String
userId
)
{
MultipartHttpServletRequest
multipartRequest
=
(
MultipartHttpServletRequest
)
request
;
MultipartHttpServletRequest
multipartRequest
=
(
MultipartHttpServletRequest
)
request
;
Map
<
String
,
MultipartFile
>
fileMap
=
multipartRequest
.
getFileMap
();
Map
<
String
,
MultipartFile
>
fileMap
=
multipartRequest
.
getFileMap
();
if
(
fileMap
.
size
()
<
1
)
{
if
(
fileMap
.
size
()
<
1
)
{
...
@@ -461,7 +469,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
...
@@ -461,7 +469,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
int
index
=
multipartFile
.
getOriginalFilename
().
lastIndexOf
(
"."
);
int
index
=
multipartFile
.
getOriginalFilename
().
lastIndexOf
(
"."
);
String
fileSuffix
=
multipartFile
.
getOriginalFilename
().
substring
(
index
+
1
);
String
fileSuffix
=
multipartFile
.
getOriginalFilename
().
substring
(
index
+
1
);
if
(
"doc"
.
equals
(
fileSuffix
)
||
"docx"
.
equals
(
fileSuffix
)
||
"xls"
.
equals
(
fileSuffix
)
||
"xlsx"
.
equals
(
fileSuffix
))
{
if
(
"doc"
.
equals
(
fileSuffix
)
||
"docx"
.
equals
(
fileSuffix
)
||
"xls"
.
equals
(
fileSuffix
)
||
"xlsx"
.
equals
(
fileSuffix
))
{
asyncService
.
doimport
(
request
,
fileSuffix
,
userId
);
asyncService
.
doimport
(
request
,
fileSuffix
,
userId
);
return
Result
.
OK
(
"已进行处理"
);
return
Result
.
OK
(
"已进行处理"
);
}
else
{
}
else
{
return
Result
.
error
(
"不支持的文件类型"
);
return
Result
.
error
(
"不支持的文件类型"
);
...
@@ -470,7 +478,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
...
@@ -470,7 +478,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
}
}
@Override
@Override
public
void
doExcel
(
HttpServletRequest
request
,
String
fileSuffix
,
String
userId
)
{
public
void
doExcel
(
HttpServletRequest
request
,
String
fileSuffix
,
String
userId
)
{
String
kbKnowledgeId
=
request
.
getParameter
(
"kbKnowledgeId"
);
String
kbKnowledgeId
=
request
.
getParameter
(
"kbKnowledgeId"
);
String
knowledgeProjectId
=
request
.
getParameter
(
"knowledgeProjectId"
);
String
knowledgeProjectId
=
request
.
getParameter
(
"knowledgeProjectId"
);
String
typeId
=
request
.
getParameter
(
"typeId"
);
String
typeId
=
request
.
getParameter
(
"typeId"
);
...
@@ -504,16 +512,16 @@ class KnowledgeServiceImpl implements IKnowledgeService {
...
@@ -504,16 +512,16 @@ class KnowledgeServiceImpl implements IKnowledgeService {
specialInformation
.
setId
(
codeGenerateUtil
.
geneIdNo
(
Constants
.
FINANCE
,
8
));
specialInformation
.
setId
(
codeGenerateUtil
.
geneIdNo
(
Constants
.
FINANCE
,
8
));
if
(
StringUtils
.
isNotEmpty
(
info
.
get
(
0
)))
{
if
(
StringUtils
.
isNotEmpty
(
info
.
get
(
0
)))
{
specialInformation
.
setTitle
(
info
.
get
(
0
));
specialInformation
.
setTitle
(
info
.
get
(
0
));
}
else
{
}
else
{
log
.
error
(
"上传的数据{}标题为空,此条数据忽略"
,
info
.
get
(
0
));
log
.
error
(
"上传的数据{}标题为空,此条数据忽略"
,
info
.
get
(
0
));
continue
;
continue
;
}
}
if
(
StringUtils
.
isNotEmpty
(
info
.
get
(
1
)))
{
if
(
StringUtils
.
isNotEmpty
(
info
.
get
(
1
)))
{
specialInformation
.
setContents
(
Collections
.
singletonList
(
Content
.
builder
()
specialInformation
.
setContents
(
Collections
.
singletonList
(
Content
.
builder
()
.
contentId
(
codeGenerateUtil
.
geneIdNo
(
Constants
.
FINANCE
,
8
))
.
contentId
(
codeGenerateUtil
.
geneIdNo
(
Constants
.
FINANCE
,
8
))
.
content
(
info
.
get
(
1
)).
build
()));
.
content
(
info
.
get
(
1
)).
build
()));
}
else
{
}
else
{
log
.
error
(
"上传的数据{}正文为空,此条数据忽略"
,
info
.
get
(
0
));
log
.
error
(
"上传的数据{}正文为空,此条数据忽略"
,
info
.
get
(
0
));
continue
;
continue
;
}
}
if
(
StringUtils
.
isNotEmpty
(
info
.
get
(
2
)))
{
if
(
StringUtils
.
isNotEmpty
(
info
.
get
(
2
)))
{
...
...
src/main/java/com/zzsn/knowbase/service/impl/LocalFileServiceImpl.java
浏览文件 @
2baf68f1
...
@@ -290,16 +290,11 @@ public class LocalFileServiceImpl implements ILocalFileService {
...
@@ -290,16 +290,11 @@ public class LocalFileServiceImpl implements ILocalFileService {
@Override
@Override
public
Result
<?>
editKnowledge
(
Knowledge
knowledge
)
{
public
Result
<?>
editKnowledge
(
Knowledge
knowledge
)
{
Result
result
=
Result
.
OK
();
Result
result
=
Result
.
OK
();
String
id
=
knowledge
.
getId
();
String
id
=
knowledge
.
getId
();
if
(
id
==
null
||
""
.
equals
(
id
))
if
(
id
==
null
||
""
.
equals
(
id
))
return
Result
.
error
(
"文章id不能为空"
);
return
Result
.
error
(
"文章id不能为空"
);
String
publish
=
EsDateUtil
.
esFieldDateFormat
(
knowledge
.
getPublishDate
());
String
publish
=
EsDateUtil
.
esFieldDateFormat
(
knowledge
.
getPublishDate
());
knowledge
.
setPublishDate
(
publish
);
knowledge
.
setPublishDate
(
publish
);
KbAuthorizedUser
userInfo
=
SpringContextUtils
.
getUserInfo
();
KbAuthorizedUser
userInfo
=
SpringContextUtils
.
getUserInfo
();
knowledge
.
setUpdateBy
(
userInfo
.
getName
());
knowledge
.
setUpdateBy
(
userInfo
.
getName
());
knowledge
.
setUpdateTime
(
cn
.
hutool
.
core
.
date
.
DateUtil
.
formatDateTime
(
new
Date
()).
replace
(
" "
,
"T"
));
knowledge
.
setUpdateTime
(
cn
.
hutool
.
core
.
date
.
DateUtil
.
formatDateTime
(
new
Date
()).
replace
(
" "
,
"T"
));
...
@@ -310,30 +305,38 @@ public class LocalFileServiceImpl implements ILocalFileService {
...
@@ -310,30 +305,38 @@ public class LocalFileServiceImpl implements ILocalFileService {
knowledge
.
setVerifierId
(
userInfo
.
getUserId
());
knowledge
.
setVerifierId
(
userInfo
.
getUserId
());
knowledge
.
setVerifierName
(
userInfo
.
getUsername
());
knowledge
.
setVerifierName
(
userInfo
.
getUsername
());
List
<
KnowFile
>
files
=
knowledge
.
getFiles
();
KnowFile
knowFile
=
files
.
get
(
0
);
String
filePath
=
knowFile
.
getFilePath
();
try
{
getDoucmentEditStatus
(
filePath
,
knowFile
.
getFileName
());
}
catch
(
ParseException
e
)
{
if
(
Integer
.
valueOf
(
"0"
).
equals
(
knowledge
.
getImportData
())){
e
.
printStackTrace
();
result
=
Result
.
error
(
"文件保存失败!"
);
}
try
{
List
<
KnowFile
>
files
=
knowledge
.
getFiles
();
Thread
.
sleep
(
5000
);
KnowFile
knowFile
=
files
.
get
(
0
);
}
catch
(
InterruptedException
e
)
{
String
filePath
=
knowFile
.
getFilePath
();
e
.
printStackTrace
();
try
{
}
getDoucmentEditStatus
(
filePath
,
knowFile
.
getFileName
());
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
result
=
Result
.
error
(
"文件保存失败!"
);
}
try
{
Thread
.
sleep
(
5000
);
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
String
fileType
=
fileUtility
.
getFileType
(
knowFile
.
getFileName
());
String
fileType
=
fileUtility
.
getFileType
(
knowFile
.
getFileName
());
knowFile
.
setFileType
(
fileType
);
knowFile
.
setFileType
(
fileType
);
File
file
=
new
File
(
filesStorage
+
knowFile
.
getFilePath
());
File
file
=
new
File
(
filesStorage
+
knowFile
.
getFilePath
());
Long
size
=
file
.
length
();
Long
size
=
file
.
length
();
knowFile
.
setFileSize
(
size
);
knowFile
.
setFileSize
(
size
);
knowledgeService
.
addKnowledge
(
knowFile
,
knowledge
,
userInfo
);
knowledgeService
.
addKnowledge
(
knowFile
,
knowledge
,
userInfo
);
}
else
{
knowledgeService
.
addKnowledge
(
null
,
knowledge
,
userInfo
);
}
return
result
;
return
result
;
}
}
public
ResponseEntity
<
Object
>
getDoucmentEditStatus
(
String
filePath
,
String
fileName
)
throws
ParseException
{
public
ResponseEntity
<
Object
>
getDoucmentEditStatus
(
String
filePath
,
String
fileName
)
throws
ParseException
{
String
url
=
officeUrl
+
officeCommand
;
String
url
=
officeUrl
+
officeCommand
;
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论