Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
K
know-base
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
张京坤
know-base
Commits
9ab5572d
提交
9ab5572d
authored
8月 22, 2024
作者:
yanxin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
知识库兼容个人素材查询
上级
d86f28c5
显示空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
87 行增加
和
7 行删除
+87
-7
Constants.java
src/main/java/com/zzsn/knowbase/constant/Constants.java
+2
-0
KbKnowledgeProjectTypeController.java
...knowbase/controller/KbKnowledgeProjectTypeController.java
+1
-0
KnowledgeController.java
...ava/com/zzsn/knowbase/controller/KnowledgeController.java
+3
-0
KnowledgeUserController.java
...com/zzsn/knowbase/controller/KnowledgeUserController.java
+10
-2
KnowledgeMessage.java
...ava/com/zzsn/knowbase/kafka/message/KnowledgeMessage.java
+1
-0
ProduceInfo.java
...in/java/com/zzsn/knowbase/kafka/producer/ProduceInfo.java
+5
-0
KbKnowledgeProjectMapper.java
...va/com/zzsn/knowbase/mapper/KbKnowledgeProjectMapper.java
+3
-2
IKnowledgeService.java
...ain/java/com/zzsn/knowbase/service/IKnowledgeService.java
+2
-0
KbKnowledgeProjectService.java
.../com/zzsn/knowbase/service/KbKnowledgeProjectService.java
+2
-0
KbKnowledgeProjectServiceImpl.java
.../knowbase/service/impl/KbKnowledgeProjectServiceImpl.java
+9
-0
KnowledgeServiceImpl.java
.../com/zzsn/knowbase/service/impl/KnowledgeServiceImpl.java
+46
-3
KnowledgeParam.java
src/main/java/com/zzsn/knowbase/vo/KnowledgeParam.java
+2
-0
KnowledgeVO.java
src/main/java/com/zzsn/knowbase/vo/KnowledgeVO.java
+1
-0
没有找到文件。
src/main/java/com/zzsn/knowbase/constant/Constants.java
浏览文件 @
9ab5572d
...
...
@@ -4,6 +4,8 @@ import java.util.HashMap;
import
java.util.Map
;
public
class
Constants
{
//个人素材一级分类id
public
static
final
String
SC_CATEGORY
=
"1826201944893501441"
;
//个人素材知识库id
public
static
final
String
SC_USER
=
"1826201830565163010"
;
//redis缓存 key常量
...
...
src/main/java/com/zzsn/knowbase/controller/KbKnowledgeProjectTypeController.java
浏览文件 @
9ab5572d
...
...
@@ -39,6 +39,7 @@ public class KbKnowledgeProjectTypeController {
queryWrapper
.
orderByAsc
(
KbKnowledgeProjectType:
:
getSort
);
List
<
KbKnowledgeProjectType
>
typelist
=
knowledgeProjectTypeService
.
list
(
queryWrapper
);
List
<
KbKnowledgeProject
>
list
=
knowledgeProjectService
.
list
();
list
.
addAll
(
knowledgeProjectService
.
getUserList
());
List
<
Node
>
treeList
=
knowledgeProjectTypeService
.
getTreeList
(
typelist
,
list
);
return
Result
.
OK
(
treeList
);
}
...
...
src/main/java/com/zzsn/knowbase/controller/KnowledgeController.java
浏览文件 @
9ab5572d
...
...
@@ -73,6 +73,9 @@ public class KnowledgeController {
IPage
<
KnowledgeVO
>
pageList
=
knowledgeService
.
listFromPython
(
knowledgeParam
,
pageNo
,
pageSize
,
column
,
order
);
return
Result
.
OK
(
pageList
);
}
if
(
Constants
.
SC_CATEGORY
.
equals
(
knowledgeParam
.
getTypeIds
())
&&
"0"
.
equals
(
knowledgeParam
.
getKnowledgeProjectId
())){
knowledgeParam
.
setKnowledgeProjectId
(
null
);
}
IPage
<
KnowledgeVO
>
pageList
=
knowledgeService
.
queryPageList
(
knowledgeParam
,
pageNo
,
pageSize
,
column
,
order
);
return
Result
.
OK
(
pageList
);
}
...
...
src/main/java/com/zzsn/knowbase/controller/KnowledgeUserController.java
浏览文件 @
9ab5572d
...
...
@@ -16,6 +16,7 @@ import com.zzsn.knowbase.vo.Result;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
...
...
@@ -58,12 +59,13 @@ public class KnowledgeUserController {
return
Result
.
error
(
"用户未登录!"
);
}
knowledgeProject
.
setPid
(
loginUser
.
getId
());
knowledgeProject
.
setFullPath
(
loginUser
.
getId
());
knowledgeProject
.
setHasChild
(
"0"
);
knowledgeProject
.
setCategory
(
"user"
);
knowledgeProject
.
setCategory
(
Constants
.
SC_CATEGORY
);
knowledgeProject
.
setCreateTime
(
new
Date
());
log
.
info
(
"新增用户分组:{}"
,
knowledgeProject
);
knowledgeProjectService
.
save
(
knowledgeProject
);
knowledgeProject
.
setFullPath
(
loginUser
.
getId
()
+
","
+
knowledgeProject
.
getId
());
knowledgeProjectService
.
updateById
(
knowledgeProject
);
return
Result
.
OK
(
"保存成功!"
);
}
/**
...
...
@@ -128,6 +130,7 @@ public class KnowledgeUserController {
return
Result
.
error
(
"用户未登录!"
);
}
knowledgeParam
.
setKbKnowledgeId
(
Constants
.
SC_USER
);
knowledgeParam
.
setTypeIds
(
Constants
.
SC_CATEGORY
);
knowledgeParam
.
setUserId
(
loginUser
.
getId
());
IPage
<
KnowledgeVO
>
pageList
=
knowledgeService
.
queryPageList
(
knowledgeParam
,
pageNo
,
pageSize
,
column
,
order
);
return
Result
.
OK
(
pageList
);
...
...
@@ -150,6 +153,11 @@ public class KnowledgeUserController {
knowledge
.
setUserId
(
loginUser
.
getId
());
//对应个人素材知识库
knowledge
.
setKbKnowledgeId
(
Constants
.
SC_USER
);
knowledge
.
setTypeId
(
Constants
.
SC_CATEGORY
);
if
(
StringUtils
.
isEmpty
(
knowledge
.
getKnowledgeProjectId
())){
//未设置分组时使用用户id作为分组
knowledge
.
setKnowledgeProjectId
(
loginUser
.
getId
());
}
MultipartHttpServletRequest
multipartRequest
=
WebUtils
.
getNativeRequest
(
request
,
MultipartHttpServletRequest
.
class
);
Map
<
String
,
MultipartFile
>
fileMap
=
multipartRequest
.
getFileMap
();
...
...
src/main/java/com/zzsn/knowbase/kafka/message/KnowledgeMessage.java
浏览文件 @
9ab5572d
...
...
@@ -60,4 +60,5 @@ public class KnowledgeMessage {
private
List
<
Content
>
contents
;
private
String
userId
;
}
src/main/java/com/zzsn/knowbase/kafka/producer/ProduceInfo.java
浏览文件 @
9ab5572d
package
com
.
zzsn
.
knowbase
.
kafka
.
producer
;
import
com.alibaba.fastjson.JSON
;
import
com.zzsn.knowbase.constant.Constants
;
import
com.zzsn.knowbase.kafka.cloudstream.KnowledgeChannel
;
import
com.zzsn.knowbase.kafka.message.KnowledgeMessage
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -28,6 +29,10 @@ public class ProduceInfo {
* @author chenshiqiang
*/
public
void
sendKnowledgeContents
(
KnowledgeMessage
knowledgeMessage
)
{
if
(
Constants
.
SC_USER
.
equals
(
knowledgeMessage
.
getKbKnowledgeId
())){
//个人素材在推送到个人知识库
knowledgeMessage
.
setKbKnowledgeId
(
knowledgeMessage
.
getUserId
());
}
String
msg
=
JSON
.
toJSONString
(
knowledgeMessage
);
Message
<
String
>
message
=
MessageBuilder
.
withPayload
(
msg
).
build
();
channel
.
knowledgeContents
().
send
(
message
);
...
...
src/main/java/com/zzsn/knowbase/mapper/KbKnowledgeProjectMapper.java
浏览文件 @
9ab5572d
...
...
@@ -3,6 +3,7 @@ package com.zzsn.knowbase.mapper;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.zzsn.knowbase.entity.KbKnowledgeProject
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
import
java.util.List
;
...
...
@@ -18,6 +19,6 @@ import java.util.List;
@Mapper
public
interface
KbKnowledgeProjectMapper
extends
BaseMapper
<
KbKnowledgeProject
>
{
@Select
(
""
)
List
<
KbKnowledgeProject
>
getListByUser
();
@Select
(
"
<script>select id,CONCAT(realname,'(',username,')') as typeName, '1826201944893501441' as pid from nt_system.sys_user where id in <foreach collection='userIds' open='(' separator=',' close=')' item='id'>#{id}</foreach></script>
"
)
List
<
KbKnowledgeProject
>
getListByUser
(
@Param
(
"userIds"
)
List
<
String
>
userIds
);
}
src/main/java/com/zzsn/knowbase/service/IKnowledgeService.java
浏览文件 @
9ab5572d
...
...
@@ -65,4 +65,6 @@ public interface IKnowledgeService {
String
exportPackage
(
String
ids
);
String
comprocessByName
(
List
<
String
>
list
,
String
filePath
);
List
<
String
>
groupUserList
(
String
kbKnowledgeId
);
}
src/main/java/com/zzsn/knowbase/service/KbKnowledgeProjectService.java
浏览文件 @
9ab5572d
...
...
@@ -49,4 +49,6 @@ public interface KbKnowledgeProjectService extends IService<KbKnowledgeProject>
List
<
KbAuthuserKnowledgeprojectMap
>
getKnowledgeProjectListByUserId
(
String
userId
);
List
<
KbKnowledgeProject
>
listByUserId
(
String
userid
);
List
<
KbKnowledgeProject
>
getUserList
();
}
src/main/java/com/zzsn/knowbase/service/impl/KbKnowledgeProjectServiceImpl.java
浏览文件 @
9ab5572d
...
...
@@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.zzsn.knowbase.constant.Constants
;
import
com.zzsn.knowbase.entity.*
;
import
com.zzsn.knowbase.mapper.KbAuthorizedUserMapper
;
import
com.zzsn.knowbase.mapper.KbKnowledgeProjectMapper
;
...
...
@@ -56,6 +57,8 @@ public class KbKnowledgeProjectServiceImpl extends ServiceImpl<KbKnowledgeProjec
KbRoleService
roleService
;
@Autowired
KbAuthorizedUserMapper
authorizedUserMapper
;
@Autowired
private
IKnowledgeService
knowledgeService
;
@Override
@Transactional
public
Result
<?>
add
(
KbKnowledgeProject
knowledgeProject
)
{
...
...
@@ -362,6 +365,12 @@ public class KbKnowledgeProjectServiceImpl extends ServiceImpl<KbKnowledgeProjec
return
this
.
list
(
queryWrapper
);
}
@Override
public
List
<
KbKnowledgeProject
>
getUserList
()
{
List
<
String
>
userIds
=
knowledgeService
.
groupUserList
(
Constants
.
SC_USER
);
return
kbKnowledgeProjectMapper
.
getListByUser
(
userIds
);
}
/**
* 根据所传pid查询旧的父级节点的子节点并修改相应状态值
* @param pid
...
...
src/main/java/com/zzsn/knowbase/service/impl/KnowledgeServiceImpl.java
浏览文件 @
9ab5572d
...
...
@@ -46,6 +46,11 @@ import org.elasticsearch.index.query.MultiMatchQueryBuilder;
import
org.elasticsearch.index.query.NestedQueryBuilder
;
import
org.elasticsearch.index.query.QueryBuilders
;
import
org.elasticsearch.search.SearchHit
;
import
org.elasticsearch.search.aggregations.Aggregation
;
import
org.elasticsearch.search.aggregations.AggregationBuilders
;
import
org.elasticsearch.search.aggregations.bucket.terms.IncludeExclude
;
import
org.elasticsearch.search.aggregations.bucket.terms.Terms
;
import
org.elasticsearch.search.aggregations.bucket.terms.TermsAggregationBuilder
;
import
org.elasticsearch.search.builder.SearchSourceBuilder
;
import
org.elasticsearch.search.sort.SortOrder
;
import
org.jsoup.Jsoup
;
...
...
@@ -108,7 +113,9 @@ class KnowledgeServiceImpl implements IKnowledgeService {
public
void
addKnowledge
(
KnowFile
knowFile
,
Knowledge
knowledge
,
KbAuthorizedUser
userInfo
)
{
log
.
info
(
"addKnowledge knowledge :{}"
,
knowledge
);
log
.
info
(
"addKnowledge knowFile :{}"
,
knowFile
);
if
(
StringUtils
.
isEmpty
(
knowledge
.
getAuthor
())){
knowledge
.
setAuthor
(
userInfo
.
getName
());
}
if
(
null
==
knowledge
.
getVerifyStatus
())
{
knowledge
.
setVerifyStatus
(
0
);
}
...
...
@@ -440,6 +447,8 @@ class KnowledgeServiceImpl implements IKnowledgeService {
}
else
{
catList
=
treeList
;
}
//兼容选择用户查询个人素材的情况
catList
.
addAll
(
Arrays
.
asList
(
knowledgeParam
.
getKnowledgeProjectId
().
split
(
","
)));
}
else
if
(
StringUtils
.
isNotEmpty
(
knowledgeParam
.
getKnowledgeProjectId
())){
catList
=
Arrays
.
asList
(
knowledgeParam
.
getKnowledgeProjectId
().
split
(
","
));
}
...
...
@@ -547,6 +556,9 @@ class KnowledgeServiceImpl implements IKnowledgeService {
if
(
StringUtils
.
isNotEmpty
(
knowledgeParam
.
getKbKnowledgeId
()))
{
boolQuery
.
must
(
QueryBuilders
.
termsQuery
(
"kbKnowledgeId"
,
Arrays
.
asList
(
knowledgeParam
.
getKbKnowledgeId
().
split
(
","
))));
}
if
(
StringUtils
.
isNotEmpty
(
knowledgeParam
.
getExcludeKbKnowledgeId
()))
{
boolQuery
.
mustNot
(
QueryBuilders
.
termsQuery
(
"kbKnowledgeId"
,
Arrays
.
asList
(
knowledgeParam
.
getExcludeKbKnowledgeId
().
split
(
","
))));
}
if
(
null
!=
knowledgeParam
.
getVerifyStatus
())
{
boolQuery
.
must
(
QueryBuilders
.
termQuery
(
"verifyStatus"
,
knowledgeParam
.
getVerifyStatus
()));
}
...
...
@@ -773,12 +785,16 @@ class KnowledgeServiceImpl implements IKnowledgeService {
@Override
public
void
doExcel
(
HttpServletRequest
request
,
String
fileSuffix
,
String
userId
)
{
String
kbKnowledgeId
=
request
.
getParameter
(
"kbKnowledgeId"
);
String
knowledgeProjectId
=
request
.
getParameter
(
"knowledgeProjectId"
);
String
typeId
=
request
.
getParameter
(
"typeId"
);
if
(
request
.
getRequestURI
().
contains
(
"/user/"
)){
//个人素材上传
kbKnowledgeId
=
Constants
.
SC_USER
;
typeId
=
Constants
.
SC_CATEGORY
;
if
(
StringUtils
.
isEmpty
(
knowledgeProjectId
)){
knowledgeProjectId
=
userId
;
}
}
String
knowledgeProjectId
=
request
.
getParameter
(
"knowledgeProjectId"
);
String
typeId
=
request
.
getParameter
(
"typeId"
);
try
{
MultipartHttpServletRequest
multipartRequest
=
(
MultipartHttpServletRequest
)
request
;
Map
<
String
,
MultipartFile
>
fileMap
=
multipartRequest
.
getFileMap
();
...
...
@@ -887,7 +903,34 @@ class KnowledgeServiceImpl implements IKnowledgeService {
return
tmpFile
+
downloadFileName
+
".zip"
;
}
@Override
public
List
<
String
>
groupUserList
(
String
kbKnowledgeId
)
{
List
<
String
>
userIds
=
new
ArrayList
<>();
SearchRequest
searchRequest
=
new
SearchRequest
();
SearchSourceBuilder
searchSourceBuilder
=
new
SearchSourceBuilder
();
searchSourceBuilder
.
size
(
0
);
TermsAggregationBuilder
aggTerms
=
AggregationBuilders
.
terms
(
"userId"
).
field
(
"userId"
).
size
(
1000
);
searchSourceBuilder
.
aggregation
(
aggTerms
);
//创建查询对象
BoolQueryBuilder
boolQuery
=
QueryBuilders
.
boolQuery
();
boolQuery
.
must
(
QueryBuilders
.
termQuery
(
"kbKnowledgeId"
,
kbKnowledgeId
));
boolQuery
.
mustNot
(
QueryBuilders
.
matchQuery
(
"deleteFlag"
,
"1"
));
searchSourceBuilder
.
query
(
boolQuery
);
searchRequest
.
source
(
searchSourceBuilder
);
try
{
SearchResponse
search
=
client
.
search
(
searchRequest
,
RequestOptions
.
DEFAULT
);
for
(
Aggregation
aggregation
:
search
.
getAggregations
())
{
if
(
"userId"
.
equals
(
aggregation
.
getName
())){
for
(
Terms
.
Bucket
bucket
:
((
Terms
)
aggregation
).
getBuckets
())
{
userIds
.
add
(
bucket
.
getKeyAsString
());
}
}
}
}
catch
(
IOException
e
)
{
log
.
error
(
"es聚合查询失败"
);
}
return
userIds
;
}
//导入发布库数据
...
...
src/main/java/com/zzsn/knowbase/vo/KnowledgeParam.java
浏览文件 @
9ab5572d
...
...
@@ -88,4 +88,6 @@ public class KnowledgeParam {
*/
private
String
userId
;
//排除的知识库id
private
String
excludeKbKnowledgeId
;
}
src/main/java/com/zzsn/knowbase/vo/KnowledgeVO.java
浏览文件 @
9ab5572d
...
...
@@ -57,4 +57,5 @@ public class KnowledgeVO {
*/
private
String
verifierName
;
private
Integer
deleteFlag
;
private
String
userId
;
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论