Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
lmp_server
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lmp
lmp_server
Commits
c088ba08
Commit
c088ba08
authored
Dec 22, 2023
by
pengxin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增知识库授权功能。
parent
f4509e40
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
415 additions
and
4 deletions
+415
-4
KnowledgeManageController.java
...ce/webadmin/app/controller/KnowledgeManageController.java
+121
-2
KnowledgeManageMapper.java
...java/com/yice/webadmin/app/dao/KnowledgeManageMapper.java
+13
-1
KnowledgeUserMapper.java
...n/java/com/yice/webadmin/app/dao/KnowledgeUserMapper.java
+51
-0
KnowledgeManageMapper.xml
...om/yice/webadmin/app/dao/mapper/KnowledgeManageMapper.xml
+15
-0
KnowledgeUserMapper.xml
.../com/yice/webadmin/app/dao/mapper/KnowledgeUserMapper.xml
+64
-0
KnowledgeUser.java
.../main/java/com/yice/webadmin/app/model/KnowledgeUser.java
+30
-0
KnowledgeManageService.java
...com/yice/webadmin/app/service/KnowledgeManageService.java
+47
-0
KnowledgeManageServiceImpl.java
...webadmin/app/service/impl/KnowledgeManageServiceImpl.java
+74
-1
No files found.
application-webadmin/src/main/java/com/yice/webadmin/app/controller/KnowledgeManageController.java
View file @
c088ba08
package
com
.
yice
.
webadmin
.
app
.
controller
;
package
com
.
yice
.
webadmin
.
app
.
controller
;
import
cn.hutool.core.util.BooleanUtil
;
import
cn.hutool.extra.pinyin.PinyinUtil
;
import
cn.hutool.extra.pinyin.PinyinUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONArray
;
...
@@ -18,17 +19,21 @@ import com.yice.common.log.model.constant.SysOperationLogType;
...
@@ -18,17 +19,21 @@ import com.yice.common.log.model.constant.SysOperationLogType;
import
com.yice.webadmin.app.config.KnowledgeConfig
;
import
com.yice.webadmin.app.config.KnowledgeConfig
;
import
com.yice.webadmin.app.dto.KnowledgeManageDto
;
import
com.yice.webadmin.app.dto.KnowledgeManageDto
;
import
com.yice.webadmin.app.model.KnowledgeManage
;
import
com.yice.webadmin.app.model.KnowledgeManage
;
import
com.yice.webadmin.app.model.KnowledgeUser
;
import
com.yice.webadmin.app.service.KnowledgeManageService
;
import
com.yice.webadmin.app.service.KnowledgeManageService
;
import
com.yice.webadmin.app.service.ProxyPythonService
;
import
com.yice.webadmin.app.service.ProxyPythonService
;
import
com.yice.webadmin.app.vo.KnowledgeManageVo
;
import
com.yice.webadmin.app.vo.KnowledgeManageVo
;
import
com.yice.webadmin.upms.dto.SysUserDto
;
import
com.yice.webadmin.upms.model.SysUser
;
import
com.yice.webadmin.upms.vo.SysUserVo
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.util.
ArrayList
;
import
java.util.
*
;
import
java.util.
List
;
import
java.util.
stream.Collectors
;
/**
/**
* 知识库管理操作控制器类。
* 知识库管理操作控制器类。
...
@@ -83,6 +88,120 @@ public class KnowledgeManageController {
...
@@ -83,6 +88,120 @@ public class KnowledgeManageController {
}
}
}
}
/**
* 为指定页面添加用户列表。该操作可同时给一批用户赋值页面,并在同一事务内完成。
*
* @param knowledgeId 知识库id。
* @param userIdListString 逗号分隔的用户Id列表。
* @return 应答结果对象。
*/
@OperationLog
(
type
=
SysOperationLogType
.
ADD_M2M
)
@PostMapping
(
"/addKnowledgeUser"
)
public
ResponseResult
<
Void
>
addKnowledgeUser
(
@MyRequestBody
Long
knowledgeId
,
@MyRequestBody
String
userIdListString
)
{
if
(
MyCommonUtil
.
existBlankArgument
(
knowledgeId
,
userIdListString
))
{
return
ResponseResult
.
error
(
ErrorCodeEnum
.
ARGUMENT_NULL_EXIST
);
}
Set
<
Long
>
userIdSet
=
Arrays
.
stream
(
userIdListString
.
split
(
","
)).
map
(
Long:
:
valueOf
).
collect
(
Collectors
.
toSet
());
KnowledgeUser
knowledgeUser
=
null
;
List
<
KnowledgeUser
>
knowledgeUserList
=
new
LinkedList
<>();
for
(
Long
userId
:
userIdSet
)
{
knowledgeUser
=
new
KnowledgeUser
(
userId
,
knowledgeId
);
knowledgeUserList
.
add
(
knowledgeUser
);
}
knowledgeManageService
.
addKnowledgeUserList
(
knowledgeUserList
);
return
ResponseResult
.
success
();
}
/**
* 获取不包含指定面Id的用户列表。
* 用户和面是多对多关系,当前接口将返回没有赋值指定PageId的用户列表。可用于给页面添加新用户。
*
* @param knowledgeId 知识库标识。
* @param sysUserDtoFilter 用户过滤对象。
* @param orderParam 排序参数。
* @param pageParam 分页参数。
* @return 应答结果对象,包含用户列表数据。
*/
@PostMapping
(
"/listNotInKnowledgeUser"
)
public
ResponseResult
<
MyPageData
<
SysUserVo
>>
listNotInKnowledgeUser
(
@MyRequestBody
Long
knowledgeId
,
@MyRequestBody
SysUserDto
sysUserDtoFilter
,
@MyRequestBody
MyOrderParam
orderParam
,
@MyRequestBody
MyPageParam
pageParam
)
{
if
(
MyCommonUtil
.
existBlankArgument
(
knowledgeId
))
{
return
ResponseResult
.
error
(
ErrorCodeEnum
.
ARGUMENT_NULL_EXIST
);
}
if
(
pageParam
!=
null
)
{
PageMethod
.
startPage
(
pageParam
.
getPageNum
(),
pageParam
.
getPageSize
());
}
SysUser
filter
=
MyModelUtil
.
copyTo
(
sysUserDtoFilter
,
SysUser
.
class
);
String
orderBy
=
MyOrderParam
.
buildOrderBy
(
orderParam
,
SysUser
.
class
);
List
<
SysUser
>
userList
=
knowledgeManageService
.
getNotInSysUserListByKnowledgeId
(
knowledgeId
,
filter
,
orderBy
);
return
ResponseResult
.
success
(
MyPageUtil
.
makeResponseData
(
userList
,
SysUser
.
INSTANCE
));
}
/**
* 拥有指定页面的用户列表。
*
* @param knowledgeId 知识库标识。
* @param sysUserDtoFilter 用户过滤对象。
* @param orderParam 排序参数。
* @param pageParam 分页参数。
* @return 应答结果对象,包含用户列表数据。
*/
@PostMapping
(
"/listKnowledgeUser"
)
public
ResponseResult
<
MyPageData
<
SysUserVo
>>
listKnowledgeUser
(
@MyRequestBody
Long
knowledgeId
,
@MyRequestBody
SysUserDto
sysUserDtoFilter
,
@MyRequestBody
MyOrderParam
orderParam
,
@MyRequestBody
MyPageParam
pageParam
)
{
if
(
MyCommonUtil
.
existBlankArgument
(
knowledgeId
))
{
return
ResponseResult
.
error
(
ErrorCodeEnum
.
ARGUMENT_NULL_EXIST
);
}
if
(
pageParam
!=
null
)
{
PageMethod
.
startPage
(
pageParam
.
getPageNum
(),
pageParam
.
getPageSize
());
}
SysUser
filter
=
MyModelUtil
.
copyTo
(
sysUserDtoFilter
,
SysUser
.
class
);
String
orderBy
=
MyOrderParam
.
buildOrderBy
(
orderParam
,
SysUser
.
class
);
List
<
SysUser
>
userList
=
knowledgeManageService
.
getSysUserListByKnowledgeId
(
knowledgeId
,
filter
,
orderBy
);
return
ResponseResult
.
success
(
MyPageUtil
.
makeResponseData
(
userList
,
SysUser
.
INSTANCE
));
}
/**
* 为指定用户移除指定页面。
*
* @param knowledgeId 知识库标识。
* @param userId 指定用户主键Id。
* @return 应答数据结果。
*/
@OperationLog
(
type
=
SysOperationLogType
.
DELETE_M2M
)
@PostMapping
(
"/deleteKnowledgeUser"
)
public
ResponseResult
<
Void
>
deleteKnowledgeUser
(
@MyRequestBody
Long
knowledgeId
,
@MyRequestBody
Long
userId
)
{
if
(
MyCommonUtil
.
existBlankArgument
(
knowledgeId
,
userId
))
{
return
ResponseResult
.
error
(
ErrorCodeEnum
.
ARGUMENT_NULL_EXIST
);
}
if
(!
knowledgeManageService
.
removeKnowledgeUser
(
knowledgeId
,
userId
))
{
return
ResponseResult
.
error
(
ErrorCodeEnum
.
DATA_NOT_EXIST
);
}
return
ResponseResult
.
success
();
}
/**
* 列出符合过滤条件的在线表单页面列表。
*
* @return 应答结果对象,包含查询结果集。
*/
@PostMapping
(
"/load"
)
public
ResponseResult
<
List
<
KnowledgeManageVo
>>
load
()
{
KnowledgeManage
knowledgeManageFilter
=
new
KnowledgeManage
();
TokenData
tokenData
=
TokenData
.
takeFromRequest
();
knowledgeManageFilter
.
setCreateUserId
(
BooleanUtil
.
isTrue
(
tokenData
.
getIsAdmin
())
?
null
:
tokenData
.
getUserId
());
List
<
KnowledgeManage
>
knowledgeManageList
=
knowledgeManageService
.
loadKnowledgeUserList
(
knowledgeManageFilter
,
"create_time"
);
return
ResponseResult
.
success
(
KnowledgeManage
.
INSTANCE
.
fromModelList
(
knowledgeManageList
));
}
/**
/**
* 更新知识库管理数据。
* 更新知识库管理数据。
*
*
...
...
application-webadmin/src/main/java/com/yice/webadmin/app/dao/KnowledgeManageMapper.java
View file @
c088ba08
...
@@ -12,7 +12,7 @@ import java.util.List;
...
@@ -12,7 +12,7 @@ import java.util.List;
* @author linking
* @author linking
* @date 2023-04-13
* @date 2023-04-13
*/
*/
public
interface
KnowledgeManageMapper
extends
BaseDaoMapper
<
KnowledgeManage
>
{
public
interface
KnowledgeManageMapper
extends
BaseDaoMapper
<
KnowledgeManage
>
{
/**
/**
* 批量插入对象列表。
* 批量插入对象列表。
...
@@ -25,9 +25,21 @@ public interface KnowledgeManageMapper extends BaseDaoMapper<KnowledgeManage> {
...
@@ -25,9 +25,21 @@ public interface KnowledgeManageMapper extends BaseDaoMapper<KnowledgeManage> {
* 获取过滤后的对象列表。
* 获取过滤后的对象列表。
*
*
* @param knowledgeManageFilter 主表过滤对象。
* @param knowledgeManageFilter 主表过滤对象。
* @param orderBy 排序字符串,order by从句的参数。
* @param orderBy 排序字符串,order by从句的参数。
* @param orderBy 排序字符串,order by从句的参数。
* @return 对象列表。
* @return 对象列表。
*/
*/
List
<
KnowledgeManage
>
getKnowledgeManageList
(
List
<
KnowledgeManage
>
getKnowledgeManageList
(
@Param
(
"knowledgeManageFilter"
)
KnowledgeManage
knowledgeManageFilter
,
@Param
(
"orderBy"
)
String
orderBy
);
@Param
(
"knowledgeManageFilter"
)
KnowledgeManage
knowledgeManageFilter
,
@Param
(
"orderBy"
)
String
orderBy
);
/**
* 获取过滤后的对象列表。
*
* @param knowledgeManageFilter 主表过滤对象。
* @param orderBy 排序字符串,order by从句的参数。
* @return 对象列表。
*/
List
<
KnowledgeManage
>
loadKnowLedgeList
(
@Param
(
"knowledgeManageFilter"
)
KnowledgeManage
knowledgeManageFilter
,
@Param
(
"orderBy"
)
String
orderBy
);
}
}
application-webadmin/src/main/java/com/yice/webadmin/app/dao/KnowledgeUserMapper.java
0 → 100644
View file @
c088ba08
package
com
.
yice
.
webadmin
.
app
.
dao
;
import
com.yice.common.core.base.dao.BaseDaoMapper
;
import
com.yice.webadmin.app.model.KnowledgeUser
;
import
com.yice.webadmin.upms.model.SysUser
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* 知识库管理数据操作访问接口。
*
* @author linking
* @date 2023-04-13
*/
public
interface
KnowledgeUserMapper
extends
BaseDaoMapper
<
KnowledgeUser
>
{
/**
* 批量插入对象列表。
*
* @param knowledgeUserList 新增对象列表。
*/
void
insertList
(
List
<
KnowledgeUser
>
knowledgeUserList
);
/**
* 根据页面Id,获取关联的用户列表。
*
* @param knowledgeId 知识库ID。
* @param sysUserFilter 用户过滤条件对象。
* @param orderBy order by从句的参数。
* @return 和角色Id关联的用户列表。
*/
List
<
SysUser
>
getSysUserListByKnowledgeId
(
@Param
(
"knowledgeId"
)
Long
knowledgeId
,
@Param
(
"sysUserFilter"
)
SysUser
sysUserFilter
,
@Param
(
"orderBy"
)
String
orderBy
);
/**
* 获取不属于指定知识库的用户列表。
*
* @param knowledgeId 知识库ID。
* @param sysUserFilter 用户过滤条件对象。
* @param orderBy order by从句的参数。
* @return 和RoleId没有建立关联关系的用户列表。
*/
List
<
SysUser
>
getNotInSysUserListByKnowledgeId
(
@Param
(
"knowledgeId"
)
Long
knowledgeId
,
@Param
(
"sysUserFilter"
)
SysUser
sysUserFilter
,
@Param
(
"orderBy"
)
String
orderBy
);
}
application-webadmin/src/main/java/com/yice/webadmin/app/dao/mapper/KnowledgeManageMapper.xml
View file @
c088ba08
...
@@ -41,6 +41,21 @@
...
@@ -41,6 +41,21 @@
<include
refid=
"com.yice.webadmin.app.dao.KnowledgeManageMapper.inputFilterRef"
/>
<include
refid=
"com.yice.webadmin.app.dao.KnowledgeManageMapper.inputFilterRef"
/>
</sql>
</sql>
<select
id=
"loadKnowLedgeList"
resultMap=
"BaseResultMap"
parameterType=
"com.yice.webadmin.app.model.KnowledgeManage"
>
SELECT DISTINCT lmp_knowledge_manage.*
FROM lmp_knowledge_manage
LEFT JOIN lmp_knowledge_user ON lmp_knowledge_user.knowledge_id = lmp_knowledge_manage.knowledge_id
<where>
<include
refid=
"filterRef"
/>
</where>
<if
test=
"knowledgeManageFilter.createUserId != null"
>
AND lmp_knowledge_user.user_id = #{knowledgeManageFilter.createUserId}
</if>
<if
test=
"orderBy != null and orderBy != ''"
>
ORDER BY ${orderBy}
</if>
</select>
<!-- 这里仅包含调用接口输入的主表过滤条件 -->
<!-- 这里仅包含调用接口输入的主表过滤条件 -->
<sql
id=
"inputFilterRef"
>
<sql
id=
"inputFilterRef"
>
<if
test=
"knowledgeManageFilter != null"
>
<if
test=
"knowledgeManageFilter != null"
>
...
...
application-webadmin/src/main/java/com/yice/webadmin/app/dao/mapper/KnowledgeUserMapper.xml
0 → 100644
View file @
c088ba08
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yice.webadmin.app.dao.KnowledgeUserMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.yice.webadmin.upms.model.SysUser"
>
<id
column=
"user_id"
jdbcType=
"BIGINT"
property=
"userId"
/>
<result
column=
"login_name"
jdbcType=
"VARCHAR"
property=
"loginName"
/>
<result
column=
"password"
jdbcType=
"VARCHAR"
property=
"password"
/>
<result
column=
"dept_id"
jdbcType=
"BIGINT"
property=
"deptId"
/>
<result
column=
"show_name"
jdbcType=
"VARCHAR"
property=
"showName"
/>
<result
column=
"user_type"
jdbcType=
"INTEGER"
property=
"userType"
/>
<result
column=
"head_image_url"
jdbcType=
"VARCHAR"
property=
"headImageUrl"
/>
<result
column=
"user_status"
jdbcType=
"INTEGER"
property=
"userStatus"
/>
<result
column=
"email"
jdbcType=
"VARCHAR"
property=
"email"
/>
<result
column=
"mobile"
jdbcType=
"VARCHAR"
property=
"mobile"
/>
<result
column=
"create_user_id"
jdbcType=
"BIGINT"
property=
"createUserId"
/>
<result
column=
"update_user_id"
jdbcType=
"BIGINT"
property=
"updateUserId"
/>
<result
column=
"create_time"
jdbcType=
"TIMESTAMP"
property=
"createTime"
/>
<result
column=
"update_time"
jdbcType=
"TIMESTAMP"
property=
"updateTime"
/>
<result
column=
"deleted_flag"
jdbcType=
"INTEGER"
property=
"deletedFlag"
/>
</resultMap>
<insert
id=
"insertList"
>
INSERT INTO lmp_knowledge_user(user_id,knowledge_id)
VALUES
<foreach
collection=
"list"
index=
"index"
item=
"item"
separator=
","
>
(#{item.userId},#{item.knowledgeId})
</foreach>
</insert>
<!-- 如果有逻辑删除字段过滤,请写到这里 -->
<sql
id=
"filterRef"
>
<!-- 这里必须加上全包名,否则当filterRef被其他Mapper.xml包含引用的时候,就会调用Mapper.xml中的该SQL片段 -->
<include
refid=
"com.yice.webadmin.upms.dao.SysUserMapper.inputFilterRef"
/>
AND sys_user.deleted_flag = ${@com.yice.common.core.constant.GlobalDeletedFlag@NORMAL}
</sql>
<select
id=
"getSysUserListByKnowledgeId"
resultMap=
"BaseResultMap"
>
SELECT
sys_user.*
FROM
lmp_knowledge_user,
sys_user
<where>
AND lmp_knowledge_user.knowledge_id = #{knowledgeId}
AND lmp_knowledge_user.user_id = sys_user.user_id
<include
refid=
"filterRef"
/>
</where>
<if
test=
"orderBy != null and orderBy != ''"
>
ORDER BY ${orderBy}
</if>
</select>
<select
id=
"getNotInSysUserListByKnowledgeId"
resultMap=
"BaseResultMap"
>
SELECT * FROM sys_user
<where>
NOT EXISTS (SELECT * FROM lmp_knowledge_user
WHERE lmp_knowledge_user.knowledge_id = #{knowledgeId} AND lmp_knowledge_user.user_id = sys_user.user_id)
<include
refid=
"filterRef"
/>
</where>
<if
test=
"orderBy != null and orderBy != ''"
>
ORDER BY ${orderBy}
</if>
</select>
</mapper>
application-webadmin/src/main/java/com/yice/webadmin/app/model/KnowledgeUser.java
0 → 100644
View file @
c088ba08
package
com
.
yice
.
webadmin
.
app
.
model
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* KnowledgeUser实体对象。
*
* @author linking
* @date 2022-04-05
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName
(
value
=
"lmp_knowledge_user"
)
public
class
KnowledgeUser
{
/**
* 用户id。
*/
private
Long
userId
;
/**
* 知识库id。
*/
private
Long
knowledgeId
;
}
application-webadmin/src/main/java/com/yice/webadmin/app/service/KnowledgeManageService.java
View file @
c088ba08
...
@@ -2,6 +2,8 @@ package com.yice.webadmin.app.service;
...
@@ -2,6 +2,8 @@ package com.yice.webadmin.app.service;
import
com.yice.common.core.base.service.IBaseService
;
import
com.yice.common.core.base.service.IBaseService
;
import
com.yice.webadmin.app.model.KnowledgeManage
;
import
com.yice.webadmin.app.model.KnowledgeManage
;
import
com.yice.webadmin.app.model.KnowledgeUser
;
import
com.yice.webadmin.upms.model.SysUser
;
import
java.util.List
;
import
java.util.List
;
...
@@ -21,6 +23,51 @@ public interface KnowledgeManageService extends IBaseService<KnowledgeManage, Lo
...
@@ -21,6 +23,51 @@ public interface KnowledgeManageService extends IBaseService<KnowledgeManage, Lo
*/
*/
KnowledgeManage
saveNew
(
KnowledgeManage
knowledgeManage
);
KnowledgeManage
saveNew
(
KnowledgeManage
knowledgeManage
);
/**
* 批量新增用户页面关联。
*
* @param knowledgeUserList 用户页面关系数据列表。
*/
void
addKnowledgeUserList
(
List
<
KnowledgeUser
>
knowledgeUserList
);
/**
* 移除指定用户和指定知识库的关联关系。
*
* @param knowledgeId 知识库标识。
* @param userId 用户主键Id。
* @return 移除成功返回true,否则false。
*/
boolean
removeKnowledgeUser
(
Long
knowledgeId
,
Long
userId
);
/**
* 获取指定角色的用户列表。
*
* @param knowledgeId 知识库标识。
* @param filter 用户过滤对象。
* @param orderBy 排序参数。
* @return 用户列表。
*/
List
<
SysUser
>
getSysUserListByKnowledgeId
(
Long
knowledgeId
,
SysUser
filter
,
String
orderBy
);
/**
* 获取不属于指定知识库的用户列表。
*
* @param knowledgeId 知识库ID。
* @param filter 用户过滤对象。
* @param orderBy 排序参数。
* @return 用户列表。
*/
List
<
SysUser
>
getNotInSysUserListByKnowledgeId
(
Long
knowledgeId
,
SysUser
filter
,
String
orderBy
);
/**
* 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。
*
* @param filter 过滤对象。
* @param orderBy 排序参数。
* @return 查询结果集。
*/
List
<
KnowledgeManage
>
loadKnowledgeUserList
(
KnowledgeManage
filter
,
String
orderBy
);
/**
/**
* 利用数据库的insertList语法,批量插入对象列表。
* 利用数据库的insertList语法,批量插入对象列表。
*
*
...
...
application-webadmin/src/main/java/com/yice/webadmin/app/service/impl/KnowledgeManageServiceImpl.java
View file @
c088ba08
package
com
.
yice
.
webadmin
.
app
.
service
.
impl
;
package
com
.
yice
.
webadmin
.
app
.
service
.
impl
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.github.pagehelper.Page
;
import
com.github.pagehelper.Page
;
import
com.yice.common.core.base.dao.BaseDaoMapper
;
import
com.yice.common.core.base.dao.BaseDaoMapper
;
...
@@ -9,8 +10,11 @@ import com.yice.common.core.object.MyRelationParam;
...
@@ -9,8 +10,11 @@ import com.yice.common.core.object.MyRelationParam;
import
com.yice.common.core.util.MyModelUtil
;
import
com.yice.common.core.util.MyModelUtil
;
import
com.yice.common.sequence.wrapper.IdGeneratorWrapper
;
import
com.yice.common.sequence.wrapper.IdGeneratorWrapper
;
import
com.yice.webadmin.app.dao.KnowledgeManageMapper
;
import
com.yice.webadmin.app.dao.KnowledgeManageMapper
;
import
com.yice.webadmin.app.dao.KnowledgeUserMapper
;
import
com.yice.webadmin.app.model.KnowledgeManage
;
import
com.yice.webadmin.app.model.KnowledgeManage
;
import
com.yice.webadmin.app.model.KnowledgeUser
;
import
com.yice.webadmin.app.service.KnowledgeManageService
;
import
com.yice.webadmin.app.service.KnowledgeManageService
;
import
com.yice.webadmin.upms.model.SysUser
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -32,7 +36,8 @@ public class KnowledgeManageServiceImpl extends BaseService<KnowledgeManage, Lon
...
@@ -32,7 +36,8 @@ public class KnowledgeManageServiceImpl extends BaseService<KnowledgeManage, Lon
private
KnowledgeManageMapper
knowledgeManageMapper
;
private
KnowledgeManageMapper
knowledgeManageMapper
;
@Autowired
@Autowired
private
IdGeneratorWrapper
idGenerator
;
private
IdGeneratorWrapper
idGenerator
;
@Autowired
private
KnowledgeUserMapper
knowledgeUserMapper
;
/**
/**
* 返回当前Service的主表Mapper对象。
* 返回当前Service的主表Mapper对象。
...
@@ -71,6 +76,59 @@ public class KnowledgeManageServiceImpl extends BaseService<KnowledgeManage, Lon
...
@@ -71,6 +76,59 @@ public class KnowledgeManageServiceImpl extends BaseService<KnowledgeManage, Lon
}
}
}
}
/**
* 批量新增用户页面关联。
*
* @param knowledgeUserList 用户页面关系数据列表。
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
addKnowledgeUserList
(
List
<
KnowledgeUser
>
knowledgeUserList
)
{
if
(
CollUtil
.
isNotEmpty
(
knowledgeUserList
)){
knowledgeUserMapper
.
insertList
(
knowledgeUserList
);
}
}
/**
* 获取指定角色的用户列表。
*
* @param knowledgeId 知识库标识。
* @param filter 用户过滤对象。
* @param orderBy 排序参数。
* @return 用户列表。
*/
@Override
public
List
<
SysUser
>
getSysUserListByKnowledgeId
(
Long
knowledgeId
,
SysUser
filter
,
String
orderBy
)
{
return
knowledgeUserMapper
.
getSysUserListByKnowledgeId
(
knowledgeId
,
filter
,
orderBy
);
}
/**
* 获取不属于指定知识库的用户列表。
*
* @param knowledgeId 知识库ID。
* @param filter 用户过滤对象。
* @param orderBy 排序参数。
* @return 用户列表。
*/
@Override
public
List
<
SysUser
>
getNotInSysUserListByKnowledgeId
(
Long
knowledgeId
,
SysUser
filter
,
String
orderBy
)
{
return
knowledgeUserMapper
.
getNotInSysUserListByKnowledgeId
(
knowledgeId
,
filter
,
orderBy
);
}
/**
* 移除指定用户和指定知识库的关联关系。
*
* @param knowledgeId 知识库标识。
* @param userId 用户主键Id。
* @return 移除成功返回true,否则false。
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
removeKnowledgeUser
(
Long
knowledgeId
,
Long
userId
)
{
KnowledgeUser
knowledgeUser
=
new
KnowledgeUser
(
knowledgeId
,
userId
);
return
knowledgeUserMapper
.
delete
(
new
QueryWrapper
<>(
knowledgeUser
))
==
1
;
}
/**
/**
* 更新数据对象。
* 更新数据对象。
*
*
...
@@ -87,6 +145,21 @@ public class KnowledgeManageServiceImpl extends BaseService<KnowledgeManage, Lon
...
@@ -87,6 +145,21 @@ public class KnowledgeManageServiceImpl extends BaseService<KnowledgeManage, Lon
return
knowledgeManageMapper
.
update
(
knowledgeManage
,
uw
)
==
1
;
return
knowledgeManageMapper
.
update
(
knowledgeManage
,
uw
)
==
1
;
}
}
/**
* 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。
*
* @param filter 过滤对象。
* @param orderBy 排序参数。
* @return 查询结果集。
*/
@Override
public
List
<
KnowledgeManage
>
loadKnowledgeUserList
(
KnowledgeManage
filter
,
String
orderBy
)
{
if
(
filter
==
null
)
{
filter
=
new
KnowledgeManage
();
}
return
knowledgeManageMapper
.
loadKnowLedgeList
(
filter
,
orderBy
);
}
/**
/**
* 删除指定数据。
* 删除指定数据。
*
*
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment