Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
K
know-base
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
张京坤
know-base
Commits
f0645305
提交
f0645305
authored
3月 18, 2024
作者:
chenshiqiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
excel export
上级
f74747e8
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
231 行增加
和
26 行删除
+231
-26
KnowledgeController.java
...ava/com/zzsn/knowbase/controller/KnowledgeController.java
+95
-7
IKnowledgeService.java
...ain/java/com/zzsn/knowbase/service/IKnowledgeService.java
+2
-0
KnowledgeServiceImpl.java
.../com/zzsn/knowbase/service/impl/KnowledgeServiceImpl.java
+45
-11
ExcelExportUtil.java
src/main/java/com/zzsn/knowbase/util/ExcelExportUtil.java
+88
-8
KnowledgeVO.java
src/main/java/com/zzsn/knowbase/vo/KnowledgeVO.java
+1
-0
没有找到文件。
src/main/java/com/zzsn/knowbase/controller/KnowledgeController.java
浏览文件 @
f0645305
...
@@ -18,6 +18,9 @@ import io.swagger.annotations.Api;
...
@@ -18,6 +18,9 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.ListUtils
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
...
@@ -28,12 +31,11 @@ import org.springframework.web.util.WebUtils;
...
@@ -28,12 +31,11 @@ import org.springframework.web.util.WebUtils;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.File
;
import
java.io.File
;
import
java.io.FileOutputStream
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.CompletableFuture
;
import
java.util.concurrent.CompletableFuture
;
import
java.util.concurrent.TimeUnit
;
/**
/**
* @Description: 知识
* @Description: 知识
...
@@ -54,6 +56,9 @@ public class KnowledgeController {
...
@@ -54,6 +56,9 @@ public class KnowledgeController {
@Autowired
@Autowired
private
ILocalFileService
localFileService
;
private
ILocalFileService
localFileService
;
@Autowired
private
RedisUtil
redisUtil
;
/**
/**
* 分页列表查询
* 分页列表查询
*/
*/
...
@@ -154,7 +159,7 @@ public class KnowledgeController {
...
@@ -154,7 +159,7 @@ public class KnowledgeController {
* @return
* @return
*/
*/
@PostMapping
(
value
=
"/delete"
)
@PostMapping
(
value
=
"/delete"
)
public
Result
<?>
delete
(
@RequestBody
DeleteParam
deleteParam
)
{
public
Result
<?>
delete
(
@RequestBody
DeleteParam
deleteParam
)
{
knowledgeService
.
deleteKnowledge
(
deleteParam
.
getKnowledgeList
());
knowledgeService
.
deleteKnowledge
(
deleteParam
.
getKnowledgeList
());
return
Result
.
OK
(
"删除成功!"
);
return
Result
.
OK
(
"删除成功!"
);
}
}
...
@@ -195,7 +200,7 @@ public class KnowledgeController {
...
@@ -195,7 +200,7 @@ public class KnowledgeController {
public
Result
<?>
importInfo
(
HttpServletRequest
request
,
HttpServletResponse
response
)
{
public
Result
<?>
importInfo
(
HttpServletRequest
request
,
HttpServletResponse
response
)
{
KbAuthorizedUser
userInfo
=
SpringContextUtils
.
getUserInfo
();
KbAuthorizedUser
userInfo
=
SpringContextUtils
.
getUserInfo
();
assert
userInfo
!=
null
;
assert
userInfo
!=
null
;
return
knowledgeService
.
doImportInfo
(
request
,
userInfo
.
getId
());
return
knowledgeService
.
doImportInfo
(
request
,
userInfo
.
getId
());
}
}
...
@@ -215,8 +220,90 @@ public class KnowledgeController {
...
@@ -215,8 +220,90 @@ public class KnowledgeController {
}
}
return
Result
.
OK
();
return
Result
.
OK
();
}
}
/*
* 导出excel(专题-已采集)
*
* @param request
* @param
* @update by wp
* 异步调用
*
*/
@PostMapping
(
value
=
"/exportCollectionXls"
)
public
Result
<?>
exportCollectionXls
(
HttpServletRequest
request
,
HttpServletResponse
response
,
KnowledgeVO
knowledgeVO
,
String
ids
,
@RequestParam
(
name
=
"isAll"
,
defaultValue
=
"0"
)
String
isAll
)
{
//获取数据
if
(
redisUtil
.
get
(
ids
)
==
null
)
{
try
{
String
[]
arr
=
new
String
[]{
"标题"
,
"正文"
,
"作者"
,
"来源"
,
"发布时间"
};
List
<
KnowledgeVO
>
informationList
=
knowledgeService
.
listByIds
(
ids
);
if
(
CollectionUtils
.
isNotEmpty
(
informationList
))
{
//动态补充表头
List
<
String
>
headers
=
Arrays
.
asList
(
arr
);
//每个sheet页最多5000条数据
List
<
List
<
KnowledgeVO
>>
partition
=
ListUtils
.
partition
(
informationList
,
5000
);
XSSFWorkbook
workbook
=
new
XSSFWorkbook
();
for
(
int
i
=
0
;
i
<
partition
.
size
();
i
++)
{
List
<
List
<
String
>>
rows
=
formatData
(
partition
.
get
(
i
));
ExcelExportUtil
.
exportExcelData
(
workbook
,
i
,
headers
,
rows
,
"sheet"
+
(
i
+
1
));
}
File
fileDir
=
ExcelExportUtil
.
getFileDir
();
String
filePath
=
fileDir
.
getAbsolutePath
()
+
File
.
separator
+
UUID
.
randomUUID
().
toString
().
replace
(
"-"
,
""
)
+
"info.xlsx"
;
FileOutputStream
outputStream
=
new
FileOutputStream
(
filePath
);
workbook
.
write
(
outputStream
);
redisUtil
.
set
(
ids
,
filePath
,
3600
*
24
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
Result
.
OK
(
false
);
}
}
return
Result
.
OK
(
true
);
}
/*
* 导出excel(专题-已入库)
*
* @param request
* @param
* @update by wp
* 异步调用
*
*/
@RequestMapping
(
value
=
"/downloadXls"
)
public
void
downloadXls
(
HttpServletResponse
response
,
String
ids
)
{
//获取下载路径
Object
object
=
redisUtil
.
get
(
ids
);
if
(
object
!=
null
)
{
String
filePath
=
object
.
toString
();
try
{
redisUtil
.
del
(
ids
);
ExcelExportUtil
.
download
(
response
,
filePath
,
true
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
}
private
List
<
List
<
String
>>
formatData
(
List
<
KnowledgeVO
>
knowledgeVOS
)
{
List
<
List
<
String
>>
list
=
new
ArrayList
<>(
knowledgeVOS
.
size
());
for
(
KnowledgeVO
knowledgeVO
:
knowledgeVOS
)
{
List
<
String
>
innerList
=
new
ArrayList
<>();
innerList
.
add
(
knowledgeVO
.
getTitle
());
innerList
.
add
(
knowledgeVO
.
getContentAll
());
innerList
.
add
(
knowledgeVO
.
getAuthor
());
innerList
.
add
(
knowledgeVO
.
getOrigin
());
innerList
.
add
(
knowledgeVO
.
getPublishDate
());
list
.
add
(
innerList
);
}
return
list
;
}
}
}
@Data
@Data
class
DeleteParam
{
class
DeleteParam
{
private
List
<
Knowledge
>
knowledgeList
;
private
List
<
Knowledge
>
knowledgeList
;
}
}
\ No newline at end of file
src/main/java/com/zzsn/knowbase/service/IKnowledgeService.java
浏览文件 @
f0645305
...
@@ -53,4 +53,6 @@ public interface IKnowledgeService {
...
@@ -53,4 +53,6 @@ public interface IKnowledgeService {
Result
<?>
doImportInfo
(
HttpServletRequest
request
,
String
userId
);
Result
<?>
doImportInfo
(
HttpServletRequest
request
,
String
userId
);
void
doExcel
(
HttpServletRequest
request
,
String
fileSuffix
,
String
userId
);
void
doExcel
(
HttpServletRequest
request
,
String
fileSuffix
,
String
userId
);
List
<
KnowledgeVO
>
listByIds
(
String
ids
);
}
}
src/main/java/com/zzsn/knowbase/service/impl/KnowledgeServiceImpl.java
浏览文件 @
f0645305
package
com
.
zzsn
.
knowbase
.
service
.
impl
;
package
com
.
zzsn
.
knowbase
.
service
.
impl
;
import
cn.hutool.json.JSONUtil
;
import
cn.hutool.json.JSONUtil
;
import
cn.hutool.system.UserInfo
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
...
@@ -180,7 +179,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
...
@@ -180,7 +179,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
filePath
=
path
;
filePath
=
path
;
File
file
=
new
File
(
filePath
);
File
file
=
new
File
(
filePath
);
log
.
info
(
"word dealing filePath{}"
,
filePath
);
log
.
info
(
"word dealing filePath{}"
,
filePath
);
html
=
DocUtil
.
convertDocStream2Html
(
new
FileInputStream
(
file
));
html
=
DocUtil
.
convertDocStream2Html
(
new
FileInputStream
(
file
));
log
.
info
(
"html :{}"
,
html
);
log
.
info
(
"html :{}"
,
html
);
String
htmlWithTable
=
html
.
replace
(
"</p>"
,
"######</p>"
);
String
htmlWithTable
=
html
.
replace
(
"</p>"
,
"######</p>"
);
...
@@ -204,10 +203,10 @@ class KnowledgeServiceImpl implements IKnowledgeService {
...
@@ -204,10 +203,10 @@ class KnowledgeServiceImpl implements IKnowledgeService {
// break;
// break;
// }
// }
// }
// }
if
(
knowFile
.
getFileName
()!=
null
&&
knowFile
.
getFileName
().
contains
(
"."
))
{
if
(
knowFile
.
getFileName
()
!=
null
&&
knowFile
.
getFileName
().
contains
(
"."
))
{
knowledge
.
setTitle
(
knowFile
.
getFileName
().
substring
(
0
,
knowFile
.
getFileName
().
lastIndexOf
(
'.'
)));
knowledge
.
setTitle
(
knowFile
.
getFileName
().
substring
(
0
,
knowFile
.
getFileName
().
lastIndexOf
(
'.'
)));
}
else
{
}
else
{
knowledge
.
setTitle
(
knowFile
.
getFileName
());
knowledge
.
setTitle
(
knowFile
.
getFileName
());
}
}
...
@@ -237,6 +236,8 @@ class KnowledgeServiceImpl implements IKnowledgeService {
...
@@ -237,6 +236,8 @@ class KnowledgeServiceImpl implements IKnowledgeService {
knowledge
.
setContents
(
contentList
);
knowledge
.
setContents
(
contentList
);
knowledgeMessage
.
setContents
(
contentList
);
knowledgeMessage
.
setContents
(
contentList
);
}
}
BeanUtils
.
copyProperties
(
knowledge
,
knowledgeMessage
);
knowledgeMessage
.
setType
(
knowledge
.
getTypeId
());
//id为空表示新增
//id为空表示新增
if
(
null
==
knowledge
.
getId
())
{
if
(
null
==
knowledge
.
getId
())
{
knowledge
.
setId
(
codeGenerateUtil
.
geneIdNo
(
Constants
.
FINANCE
,
8
));
knowledge
.
setId
(
codeGenerateUtil
.
geneIdNo
(
Constants
.
FINANCE
,
8
));
...
@@ -244,6 +245,11 @@ class KnowledgeServiceImpl implements IKnowledgeService {
...
@@ -244,6 +245,11 @@ class KnowledgeServiceImpl implements IKnowledgeService {
}
else
{
}
else
{
//id不为空表示修改数据
//id不为空表示修改数据
esOpUtil
.
docEditByEntity
(
Constants
.
ES_DATA_FOR_KNOWLEDGE
,
knowledge
.
getId
(),
knowledge
);
esOpUtil
.
docEditByEntity
(
Constants
.
ES_DATA_FOR_KNOWLEDGE
,
knowledge
.
getId
(),
knowledge
);
KnowledgeVO
knowledgeVO
=
this
.
getById
(
knowledge
.
getId
());
knowledgeMessage
.
setKbKnowledgeId
(
knowledgeVO
.
getKbKnowledgeId
());
knowledgeMessage
.
setKnowledgeProjectId
(
knowledgeVO
.
getKnowledgeProjectId
());
knowledgeMessage
.
setType
(
knowledgeVO
.
getTypeId
());
}
}
//删除
//删除
if
(
null
==
knowledge
.
getKnowledgeProjectId
())
{
if
(
null
==
knowledge
.
getKnowledgeProjectId
())
{
...
@@ -251,14 +257,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
...
@@ -251,14 +257,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
knowledge
.
setKnowledgeProjectId
(
knowledgeVO
.
getKbKnowledgeId
());
knowledge
.
setKnowledgeProjectId
(
knowledgeVO
.
getKbKnowledgeId
());
}
}
deleteForPython
(
knowledge
.
getId
(),
knowledge
.
getKnowledgeProjectId
());
deleteForPython
(
knowledge
.
getId
(),
knowledge
.
getKnowledgeProjectId
());
BeanUtils
.
copyProperties
(
knowledge
,
knowledgeMessage
);
knowledgeMessage
.
setType
(
knowledge
.
getTypeId
());
log
.
info
(
"send message:{}"
,
knowledgeMessage
);
log
.
info
(
"send message:{}"
,
knowledgeMessage
);
KnowledgeVO
knowledgeVO
=
this
.
getById
(
knowledge
.
getId
());
knowledgeMessage
.
setKbKnowledgeId
(
knowledgeVO
.
getKbKnowledgeId
());
knowledgeMessage
.
setKnowledgeProjectId
(
knowledgeVO
.
getKnowledgeProjectId
());
knowledgeMessage
.
setType
(
knowledgeVO
.
getType
());
produceInfo
.
sendKnowledgeContents
(
knowledgeMessage
);
produceInfo
.
sendKnowledgeContents
(
knowledgeMessage
);
}
}
...
@@ -648,6 +647,41 @@ class KnowledgeServiceImpl implements IKnowledgeService {
...
@@ -648,6 +647,41 @@ class KnowledgeServiceImpl implements IKnowledgeService {
}
}
}
}
@Override
public
List
<
KnowledgeVO
>
listByIds
(
String
ids
)
{
List
<
KnowledgeVO
>
list
=
new
ArrayList
<>();
SearchRequest
searchRequest
=
new
SearchRequest
(
Constants
.
ES_DATA_FOR_KNOWLEDGE
);
SearchSourceBuilder
searchSourceBuilder
=
new
SearchSourceBuilder
();
//默认最大数量是10000,设置为true后,显示准确数量
searchSourceBuilder
.
trackTotalHits
(
true
);
//创建查询对象
BoolQueryBuilder
boolQuery
=
QueryBuilders
.
boolQuery
();
if
(!
ids
.
isEmpty
())
{
List
<
String
>
idList
=
Arrays
.
asList
(
ids
.
split
(
","
));
boolQuery
.
must
(
QueryBuilders
.
termsQuery
(
"id"
,
idList
));
}
searchSourceBuilder
.
query
(
boolQuery
);
searchRequest
.
source
(
searchSourceBuilder
);
SearchResponse
searchResponse
=
null
;
try
{
searchResponse
=
client
.
search
(
searchRequest
,
RequestOptions
.
DEFAULT
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
if
(
null
!=
searchResponse
&&
null
!=
searchResponse
.
getHits
())
{
SearchHit
[]
searchHits
=
searchResponse
.
getHits
().
getHits
();
for
(
SearchHit
hit
:
searchHits
)
{
String
queryInfo
=
hit
.
getSourceAsString
();
KnowledgeVO
info
=
JSONUtil
.
toBean
(
queryInfo
,
KnowledgeVO
.
class
);
info
.
setPublishDate
(
EsDateUtil
.
esFieldDateMapping
(
info
.
getPublishDate
()));
list
.
add
(
info
);
}
}
return
list
;
}
//导入发布库数据
//导入发布库数据
public
void
importInfo
(
List
<
List
<
String
>>
lists
,
String
kbKnowledgeId
,
String
knowledgeProjectId
,
String
typeId
,
String
createBy
)
{
public
void
importInfo
(
List
<
List
<
String
>>
lists
,
String
kbKnowledgeId
,
String
knowledgeProjectId
,
String
typeId
,
String
createBy
)
{
for
(
List
<
String
>
info
:
lists
)
{
for
(
List
<
String
>
info
:
lists
)
{
...
...
src/main/java/com/zzsn/knowbase/util/ExcelExportUtil.java
浏览文件 @
f0645305
...
@@ -12,14 +12,8 @@ import org.apache.commons.lang3.StringUtils;
...
@@ -12,14 +12,8 @@ import org.apache.commons.lang3.StringUtils;
import
org.apache.poi.hssf.usermodel.HSSFCell
;
import
org.apache.poi.hssf.usermodel.HSSFCell
;
import
org.apache.poi.hssf.usermodel.HSSFDateUtil
;
import
org.apache.poi.hssf.usermodel.HSSFDateUtil
;
import
org.apache.poi.hssf.usermodel.HSSFWorkbook
;
import
org.apache.poi.hssf.usermodel.HSSFWorkbook
;
import
org.apache.poi.ss.usermodel.HorizontalAlignment
;
import
org.apache.poi.ss.usermodel.*
;
import
org.apache.poi.ss.usermodel.Row
;
import
org.apache.poi.xssf.usermodel.*
;
import
org.apache.poi.ss.usermodel.Sheet
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.apache.poi.xssf.usermodel.XSSFCell
;
import
org.apache.poi.xssf.usermodel.XSSFRow
;
import
org.apache.poi.xssf.usermodel.XSSFSheet
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
...
@@ -255,4 +249,90 @@ public class ExcelExportUtil {
...
@@ -255,4 +249,90 @@ public class ExcelExportUtil {
}
}
//多个sheet
public
static
void
exportExcelData
(
XSSFWorkbook
workbook
,
int
sheetNum
,
List
<
String
>
keyList
,
List
<
List
<
String
>>
rows
,
String
sheetName
)
{
Sheet
sheet
=
workbook
.
createSheet
();
//多个sheet
workbook
.
setSheetName
(
sheetNum
,
sheetName
);
sheet
.
setDefaultColumnWidth
(
20
);
sheet
.
setDefaultRowHeight
((
short
)
400
);
XSSFCellStyle
titleStyle
=
ExcelExportUtil
.
getHeaderStyle
(
workbook
);
XSSFCellStyle
rowStrStyle
=
ExcelExportUtil
.
getRowStrStyle
(
workbook
);
// 产生表格标题行
Row
row
=
sheet
.
createRow
(
0
);
row
.
setHeight
((
short
)
400
);
Cell
cell
;
List
<
String
>
colData
=
new
ArrayList
<>(
keyList
);
for
(
int
i
=
0
;
i
<
colData
.
size
();
i
++)
{
cell
=
row
.
createCell
(
i
,
CellType
.
STRING
);
cell
.
setCellStyle
(
titleStyle
);
cell
.
setCellValue
(
new
XSSFRichTextString
(
colData
.
get
(
i
)));
}
// 数据行
for
(
int
m
=
0
;
m
<
rows
.
size
();
m
++)
{
List
<
String
>
rowData
=
rows
.
get
(
m
);
row
=
sheet
.
createRow
(
m
+
1
);
row
.
setHeight
((
short
)
400
);
int
i
=
0
;
for
(
String
rowDatum
:
rowData
)
{
createCell
(
rowStrStyle
,
row
,
i
,
rowDatum
);
i
++;
}
}
}
private
static
void
createCell
(
XSSFCellStyle
rowStrStyle
,
Row
row
,
int
index
,
String
value
){
Cell
cell
=
row
.
createCell
(
index
,
CellType
.
STRING
);
cell
.
setCellStyle
(
rowStrStyle
);
cell
.
setCellValue
(
value
);
}
/**
* 获取标题栏样式
*
* @param workbook
* @return
*/
private
static
XSSFCellStyle
getHeaderStyle
(
XSSFWorkbook
workbook
)
{
// 生成一个样式
XSSFCellStyle
style
=
workbook
.
createCellStyle
();
// 设置这些样式
style
.
setFillForegroundColor
(
IndexedColors
.
SKY_BLUE
.
index
);
style
.
setFillPattern
(
FillPatternType
.
SOLID_FOREGROUND
);
style
.
setBorderBottom
(
BorderStyle
.
THIN
);
style
.
setBorderLeft
(
BorderStyle
.
THIN
);
style
.
setBorderRight
(
BorderStyle
.
THIN
);
style
.
setBorderTop
(
BorderStyle
.
THIN
);
style
.
setAlignment
(
HorizontalAlignment
.
CENTER
);
// style.setDataFormat(HSSFDataFormat.getBuiltinFormat("0.00"));
// 生成一个字体
XSSFFont
font
=
workbook
.
createFont
();
font
.
setColor
(
IndexedColors
.
BLACK
.
index
);
font
.
setFontHeightInPoints
((
short
)
9
);
// 把字体应用到当前的样式
style
.
setFont
(
font
);
return
style
;
}
/**
* 获取字符串型内容栏样式
*
* @return
*/
private
static
XSSFCellStyle
getRowStrStyle
(
XSSFWorkbook
workbook
)
{
// 生成一个样式
XSSFCellStyle
style
=
workbook
.
createCellStyle
();
// 设置这些样式
style
.
setBorderBottom
(
BorderStyle
.
THIN
);
style
.
setBorderLeft
(
BorderStyle
.
THIN
);
style
.
setBorderRight
(
BorderStyle
.
THIN
);
style
.
setBorderTop
(
BorderStyle
.
THIN
);
style
.
setAlignment
(
HorizontalAlignment
.
CENTER
);
// 生成一个字体
XSSFFont
font
=
workbook
.
createFont
();
font
.
setColor
(
IndexedColors
.
BLACK
.
index
);
font
.
setFontHeightInPoints
((
short
)
9
);
font
.
setBold
(
true
);
// 把字体应用到当前的样式
style
.
setFont
(
font
);
return
style
;
}
}
}
src/main/java/com/zzsn/knowbase/vo/KnowledgeVO.java
浏览文件 @
f0645305
...
@@ -29,6 +29,7 @@ public class KnowledgeVO {
...
@@ -29,6 +29,7 @@ public class KnowledgeVO {
private
String
kbKnowledgeId
;
private
String
kbKnowledgeId
;
private
String
KnowledgeProjectId
;
private
String
KnowledgeProjectId
;
private
String
type
;
private
String
type
;
private
String
typeId
;
private
String
verifierName
;
private
String
verifierName
;
private
String
origin
;
private
String
origin
;
private
String
author
;
private
String
author
;
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论