Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
A
auth-master
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Members
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
吴超
auth-master
Commits
7bb638b8
Commit
7bb638b8
authored
Apr 29, 2026
by
周海峰
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化
parent
c397292b
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
98 行增加
和
2 行删除
+98
-2
src/main/java/com/metro/auth/platform/controller/PlatformPersonnelController.java
+8
-0
src/main/java/com/metro/auth/platform/mapper/PersonnelMapper.java
+10
-0
src/main/java/com/metro/auth/platform/mapper/PersonnelMapper.xml
+25
-2
src/main/java/com/metro/auth/platform/mapper/PlatformDepartmentMapper.java
+5
-0
src/main/java/com/metro/auth/platform/mapper/PlatformDepartmentMapper.xml
+11
-0
src/main/java/com/metro/auth/platform/service/PlatformDepartmentService.java
+7
-0
src/main/java/com/metro/auth/platform/service/PlatformDepartmentServiceImpl.java
+13
-0
src/main/java/com/metro/auth/platform/service/PlatformPersonnelService.java
+5
-0
src/main/java/com/metro/auth/platform/service/PlatformPersonnelServiceImpl.java
+14
-0
没有找到文件。
src/main/java/com/metro/auth/platform/controller/PlatformPersonnelController.java
View file @
7bb638b8
...
...
@@ -351,6 +351,14 @@ public class PlatformPersonnelController {
return
ResultJson
.
ok
(
page
);
}
@GetMapping
(
"/dept_users_with_children/{deptId}"
)
public
ResultJson
getDeptUsersWithChildren
(
@PathVariable
String
deptId
,
@RequestParam
(
defaultValue
=
"1"
)
int
pageNum
,
@RequestParam
(
defaultValue
=
"100"
)
int
pageSize
)
{
PageInfo
<
PersonneDTO
>
page
=
platformPersonnelService
.
getDeptUsersWithChildren
(
deptId
,
pageNum
,
pageSize
);
return
ResultJson
.
ok
(
page
);
}
@PostMapping
(
"/list_by_ids"
)
public
ResultJson
getUsersByIds
(
@RequestBody
List
<
Integer
>
ids
)
{
List
<
PersonneDTO
>
list
=
platformPersonnelService
.
getUsersByIds
(
ids
);
...
...
src/main/java/com/metro/auth/platform/mapper/PersonnelMapper.java
View file @
7bb638b8
...
...
@@ -148,4 +148,14 @@ public interface PersonnelMapper {
* 根据用户ID列表查询完整用户信息
*/
List
<
PersonneDTO
>
selectByIds
(
@Param
(
"ids"
)
List
<
Integer
>
ids
);
/**
* 根据部门ID查询该部门及所有子部门下的人员
*/
// List<PersonneDTO> selectByDeptIdWithChildren(@Param("deptId") String deptId);
/**
* 根据部门ID列表查询人员
*/
List
<
PersonneDTO
>
selectByDeptIds
(
@Param
(
"deptIds"
)
List
<
String
>
deptIds
);
}
src/main/java/com/metro/auth/platform/mapper/PersonnelMapper.xml
View file @
7bb638b8
...
...
@@ -260,14 +260,37 @@
order by id asc
</select>
<!--根据部门ID查询该部门及所有子部门下的人员-->
<!-- <select id="selectByDeptIdWithChildren" resultMap="PersonneldtoResultMap">-->
<!-- select id, username, department, account-->
<!-- from platform_personnel-->
<!-- where find_in_set(#{deptId,jdbcType=VARCHAR}, department)-->
<!-- and (delstatus = '0' or delstatus is null or delstatus = '')-->
<!-- and (status = '1' or status is null)-->
<!-- order by id asc-->
<!-- </select>-->
<!--根据部门ID列表查询人员(用于查询部门及所有子部门用户)-->
<select
id=
"selectByDeptIds"
resultMap=
"PersonneldtoResultMap"
>
select id, username, department, account
from platform_personnel
where
<foreach
collection=
"deptIds"
item=
"deptId"
open=
"("
separator=
" or "
close=
")"
>
department = #{deptId,jdbcType=VARCHAR}
</foreach>
<!-- and (delstatus = '0' or delstatus is null or delstatus = '')-->
<!-- and (status = '1' or status is null)-->
order by id asc
</select>
<!--关键词搜索用户(姓名或工号模糊匹配)-->
<select
id=
"searchByKeyword"
resultMap=
"PersonneldtoResultMap"
>
select id, username, department, account
from platform_personnel
where (username like concat('%', #{keyword,jdbcType=VARCHAR}, '%')
or account like concat('%', #{keyword,jdbcType=VARCHAR}, '%'))
and (delstatus = '0' or delstatus is null or delstatus = '')
and (status = '1' or status is null)
<!-- and (delstatus = '0' or delstatus is null or delstatus = '')-->
<!-- and (status = '1' or status is null)-->
order by id asc
limit 100
</select>
...
...
src/main/java/com/metro/auth/platform/mapper/PlatformDepartmentMapper.java
View file @
7bb638b8
...
...
@@ -132,4 +132,9 @@ public interface PlatformDepartmentMapper {
int
updatePlatformDepartmentByPrimaryKeyFromweixin
(
PlatformDepartment
record
);
int
updatePlatformDepartmentStatusByPrimaryKeyFromweixinBatch
(
@Param
(
"idList"
)
List
<
Integer
>
idList
,
@Param
(
"status"
)
String
status
);
int
updatePlatformDepartmentStatusByPrimaryKeyFromweixin
(
PlatformDepartment
record
);
/**
* 根据父部门ID查询所有子部门ID(包括递归子部门)
*/
List
<
Integer
>
selectAllChildDeptIds
(
@Param
(
"deptId"
)
Integer
deptId
);
}
src/main/java/com/metro/auth/platform/mapper/PlatformDepartmentMapper.xml
View file @
7bb638b8
...
...
@@ -345,4 +345,15 @@
#{id}
</foreach>
</update>
<!--根据父部门ID递归查询所有子部门ID-->
<select
id=
"selectAllChildDeptIds"
resultType=
"java.lang.Integer"
>
WITH RECURSIVE dept_tree AS (
SELECT id FROM platform_department WHERE id = #{deptId}
UNION ALL
SELECT d.id FROM platform_department d
INNER JOIN dept_tree dt ON d.pid = dt.id
)
SELECT id FROM dept_tree
</select>
</mapper>
src/main/java/com/metro/auth/platform/service/PlatformDepartmentService.java
View file @
7bb638b8
...
...
@@ -68,4 +68,11 @@ public interface PlatformDepartmentService {
void
findwxdeptinfo
();
@CacheEvict
(
value
=
"viewDeptall"
,
key
=
"'tree'"
)
//清除组织树结构的缓存
void
updatePlatformDepartmentFromweixin
(
String
ChangeType
,
PlatformDepartment
entity
,
String
branchCompanyId
);
/**
* 根据父部门ID查询所有子部门ID(递归,包含父部门自身)
* @param deptId 父部门ID
* @return 所有部门ID列表
*/
List
<
Integer
>
getAllChildDeptIds
(
String
deptId
);
}
src/main/java/com/metro/auth/platform/service/PlatformDepartmentServiceImpl.java
View file @
7bb638b8
...
...
@@ -577,4 +577,17 @@ public class PlatformDepartmentServiceImpl implements PlatformDepartmentService{
}
/**
* 根据父部门ID查询所有子部门ID(递归,包含父部门自身)
* @param deptId 父部门ID
* @return 所有部门ID列表
*/
@Override
public
List
<
Integer
>
getAllChildDeptIds
(
String
deptId
)
{
if
(
StringUtils
.
isBlank
(
deptId
))
{
return
new
ArrayList
<>();
}
return
platformDepartmentMapper
.
selectAllChildDeptIds
(
Integer
.
parseInt
(
deptId
));
}
}
src/main/java/com/metro/auth/platform/service/PlatformPersonnelService.java
View file @
7bb638b8
...
...
@@ -106,6 +106,11 @@ public interface PlatformPersonnelService {
PageInfo
<
PersonneDTO
>
getDeptUsers
(
String
deptId
,
int
pageNum
,
int
pageSize
);
/**
* 根据部门ID查询该部门及所有子部门下的人员
*/
PageInfo
<
PersonneDTO
>
getDeptUsersWithChildren
(
String
deptId
,
int
pageNum
,
int
pageSize
);
List
<
PersonneDTO
>
getUsersByIds
(
List
<
Integer
>
ids
);
/**
...
...
src/main/java/com/metro/auth/platform/service/PlatformPersonnelServiceImpl.java
View file @
7bb638b8
...
...
@@ -1849,6 +1849,20 @@ public class PlatformPersonnelServiceImpl implements PlatformPersonnelService {
}
@Override
public
PageInfo
<
PersonneDTO
>
getDeptUsersWithChildren
(
String
deptId
,
int
pageNum
,
int
pageSize
)
{
// 1. 先查询该部门及所有子部门的ID(递归)
List
<
Integer
>
allDeptIds
=
platformDepartmentService
.
getAllChildDeptIds
(
deptId
);
if
(
allDeptIds
==
null
||
allDeptIds
.
isEmpty
())
{
return
new
PageInfo
<>(
new
ArrayList
<>());
}
// 2. 将部门ID列表转为String
List
<
String
>
deptIdStrs
=
allDeptIds
.
stream
().
map
(
String:
:
valueOf
).
collect
(
Collectors
.
toList
());
// 3. 调用 mapper 查询所有相关部门的用户
List
<
PersonneDTO
>
list
=
personnelMapper
.
selectByDeptIds
(
deptIdStrs
);
return
new
PageInfo
<>(
list
);
}
@Override
public
List
<
PersonneDTO
>
getUsersByIds
(
List
<
Integer
>
ids
)
{
if
(
ids
==
null
||
ids
.
isEmpty
())
{
return
new
ArrayList
<>();
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论