|
|
@@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.system.service.user;
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
+import cn.hutool.core.lang.Assert;
|
|
|
import cn.hutool.core.util.ObjUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
|
|
@@ -16,20 +17,22 @@ import cn.iocoder.yudao.module.infra.api.config.ConfigApi;
|
|
|
import cn.iocoder.yudao.module.system.controller.admin.auth.vo.AuthRegisterReqVO;
|
|
|
import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO;
|
|
|
import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO;
|
|
|
-import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserImportExcelVO;
|
|
|
-import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserImportRespVO;
|
|
|
-import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserPageReqVO;
|
|
|
-import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserSaveReqVO;
|
|
|
+import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.*;
|
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
|
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.dept.UserPostDO;
|
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO;
|
|
|
+import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO;
|
|
|
+import cn.iocoder.yudao.module.system.dal.dataobject.permission.UserRoleDO;
|
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
|
|
|
import cn.iocoder.yudao.module.system.dal.mysql.dept.UserPostMapper;
|
|
|
+import cn.iocoder.yudao.module.system.dal.mysql.permission.UserRoleMapper;
|
|
|
import cn.iocoder.yudao.module.system.dal.mysql.user.AdminUserMapper;
|
|
|
import cn.iocoder.yudao.module.system.service.dept.DeptService;
|
|
|
import cn.iocoder.yudao.module.system.service.dept.PostService;
|
|
|
import cn.iocoder.yudao.module.system.service.permission.PermissionService;
|
|
|
+import cn.iocoder.yudao.module.system.service.permission.RoleService;
|
|
|
import cn.iocoder.yudao.module.system.service.tenant.TenantService;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.google.common.annotations.VisibleForTesting;
|
|
|
import com.mzt.logapi.context.LogRecordContext;
|
|
|
import com.mzt.logapi.service.impl.DiffParseFunction;
|
|
|
@@ -87,6 +90,12 @@ public class AdminUserServiceImpl implements AdminUserService {
|
|
|
private ConfigApi configApi;
|
|
|
@Resource
|
|
|
private StringRedisTemplate stringRedisTemplate;
|
|
|
+ @Lazy
|
|
|
+ @Resource
|
|
|
+ private RoleService roleService;
|
|
|
+ @Lazy
|
|
|
+ @Resource
|
|
|
+ private UserRoleMapper userRoleMapper;
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@@ -541,4 +550,22 @@ public class AdminUserServiceImpl implements AdminUserService {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<UserRespVO> getUserByRoleCode(String roleCode) {
|
|
|
+ Assert.notBlank(roleCode, "roleCode不能为空!");
|
|
|
+ RoleDO roleDO = roleService.getOne(Wrappers.<RoleDO>lambdaQuery()
|
|
|
+ .eq(RoleDO::getCode, roleCode));
|
|
|
+ Assert.isTrue(roleDO != null, roleCode + "该角色不存在!");
|
|
|
+ List<UserRoleDO> userRoleDOS = userRoleMapper.selectList(Wrappers.<UserRoleDO>lambdaQuery()
|
|
|
+ .eq(UserRoleDO::getRoleId, roleDO.getId()));
|
|
|
+ if (userRoleDOS.isEmpty()) {
|
|
|
+ return new ArrayList<>();
|
|
|
+ } else {
|
|
|
+ List<Long> userIds = userRoleDOS.stream().map(UserRoleDO::getUserId).toList();
|
|
|
+ List<AdminUserDO> adminUserDOS = userMapper.selectByIds(userIds);
|
|
|
+ List<UserRespVO> bean = BeanUtils.toBean(adminUserDOS, UserRespVO.class);
|
|
|
+ return bean;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|