diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/pojo/user/SysUserAdminDTO.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/pojo/user/SysUserAdminDTO.java
new file mode 100644
index 000000000..2f82055e5
--- /dev/null
+++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/pojo/user/SysUserAdminDTO.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright [2020-2030] [https://www.stylefeng.cn]
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Guns采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Guns源码头部的版权声明。
+ * 3.请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://gitee.com/stylefeng/guns
+ * 5.在修改包名,模块名称,项目代码等时,请注明软件出处 https://gitee.com/stylefeng/guns
+ * 6.若您的项目无法满足以上几点,可申请商业授权
+ */
+package cn.stylefeng.roses.kernel.system.api.pojo.user;
+
+import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
+import lombok.Data;
+
+/**
+ * 管理员用户的响应
+ *
+ * @author fengshuonan
+ * @date 2022/9/30 11:25
+ */
+@Data
+public class SysUserAdminDTO {
+
+ /**
+ * 主键
+ */
+ @ChineseDescription("主键")
+ private Long userId;
+
+ /**
+ * 角色id
+ */
+ @ChineseDescription("角色id")
+ private Long roleId;
+
+ /**
+ * 姓名
+ */
+ @ChineseDescription("姓名")
+ private String realName;
+
+}
diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/controller/SysUserAdminController.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/controller/SysUserAdminController.java
new file mode 100644
index 000000000..5bb53447e
--- /dev/null
+++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/controller/SysUserAdminController.java
@@ -0,0 +1,93 @@
+/*
+ * Copyright [2020-2030] [https://www.stylefeng.cn]
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Guns采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Guns源码头部的版权声明。
+ * 3.请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://gitee.com/stylefeng/guns
+ * 5.在修改包名,模块名称,项目代码等时,请注明软件出处 https://gitee.com/stylefeng/guns
+ * 6.若您的项目无法满足以上几点,可申请商业授权
+ */
+package cn.stylefeng.roses.kernel.system.modular.user.controller;
+
+import cn.stylefeng.roses.kernel.rule.enums.ResBizTypeEnum;
+import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData;
+import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
+import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource;
+import cn.stylefeng.roses.kernel.scanner.api.annotation.GetResource;
+import cn.stylefeng.roses.kernel.scanner.api.annotation.PostResource;
+import cn.stylefeng.roses.kernel.system.api.pojo.user.SysUserAdminDTO;
+import cn.stylefeng.roses.kernel.system.api.pojo.user.request.SysUserRequest;
+import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserAdminService;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 管理员相关接口
+ *
+ * 管理员角色只能维护后台相关菜单
+ *
+ * @author fengshuonan
+ * @date 2022/9/30 10:44
+ */
+@RestController
+@ApiResource(name = "管理员相关接口", resBizType = ResBizTypeEnum.SYSTEM)
+public class SysUserAdminController {
+
+ @Resource
+ private SysUserAdminService sysUserAdminService;
+
+ /**
+ * 获取后台管理员列表
+ *
+ * @author fengshuonan
+ * @date 2022/9/30 10:44
+ */
+ @GetResource(name = "获取后台管理员列表", path = "/sysUser/backAuth/getAdminList")
+ public ResponseData> getAdminList() {
+ List adminUserList = sysUserAdminService.getAdminUserList();
+ return new SuccessResponseData<>(adminUserList);
+ }
+
+ /**
+ * 添加后台管理员
+ *
+ * @author fengshuonan
+ * @date 2022/9/28 20:28
+ */
+ @PostResource(name = "添加后台管理员", path = "/sysUser/backAuth/addAdmin")
+ public ResponseData> addAdmin(@RequestBody SysUserRequest sysUserRequest) {
+
+ return new SuccessResponseData<>();
+ }
+
+ /**
+ * 删除后台管理员
+ *
+ * @author fengshuonan
+ * @date 2022/9/28 20:28
+ */
+ @PostResource(name = "删除后台管理员", path = "/sysUser/backAuth/delAdmin")
+ public ResponseData> delAdmin(@RequestBody SysUserRequest sysUserRequest) {
+
+ return new SuccessResponseData<>();
+ }
+
+}
diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserAdminService.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserAdminService.java
new file mode 100644
index 000000000..3368e10d7
--- /dev/null
+++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserAdminService.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright [2020-2030] [https://www.stylefeng.cn]
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Guns采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Guns源码头部的版权声明。
+ * 3.请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://gitee.com/stylefeng/guns
+ * 5.在修改包名,模块名称,项目代码等时,请注明软件出处 https://gitee.com/stylefeng/guns
+ * 6.若您的项目无法满足以上几点,可申请商业授权
+ */
+package cn.stylefeng.roses.kernel.system.modular.user.service;
+
+import cn.stylefeng.roses.kernel.system.api.pojo.user.SysUserAdminDTO;
+
+import java.util.List;
+
+/**
+ * 管理员用户业务
+ *
+ * @author fengshuonan
+ * @date 2022/9/30 11:05
+ */
+public interface SysUserAdminService {
+
+ /**
+ * 获取管理员列表
+ *
+ * @return 返回的包装类中,id是角色id
+ * @author fengshuonan
+ * @date 2022/9/30 11:06
+ */
+ List getAdminUserList();
+
+}
diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserRoleService.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserRoleService.java
index 4812ec3cf..9e5488b35 100644
--- a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserRoleService.java
+++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserRoleService.java
@@ -24,9 +24,9 @@
*/
package cn.stylefeng.roses.kernel.system.modular.user.service;
-import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserRole;
import cn.stylefeng.roses.kernel.system.api.pojo.user.request.SysUserRequest;
import cn.stylefeng.roses.kernel.system.api.pojo.user.request.UserRoleRequest;
+import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserRole;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
@@ -39,7 +39,6 @@ import java.util.List;
*/
public interface SysUserRoleService extends IService {
-
/**
* 新增
*
@@ -98,7 +97,6 @@ public interface SysUserRoleService extends IService {
* 根据userId查询列表
*
* @param userId 用户id
- * @return
* @author chenjinlong
* @date 2021/2/3 15:06
*/
@@ -118,7 +116,6 @@ public interface SysUserRoleService extends IService {
* 角色分配
*
* @param sysUserRequest 请求参数
- * @return
* @author chenjinlong
* @date 2021/2/3 15:16
*/
diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserAdminServiceImpl.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserAdminServiceImpl.java
new file mode 100644
index 000000000..58dab86f6
--- /dev/null
+++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserAdminServiceImpl.java
@@ -0,0 +1,96 @@
+package cn.stylefeng.roses.kernel.system.modular.user.service.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
+import cn.stylefeng.roses.kernel.system.api.RoleServiceApi;
+import cn.stylefeng.roses.kernel.system.api.pojo.role.dto.SysRoleDTO;
+import cn.stylefeng.roses.kernel.system.api.pojo.role.request.SysRoleRequest;
+import cn.stylefeng.roses.kernel.system.api.pojo.user.SysUserAdminDTO;
+import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUser;
+import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserRole;
+import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserAdminService;
+import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserRoleService;
+import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserService;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * 管理员相关的业务
+ *
+ * @author fengshuonan
+ * @date 2022/9/30 11:07
+ */
+@Service
+public class SysUserAdminServiceImpl implements SysUserAdminService {
+
+ @Resource
+ private RoleServiceApi roleServiceApi;
+
+ @Resource
+ private SysUserRoleService sysUserRoleService;
+
+ @Resource
+ private SysUserService sysUserService;
+
+ @Override
+ public List getAdminUserList() {
+
+ // 获取所有管理员角色
+ SysRoleRequest sysRoleRequest = new SysRoleRequest();
+ sysRoleRequest.setAdminFlag(YesOrNotEnum.Y.getCode());
+ List roleSelectList = roleServiceApi.getRoleSelectList(sysRoleRequest);
+ List adminRoleIds = roleSelectList.stream().map(SysRoleDTO::getRoleId).collect(Collectors.toList());
+
+ // 如果没有管理员,则返回空
+ if (ObjectUtil.isEmpty(adminRoleIds)) {
+ return new ArrayList<>();
+ }
+
+ // 获取管理员角色,对应的用户集合
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.in(SysUserRole::getRoleId, adminRoleIds);
+ List sysUserRoleList = sysUserRoleService.list(queryWrapper);
+ List userIdList = sysUserRoleList.stream().map(SysUserRole::getUserId).collect(Collectors.toList());
+
+ // 没有相关的人员绑定管理员角色,则返回空
+ if (ObjectUtil.isEmpty(userIdList)) {
+ return new ArrayList<>();
+ }
+
+ // 查询对应的人员信息
+ LambdaQueryWrapper sysUserLambdaQueryWrapper = new LambdaQueryWrapper<>();
+ sysUserLambdaQueryWrapper.select(SysUser::getUserId, SysUser::getRealName);
+ sysUserLambdaQueryWrapper.in(SysUser::getUserId);
+ sysUserLambdaQueryWrapper.ne(SysUser::getDelFlag, YesOrNotEnum.Y.getCode());
+ List userList = sysUserService.list(sysUserLambdaQueryWrapper);
+ if (ObjectUtil.isEmpty(userList)) {
+ return new ArrayList<>();
+ }
+
+ // 转化实体
+ ArrayList sysUserAdminDTOS = new ArrayList<>();
+ Map> userIdRoles = sysUserRoleList.stream().collect(Collectors.groupingBy(SysUserRole::getUserId));
+ for (SysUser sysUser : userList) {
+ SysUserAdminDTO sysUserAdminDTO = new SysUserAdminDTO();
+ sysUserAdminDTO.setUserId(sysUser.getUserId());
+
+ // 设置角色id
+ List userRoles = userIdRoles.get(sysUser.getUserId());
+ if (userRoles != null && userRoles.size() > 0) {
+ sysUserAdminDTO.setRoleId(userRoles.get(0).getRoleId());
+ }
+
+ // 设置用户名称
+ sysUserAdminDTO.setRealName(sysUser.getNickName());
+ }
+
+ return sysUserAdminDTOS;
+ }
+
+}