Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
K
know-base
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
张京坤
know-base
Commits
35f50558
提交
35f50558
authored
1月 04, 2024
作者:
obcy
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
知识库分类左侧树操作
上级
a2f30171
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
153 行增加
和
12 行删除
+153
-12
KbKnowledgeProjectController.java
...zsn/knowbase/controller/KbKnowledgeProjectController.java
+40
-6
KbKnowledgeProject.java
...ain/java/com/zzsn/knowbase/entity/KbKnowledgeProject.java
+10
-5
KbKnowledgeProjectService.java
.../com/zzsn/knowbase/service/KbKnowledgeProjectService.java
+6
-0
KbKnowledgeProjectServiceImpl.java
.../knowbase/service/impl/KbKnowledgeProjectServiceImpl.java
+97
-1
没有找到文件。
src/main/java/com/zzsn/knowbase/controller/KbKnowledgeProjectController.java
浏览文件 @
35f50558
...
@@ -4,10 +4,9 @@ package com.zzsn.knowbase.controller;
...
@@ -4,10 +4,9 @@ package com.zzsn.knowbase.controller;
import
com.zzsn.knowbase.entity.KbKnowledgeProject
;
import
com.zzsn.knowbase.entity.KbKnowledgeProject
;
import
com.zzsn.knowbase.service.KbKnowledgeProjectService
;
import
com.zzsn.knowbase.service.KbKnowledgeProjectService
;
import
com.zzsn.knowbase.vo.Result
;
import
com.zzsn.knowbase.vo.Result
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
/**
* <p>
* <p>
...
@@ -24,10 +23,45 @@ public class KbKnowledgeProjectController {
...
@@ -24,10 +23,45 @@ public class KbKnowledgeProjectController {
KbKnowledgeProjectService
knowledgeProjectService
;
KbKnowledgeProjectService
knowledgeProjectService
;
/**
/**
*
添加知识库
*
根据id查询
* */
* */
@GetMapping
public
Result
<?>
getById
(
@RequestParam
(
name
=
"id"
,
required
=
true
)
String
id
){
return
Result
.
OK
(
knowledgeProjectService
.
getById
(
id
));
}
@PostMapping
(
"/add"
)
@PostMapping
(
"/add"
)
public
Result
<?>
add
(
KbKnowledgeProject
knowledgeProject
){
public
Result
<?>
add
(
@RequestBody
KbKnowledgeProject
knowledgeProject
){
return
knowledgeProjectService
.
add
(
knowledgeProject
);
return
knowledgeProjectService
.
add
(
knowledgeProject
);
}
}
/**
* 编辑知识库
* */
@PostMapping
(
"/edit"
)
public
Result
<?>
edit
(
@RequestBody
KbKnowledgeProject
knowledgeProject
){
return
knowledgeProjectService
.
edit
(
knowledgeProject
);
}
/**
* 删除知识库
* */
@GetMapping
(
"/del"
)
public
Result
<?>
del
(
@RequestParam
(
name
=
"id"
,
required
=
true
)
String
id
){
return
knowledgeProjectService
.
del
(
id
);
}
@GetMapping
(
"/list"
)
public
Result
<?>
list
(
@RequestParam
(
name
=
"sign"
,
defaultValue
=
"1"
)
String
sign
,
@RequestParam
(
name
=
"projectId"
,
required
=
false
)
String
projectId
){
if
(!
"1"
.
equals
(
sign
)){
if
(
StringUtils
.
isBlank
(
projectId
)){
return
Result
.
error
(
"查询非顶级节点列表时需要projectId参数"
);
}
}
return
knowledgeProjectService
.
lists
(
sign
,
projectId
);
}
}
}
src/main/java/com/zzsn/knowbase/entity/KbKnowledgeProject.java
浏览文件 @
35f50558
package
com
.
zzsn
.
knowbase
.
entity
;
package
com
.
zzsn
.
knowbase
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.extension.activerecord.Model
;
import
java.util.Date
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
java.io.Serializable
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.extension.activerecord.Model
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
import
java.util.Date
;
/**
/**
* <p>
* <p>
*
*
...
@@ -93,6 +93,11 @@ public class KbKnowledgeProject extends Model<KbKnowledgeProject> {
...
@@ -93,6 +93,11 @@ public class KbKnowledgeProject extends Model<KbKnowledgeProject> {
*/
*/
@TableField
(
"sys_org_code"
)
@TableField
(
"sys_org_code"
)
private
String
sysOrgCode
;
private
String
sysOrgCode
;
/**
* 知识库描述
*/
@TableField
(
"project_description"
)
private
String
projectDescription
;
...
...
src/main/java/com/zzsn/knowbase/service/KbKnowledgeProjectService.java
浏览文件 @
35f50558
...
@@ -22,4 +22,10 @@ public interface KbKnowledgeProjectService extends IService<KbKnowledgeProject>
...
@@ -22,4 +22,10 @@ public interface KbKnowledgeProjectService extends IService<KbKnowledgeProject>
/**树节点无子节点状态值*/
/**树节点无子节点状态值*/
public
static
final
String
NOCHILD
=
"0"
;
public
static
final
String
NOCHILD
=
"0"
;
Result
<?>
add
(
KbKnowledgeProject
knowledgeProject
);
Result
<?>
add
(
KbKnowledgeProject
knowledgeProject
);
Result
<?>
edit
(
KbKnowledgeProject
knowledgeProject
);
Result
<?>
del
(
String
id
);
Result
<?>
lists
(
String
sign
,
String
projectId
);
}
}
src/main/java/com/zzsn/knowbase/service/impl/KbKnowledgeProjectServiceImpl.java
浏览文件 @
35f50558
package
com
.
zzsn
.
knowbase
.
service
.
impl
;
package
com
.
zzsn
.
knowbase
.
service
.
impl
;
import
cn.hutool.core.collection.CollectionUtil
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.zzsn.knowbase.entity.KbKnowledgeProject
;
import
com.zzsn.knowbase.entity.KbKnowledgeProject
;
import
com.zzsn.knowbase.mapper.KbKnowledgeProjectMapper
;
import
com.zzsn.knowbase.mapper.KbKnowledgeProjectMapper
;
import
com.zzsn.knowbase.service.KbKnowledgeProjectService
;
import
com.zzsn.knowbase.service.KbKnowledgeProjectService
;
import
com.zzsn.knowbase.vo.Result
;
import
com.zzsn.knowbase.vo.Result
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
/**
/**
* <p>
* <p>
...
@@ -21,6 +27,7 @@ import org.springframework.stereotype.Service;
...
@@ -21,6 +27,7 @@ import org.springframework.stereotype.Service;
public
class
KbKnowledgeProjectServiceImpl
extends
ServiceImpl
<
KbKnowledgeProjectMapper
,
KbKnowledgeProject
>
implements
KbKnowledgeProjectService
{
public
class
KbKnowledgeProjectServiceImpl
extends
ServiceImpl
<
KbKnowledgeProjectMapper
,
KbKnowledgeProject
>
implements
KbKnowledgeProjectService
{
@Override
@Override
@Transactional
public
Result
<?>
add
(
KbKnowledgeProject
knowledgeProject
)
{
public
Result
<?>
add
(
KbKnowledgeProject
knowledgeProject
)
{
if
(
StringUtils
.
isBlank
(
knowledgeProject
.
getPid
())){
if
(
StringUtils
.
isBlank
(
knowledgeProject
.
getPid
())){
knowledgeProject
.
setPid
(
KbKnowledgeProjectService
.
ROOT_PID_VALUE
);
knowledgeProject
.
setPid
(
KbKnowledgeProjectService
.
ROOT_PID_VALUE
);
...
@@ -31,6 +38,10 @@ public class KbKnowledgeProjectServiceImpl extends ServiceImpl<KbKnowledgeProjec
...
@@ -31,6 +38,10 @@ public class KbKnowledgeProjectServiceImpl extends ServiceImpl<KbKnowledgeProjec
super
.
updateById
(
parent
);
super
.
updateById
(
parent
);
}
}
}
}
knowledgeProject
.
setStatus
(
0
);
knowledgeProject
.
setHasChild
(
KbKnowledgeProjectService
.
NOCHILD
);
/**第一次保存赋默认值*/
knowledgeProject
.
setFullPath
(
"0"
);
super
.
save
(
knowledgeProject
);
super
.
save
(
knowledgeProject
);
if
(
KbKnowledgeProjectService
.
ROOT_PID_VALUE
.
equals
(
knowledgeProject
.
getPid
())){
if
(
KbKnowledgeProjectService
.
ROOT_PID_VALUE
.
equals
(
knowledgeProject
.
getPid
())){
knowledgeProject
.
setFullPath
(
knowledgeProject
.
getId
().
toString
());
knowledgeProject
.
setFullPath
(
knowledgeProject
.
getId
().
toString
());
...
@@ -38,9 +49,94 @@ public class KbKnowledgeProjectServiceImpl extends ServiceImpl<KbKnowledgeProjec
...
@@ -38,9 +49,94 @@ public class KbKnowledgeProjectServiceImpl extends ServiceImpl<KbKnowledgeProjec
KbKnowledgeProject
parent
=
super
.
getById
(
knowledgeProject
.
getPid
());
KbKnowledgeProject
parent
=
super
.
getById
(
knowledgeProject
.
getPid
());
knowledgeProject
.
setFullPath
(
parent
.
getFullPath
()
+
","
+
knowledgeProject
.
getId
());
knowledgeProject
.
setFullPath
(
parent
.
getFullPath
()
+
","
+
knowledgeProject
.
getId
());
}
}
knowledgeProject
.
setHasChild
(
KbKnowledgeProjectService
.
NOCHILD
);
super
.
updateById
(
knowledgeProject
);
super
.
updateById
(
knowledgeProject
);
return
Result
.
OK
();
return
Result
.
OK
();
}
@Override
@Transactional
public
Result
<?>
edit
(
KbKnowledgeProject
knowledgeProject
)
{
KbKnowledgeProject
byId
=
super
.
getById
(
knowledgeProject
.
getId
());
if
(
ObjectUtils
.
isEmpty
(
byId
)){
return
Result
.
error
(
"未找到对应的知识库"
);
}
String
oldPid
=
byId
.
getPid
();
String
newPid
=
knowledgeProject
.
getPid
();
if
(!
oldPid
.
equals
(
newPid
))
{
/**处理之前父节点的hasChild字段*/
updateOldParentNode
(
oldPid
);
if
(
StringUtils
.
isBlank
(
newPid
)
||
KbKnowledgeProjectService
.
ROOT_PID_VALUE
.
equals
(
newPid
)){
knowledgeProject
.
setPid
(
KbKnowledgeProjectService
.
ROOT_PID_VALUE
);
newPid
=
knowledgeProject
.
getPid
();
}
/**处理新的父节点的hasChild字段*/
if
(!
KbKnowledgeProjectService
.
ROOT_PID_VALUE
.
equals
(
knowledgeProject
.
getPid
()))
{
super
.
update
(
Wrappers
.<
KbKnowledgeProject
>
lambdaUpdate
().
set
(
KbKnowledgeProject:
:
getHasChild
,
KbKnowledgeProjectService
.
HASCHILD
).
eq
(
KbKnowledgeProject:
:
getId
,
newPid
));
}
super
.
updateById
(
knowledgeProject
);
/**处理本节点的所有子节点的绝对路径*/
List
<
KbKnowledgeProject
>
list
=
super
.
list
(
Wrappers
.<
KbKnowledgeProject
>
lambdaQuery
().
like
(
KbKnowledgeProject:
:
getFullPath
,
knowledgeProject
.
getId
()));
if
(
CollectionUtil
.
isNotEmpty
(
list
)){
String
finalNewPid
=
newPid
;
if
(!
KbKnowledgeProjectService
.
ROOT_PID_VALUE
.
equals
(
finalNewPid
))
{
/**非根节点 移动到其他非根节点*/
if
(!
KbKnowledgeProjectService
.
ROOT_PID_VALUE
.
equals
(
oldPid
))
{
list
.
forEach
(
e
->{
e
.
setFullPath
(
e
.
getFullPath
().
replace
(
oldPid
,
finalNewPid
));
});
}
else
{
/**根节点 移动到其他非根节点*/
list
.
forEach
(
e
->{
e
.
setFullPath
(
finalNewPid
+
","
+
e
.
getFullPath
());
});
}
}
else
{
/**移动到根节点*/
list
.
forEach
(
e
->{
e
.
setFullPath
(
e
.
getFullPath
().
replace
(
oldPid
+
","
,
""
));
});
}
}
super
.
updateBatchById
(
list
);
}
return
Result
.
OK
();
}
}
@Override
public
Result
<?>
del
(
String
id
)
{
KbKnowledgeProject
byId
=
super
.
getById
(
id
);
super
.
remove
(
Wrappers
.<
KbKnowledgeProject
>
lambdaQuery
().
like
(
KbKnowledgeProject:
:
getFullPath
,
id
));
if
(
StringUtils
.
isNotBlank
(
byId
.
getPid
())&&!
KbKnowledgeProjectService
.
ROOT_PID_VALUE
.
equals
(
byId
.
getPid
())){
updateOldParentNode
(
byId
.
getPid
());
}
return
Result
.
OK
();
}
@Override
public
Result
<?>
lists
(
String
sign
,
String
projectId
)
{
List
<
KbKnowledgeProject
>
kbKnowledgeProjects
;
if
(
"1"
.
equals
(
sign
)&&
StringUtils
.
isBlank
(
projectId
)){
kbKnowledgeProjects
=
super
.
list
(
Wrappers
.<
KbKnowledgeProject
>
lambdaQuery
().
eq
(
KbKnowledgeProject:
:
getPid
,
KbKnowledgeProjectService
.
ROOT_PID_VALUE
));
}
else
{
kbKnowledgeProjects
=
super
.
list
(
Wrappers
.<
KbKnowledgeProject
>
lambdaQuery
().
eq
(
KbKnowledgeProject:
:
getPid
,
projectId
));
}
return
Result
.
OK
(
kbKnowledgeProjects
);
}
/**
* 根据所传pid查询旧的父级节点的子节点并修改相应状态值
* @param pid
*/
private
void
updateOldParentNode
(
String
pid
)
{
if
(!
KbKnowledgeProjectService
.
ROOT_PID_VALUE
.
equals
(
pid
))
{
Integer
count
=
baseMapper
.
selectCount
(
Wrappers
.<
KbKnowledgeProject
>
lambdaQuery
().
eq
(
KbKnowledgeProject:
:
getPid
,
pid
));
if
(
count
==
null
||
count
<=
1
)
{
super
.
update
(
Wrappers
.<
KbKnowledgeProject
>
lambdaUpdate
().
set
(
KbKnowledgeProject:
:
getHasChild
,
KbKnowledgeProjectService
.
NOCHILD
).
eq
(
KbKnowledgeProject:
:
getId
,
pid
));
}
}
}
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论