From 9c84530593e74c1596f84d42ab1ddc13910954c5 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期二, 26 十二月 2023 00:46:34 +0800 Subject: [PATCH] update 优化 框架整体提高查询性能 --- ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml | 4 ruoyi-admin/src/main/java/org/dromara/web/service/impl/SocialAuthStrategy.java | 9 ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysPostMapper.xml | 12 - ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysClientServiceImpl.java | 15 + ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysRoleService.java | 9 + ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java | 3 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysLogininforServiceImpl.java | 3 ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/CacheNames.java | 5 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java | 4 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java | 8 ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml | 67 ---------- ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysNoticeServiceImpl.java | 3 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysClientController.java | 2 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysDeptMapper.java | 2 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysPostMapper.java | 12 - ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java | 3 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysClientService.java | 4 ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml | 16 - ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java | 9 + ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java | 20 +- ruoyi-admin/src/main/java/org/dromara/web/service/impl/EmailAuthStrategy.java | 9 ruoyi-admin/src/main/java/org/dromara/web/service/IAuthStrategy.java | 5 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysProfileController.java | 7 ruoyi-admin/src/main/java/org/dromara/web/service/impl/XcxAuthStrategy.java | 3 ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java | 9 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java | 36 ----- ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java | 14 ++ ruoyi-admin/src/main/java/org/dromara/web/service/impl/SmsAuthStrategy.java | 9 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java | 6 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysRoleMapper.java | 15 -- 30 files changed, 122 insertions(+), 201 deletions(-) diff --git a/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java b/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java index d0d7931..a18ab50 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java @@ -26,6 +26,7 @@ import org.dromara.common.websocket.utils.WebSocketUtils; import org.dromara.system.domain.SysClient; import org.dromara.system.domain.bo.SysTenantBo; +import org.dromara.system.domain.vo.SysClientVo; import org.dromara.system.domain.vo.SysTenantVo; import org.dromara.system.service.ISysClientService; import org.dromara.system.service.ISysConfigService; @@ -81,7 +82,7 @@ // 鎺堟潈绫诲瀷鍜屽鎴风id String clientId = loginBody.getClientId(); String grantType = loginBody.getGrantType(); - SysClient client = clientService.queryByClientId(clientId); + SysClientVo client = clientService.queryByClientId(clientId); // 鏌ヨ涓嶅埌 client 鎴� client 鍐呬笉鍖呭惈 grantType if (ObjectUtil.isNull(client) || !StringUtils.contains(client.getGrantType(), grantType)) { log.info("瀹㈡埛绔痠d: {} 璁よ瘉绫诲瀷锛歿} 寮傚父!.", clientId, grantType); diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/IAuthStrategy.java b/ruoyi-admin/src/main/java/org/dromara/web/service/IAuthStrategy.java index d4f9c73..44eaece 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/IAuthStrategy.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/IAuthStrategy.java @@ -4,6 +4,7 @@ import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.utils.SpringUtils; import org.dromara.system.domain.SysClient; +import org.dromara.system.domain.vo.SysClientVo; import org.dromara.web.domain.vo.LoginVo; /** @@ -18,7 +19,7 @@ /** * 鐧诲綍 */ - static LoginVo login(String body, SysClient client, String grantType) { + static LoginVo login(String body, SysClientVo client, String grantType) { // 鎺堟潈绫诲瀷鍜屽鎴风id String beanName = grantType + BASE_NAME; if (!SpringUtils.containsBean(beanName)) { @@ -31,6 +32,6 @@ /** * 鐧诲綍 */ - LoginVo login(String body, SysClient client); + LoginVo login(String body, SysClientVo client); } diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java index 37802b7..28332a3 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java @@ -25,11 +25,13 @@ import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.system.domain.SysUser; import org.dromara.system.domain.bo.SysSocialBo; +import org.dromara.system.domain.vo.SysRoleVo; import org.dromara.system.domain.vo.SysSocialVo; import org.dromara.system.domain.vo.SysTenantVo; import org.dromara.system.domain.vo.SysUserVo; import org.dromara.system.mapper.SysUserMapper; import org.dromara.system.service.ISysPermissionService; +import org.dromara.system.service.ISysRoleService; import org.dromara.system.service.ISysSocialService; import org.dromara.system.service.ISysTenantService; import org.springframework.beans.factory.annotation.Value; @@ -59,6 +61,7 @@ private final ISysTenantService tenantService; private final ISysPermissionService permissionService; private final ISysSocialService sysSocialService; + private final ISysRoleService roleService; private final SysUserMapper userMapper; @@ -147,8 +150,10 @@ loginUser.setMenuPermission(permissionService.getMenuPermission(user.getUserId())); loginUser.setRolePermission(permissionService.getRolePermission(user.getUserId())); loginUser.setDeptName(ObjectUtil.isNull(user.getDept()) ? "" : user.getDept().getDeptName()); - List<RoleDTO> roles = BeanUtil.copyToList(user.getRoles(), RoleDTO.class); - loginUser.setRoles(roles); + List<SysRoleVo> roles = DataPermissionHelper.ignore(() -> { + return roleService.selectRolesByUserId(user.getUserId()); + }); + loginUser.setRoles(BeanUtil.copyToList(roles, RoleDTO.class)); return loginUser; } diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/EmailAuthStrategy.java b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/EmailAuthStrategy.java index a2636bc..38fdc44 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/EmailAuthStrategy.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/EmailAuthStrategy.java @@ -23,6 +23,7 @@ import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.system.domain.SysClient; import org.dromara.system.domain.SysUser; +import org.dromara.system.domain.vo.SysClientVo; import org.dromara.system.domain.vo.SysUserVo; import org.dromara.system.mapper.SysUserMapper; import org.dromara.web.domain.vo.LoginVo; @@ -44,7 +45,7 @@ private final SysUserMapper userMapper; @Override - public LoginVo login(String body, SysClient client) { + public LoginVo login(String body, SysClientVo client) { EmailLoginBody loginBody = JsonUtils.parseObject(body, EmailLoginBody.class); ValidatorUtils.validate(loginBody); String tenantId = loginBody.getTenantId(); @@ -90,9 +91,7 @@ private SysUserVo loadUserByEmail(String tenantId, String email) { return TenantHelper.dynamic(tenantId, () -> { - SysUser user = userMapper.selectOne(new LambdaQueryWrapper<SysUser>() - .select(SysUser::getEmail, SysUser::getStatus) - .eq(SysUser::getEmail, email)); + SysUserVo user = userMapper.selectVoOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getEmail, email)); if (ObjectUtil.isNull(user)) { log.info("鐧诲綍鐢ㄦ埛锛歿} 涓嶅瓨鍦�.", email); throw new UserException("user.not.exists", email); @@ -100,7 +99,7 @@ log.info("鐧诲綍鐢ㄦ埛锛歿} 宸茶鍋滅敤.", email); throw new UserException("user.blocked", email); } - return userMapper.selectUserByEmail(email); + return user; }); } diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java index bcb5916..cd33ea4 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java @@ -26,6 +26,7 @@ import org.dromara.common.web.config.properties.CaptchaProperties; import org.dromara.system.domain.SysClient; import org.dromara.system.domain.SysUser; +import org.dromara.system.domain.vo.SysClientVo; import org.dromara.system.domain.vo.SysUserVo; import org.dromara.system.mapper.SysUserMapper; import org.dromara.web.domain.vo.LoginVo; @@ -48,7 +49,7 @@ private final SysUserMapper userMapper; @Override - public LoginVo login(String body, SysClient client) { + public LoginVo login(String body, SysClientVo client) { PasswordLoginBody loginBody = JsonUtils.parseObject(body, PasswordLoginBody.class); ValidatorUtils.validate(loginBody); String tenantId = loginBody.getTenantId(); @@ -109,9 +110,7 @@ private SysUserVo loadUserByUsername(String tenantId, String username) { return TenantHelper.dynamic(tenantId, () -> { - SysUser user = userMapper.selectOne(new LambdaQueryWrapper<SysUser>() - .select(SysUser::getUserName, SysUser::getStatus) - .eq(SysUser::getUserName, username)); + SysUserVo user = userMapper.selectVoOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUserName, username)); if (ObjectUtil.isNull(user)) { log.info("鐧诲綍鐢ㄦ埛锛歿} 涓嶅瓨鍦�.", username); throw new UserException("user.not.exists", username); @@ -119,7 +118,7 @@ log.info("鐧诲綍鐢ㄦ埛锛歿} 宸茶鍋滅敤.", username); throw new UserException("user.blocked", username); } - return userMapper.selectUserByUserName(username); + return user; }); } diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SmsAuthStrategy.java b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SmsAuthStrategy.java index a4fa11c..f883632 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SmsAuthStrategy.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SmsAuthStrategy.java @@ -23,6 +23,7 @@ import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.system.domain.SysClient; import org.dromara.system.domain.SysUser; +import org.dromara.system.domain.vo.SysClientVo; import org.dromara.system.domain.vo.SysUserVo; import org.dromara.system.mapper.SysUserMapper; import org.dromara.web.domain.vo.LoginVo; @@ -44,7 +45,7 @@ private final SysUserMapper userMapper; @Override - public LoginVo login(String body, SysClient client) { + public LoginVo login(String body, SysClientVo client) { SmsLoginBody loginBody = JsonUtils.parseObject(body, SmsLoginBody.class); ValidatorUtils.validate(loginBody); String tenantId = loginBody.getTenantId(); @@ -90,9 +91,7 @@ private SysUserVo loadUserByPhonenumber(String tenantId, String phonenumber) { return TenantHelper.dynamic(tenantId, () -> { - SysUser user = userMapper.selectOne(new LambdaQueryWrapper<SysUser>() - .select(SysUser::getPhonenumber, SysUser::getStatus) - .eq(SysUser::getPhonenumber, phonenumber)); + SysUserVo user = userMapper.selectVoOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getPhonenumber, phonenumber)); if (ObjectUtil.isNull(user)) { log.info("鐧诲綍鐢ㄦ埛锛歿} 涓嶅瓨鍦�.", phonenumber); throw new UserException("user.not.exists", phonenumber); @@ -100,7 +99,7 @@ log.info("鐧诲綍鐢ㄦ埛锛歿} 宸茶鍋滅敤.", phonenumber); throw new UserException("user.blocked", phonenumber); } - return userMapper.selectUserByPhonenumber(phonenumber); + return user; }); } diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SocialAuthStrategy.java b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SocialAuthStrategy.java index a12386e..4b00ddb 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SocialAuthStrategy.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SocialAuthStrategy.java @@ -25,6 +25,7 @@ import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.system.domain.SysClient; import org.dromara.system.domain.SysUser; +import org.dromara.system.domain.vo.SysClientVo; import org.dromara.system.domain.vo.SysSocialVo; import org.dromara.system.domain.vo.SysUserVo; import org.dromara.system.mapper.SysUserMapper; @@ -59,7 +60,7 @@ * @param client 瀹㈡埛绔俊鎭� */ @Override - public LoginVo login(String body, SysClient client) { + public LoginVo login(String body, SysClientVo client) { SocialLoginBody loginBody = JsonUtils.parseObject(body, SocialLoginBody.class); ValidatorUtils.validate(loginBody); AuthResponse<AuthUser> response = SocialUtils.loginAuth( @@ -114,9 +115,7 @@ private SysUserVo loadUser(String tenantId, Long userId) { return TenantHelper.dynamic(tenantId, () -> { - SysUser user = userMapper.selectOne(new LambdaQueryWrapper<SysUser>() - .select(SysUser::getUserName, SysUser::getStatus) - .eq(SysUser::getUserId, userId)); + SysUserVo user = userMapper.selectVoById(userId); if (ObjectUtil.isNull(user)) { log.info("鐧诲綍鐢ㄦ埛锛歿} 涓嶅瓨鍦�.", ""); throw new UserException("user.not.exists", ""); @@ -124,7 +123,7 @@ log.info("鐧诲綍鐢ㄦ埛锛歿} 宸茶鍋滅敤.", ""); throw new UserException("user.blocked", ""); } - return userMapper.selectUserByUserName(user.getUserName()); + return user; }); } diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/XcxAuthStrategy.java b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/XcxAuthStrategy.java index e5aef1f..ccab778 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/XcxAuthStrategy.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/XcxAuthStrategy.java @@ -12,6 +12,7 @@ import org.dromara.common.json.utils.JsonUtils; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.system.domain.SysClient; +import org.dromara.system.domain.vo.SysClientVo; import org.dromara.system.domain.vo.SysUserVo; import org.dromara.web.domain.vo.LoginVo; import org.dromara.web.service.IAuthStrategy; @@ -31,7 +32,7 @@ private final SysLoginService loginService; @Override - public LoginVo login(String body, SysClient client) { + public LoginVo login(String body, SysClientVo client) { XcxLoginBody loginBody = JsonUtils.parseObject(body, XcxLoginBody.class); ValidatorUtils.validate(loginBody); // xcxCode 涓� 灏忕▼搴忚皟鐢� wx.login 鎺堟潈鍚庤幏鍙� diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/CacheNames.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/CacheNames.java index e59277a..28ba177 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/CacheNames.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/CacheNames.java @@ -36,6 +36,11 @@ String SYS_TENANT = GlobalConstants.GLOBAL_REDIS_KEY + "sys_tenant#30d"; /** + * 瀹㈡埛绔� + */ + String SYS_CLIENT = GlobalConstants.GLOBAL_REDIS_KEY + "sys_client#30d"; + + /** * 鐢ㄦ埛璐︽埛 */ String SYS_USER_NAME = "sys_user_name#30d"; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysClientController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysClientController.java index 61d30c7..13be4a4 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysClientController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysClientController.java @@ -97,7 +97,7 @@ @Log(title = "瀹㈡埛绔鐞�", businessType = BusinessType.UPDATE) @PutMapping("/changeStatus") public R<Void> changeStatus(@RequestBody SysClientBo bo) { - return toAjax(sysClientService.updateUserStatus(bo.getId(), bo.getStatus())); + return toAjax(sysClientService.updateUserStatus(bo.getClientId(), bo.getStatus())); } /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysProfileController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysProfileController.java index f9c4b3d..ccba0cf 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysProfileController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysProfileController.java @@ -19,6 +19,7 @@ import org.dromara.system.domain.vo.SysOssVo; import org.dromara.system.domain.vo.SysUserVo; import org.dromara.system.service.ISysOssService; +import org.dromara.system.service.ISysRoleService; import org.dromara.system.service.ISysUserService; import lombok.RequiredArgsConstructor; import org.springframework.http.MediaType; @@ -40,6 +41,7 @@ public class SysProfileController extends BaseController { private final ISysUserService userService; + private final ISysRoleService roleService; private final ISysOssService ossService; /** @@ -48,10 +50,11 @@ @GetMapping public R<ProfileVo> profile() { SysUserVo user = userService.selectUserById(LoginHelper.getUserId()); + user.setRoles(roleService.selectRolesByUserId(user.getUserId())); ProfileVo profileVo = new ProfileVo(); profileVo.setUser(user); - profileVo.setRoleGroup(userService.selectUserRoleGroup(user.getUserName())); - profileVo.setPostGroup(userService.selectUserPostGroup(user.getUserName())); + profileVo.setRoleGroup(userService.selectUserRoleGroup(user.getUserId())); + profileVo.setPostGroup(userService.selectUserPostGroup(user.getUserId())); return R.ok(profileVo); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java index beefe4a..41319c1 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java @@ -116,6 +116,7 @@ if (ObjectUtil.isNull(user)) { return R.fail("娌℃湁鏉冮檺璁块棶鐢ㄦ埛鏁版嵁!"); } + user.setRoles(roleService.selectRolesByUserId(user.getUserId())); userInfoVo.setUser(user); userInfoVo.setPermissions(loginUser.getMenuPermission()); userInfoVo.setRoles(loginUser.getRolePermission()); @@ -142,7 +143,7 @@ if (ObjectUtil.isNotNull(userId)) { SysUserVo sysUser = userService.selectUserById(userId); userInfoVo.setUser(sysUser); - userInfoVo.setRoleIds(StreamUtils.toList(sysUser.getRoles(), SysRoleVo::getRoleId)); + userInfoVo.setRoleIds(roleService.selectRoleListByUserId(userId)); userInfoVo.setPostIds(postService.selectPostListByUserId(userId)); } return R.ok(userInfoVo); @@ -241,8 +242,9 @@ @SaCheckPermission("system:user:query") @GetMapping("/authRole/{userId}") public R<SysUserInfoVo> authRole(@PathVariable Long userId) { + userService.checkUserDataScope(userId); SysUserVo user = userService.selectUserById(userId); - List<SysRoleVo> roles = roleService.selectRolesByUserId(userId); + List<SysRoleVo> roles = roleService.selectRolesAuthByUserId(userId); SysUserInfoVo userInfoVo = new SysUserInfoVo(); userInfoVo.setUser(user); userInfoVo.setRoles(LoginHelper.isSuperAdmin(userId) ? roles : StreamUtils.filter(roles, r -> !r.isSuperAdmin())); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysDeptMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysDeptMapper.java index 45ad77e..08dda66 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysDeptMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysDeptMapper.java @@ -32,7 +32,7 @@ @DataPermission({ @DataColumn(key = "deptName", value = "dept_id") }) - SysDeptVo selectDeptById(Long deptId); + long countDeptById(Long deptId); /** * 鏍规嵁瑙掕壊ID鏌ヨ閮ㄩ棬鏍戜俊鎭� diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysPostMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysPostMapper.java index 48e6a12..d6d2759 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysPostMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysPostMapper.java @@ -14,19 +14,11 @@ public interface SysPostMapper extends BaseMapperPlus<SysPost, SysPostVo> { /** - * 鏍规嵁鐢ㄦ埛ID鑾峰彇宀椾綅閫夋嫨妗嗗垪琛� - * - * @param userId 鐢ㄦ埛ID - * @return 閫変腑宀椾綅ID鍒楄〃 - */ - List<Long> selectPostListByUserId(Long userId); - - /** * 鏌ヨ鐢ㄦ埛鎵�灞炲矖浣嶇粍 * - * @param userName 鐢ㄦ埛鍚� + * @param userId 鐢ㄦ埛ID * @return 缁撴灉 */ - List<SysPostVo> selectPostsByUserName(String userName); + List<SysPostVo> selectPostsByUserId(Long userId); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysRoleMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysRoleMapper.java index 55ca769..ac5a47e 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysRoleMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysRoleMapper.java @@ -3,12 +3,12 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; import org.dromara.common.mybatis.annotation.DataColumn; import org.dromara.common.mybatis.annotation.DataPermission; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.system.domain.SysRole; import org.dromara.system.domain.vo.SysRoleVo; -import org.apache.ibatis.annotations.Param; import java.util.List; @@ -51,21 +51,12 @@ */ List<SysRoleVo> selectRolePermissionByUserId(Long userId); - - /** - * 鏍规嵁鐢ㄦ埛ID鑾峰彇瑙掕壊閫夋嫨妗嗗垪琛� - * - * @param userId 鐢ㄦ埛ID - * @return 閫変腑瑙掕壊ID鍒楄〃 - */ - List<Long> selectRoleListByUserId(Long userId); - /** * 鏍规嵁鐢ㄦ埛ID鏌ヨ瑙掕壊 * - * @param userName 鐢ㄦ埛鍚� + * @param userId 鐢ㄦ埛ID * @return 瑙掕壊鍒楄〃 */ - List<SysRoleVo> selectRolesByUserName(String userName); + List<SysRoleVo> selectRolesByUserId(Long userId); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java index 4322225..d349832 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java @@ -61,41 +61,11 @@ }) Page<SysUserVo> selectUnallocatedList(@Param("page") Page<SysUser> page, @Param(Constants.WRAPPER) Wrapper<SysUser> queryWrapper); - /** - * 閫氳繃鐢ㄦ埛鍚嶆煡璇㈢敤鎴� - * - * @param userName 鐢ㄦ埛鍚� - * @return 鐢ㄦ埛瀵硅薄淇℃伅 - */ - SysUserVo selectUserByUserName(String userName); - - /** - * 閫氳繃鎵嬫満鍙锋煡璇㈢敤鎴� - * - * @param phonenumber 鎵嬫満鍙� - * @return 鐢ㄦ埛瀵硅薄淇℃伅 - */ - SysUserVo selectUserByPhonenumber(String phonenumber); - - /** - * 閫氳繃閭鏌ヨ鐢ㄦ埛 - * - * @param email 閭 - * @return 鐢ㄦ埛瀵硅薄淇℃伅 - */ - SysUserVo selectUserByEmail(String email); - - /** - * 閫氳繃鐢ㄦ埛ID鏌ヨ鐢ㄦ埛 - * - * @param userId 鐢ㄦ埛ID - * @return 鐢ㄦ埛瀵硅薄淇℃伅 - */ @DataPermission({ - @DataColumn(key = "deptName", value = "d.dept_id"), - @DataColumn(key = "userName", value = "u.user_id") + @DataColumn(key = "deptName", value = "dept_id"), + @DataColumn(key = "userName", value = "user_id") }) - SysUserVo selectUserById(Long userId); + long countUserById(Long userId); @Override @DataPermission({ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysClientService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysClientService.java index db48d4b..d0f8a3c 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysClientService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysClientService.java @@ -25,7 +25,7 @@ /** * 鏌ヨ瀹㈡埛绔俊鎭熀浜庡鎴风id */ - SysClient queryByClientId(String clientId); + SysClientVo queryByClientId(String clientId); /** * 鏌ヨ瀹㈡埛绔鐞嗗垪琛� @@ -50,7 +50,7 @@ /** * 淇敼鐘舵�� */ - int updateUserStatus(Long id, String status); + int updateUserStatus(String clientId, String status); /** * 鏍¢獙骞舵壒閲忓垹闄ゅ鎴风绠$悊淇℃伅 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysRoleService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysRoleService.java index d2ee61f..f98a567 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysRoleService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysRoleService.java @@ -36,6 +36,14 @@ List<SysRoleVo> selectRolesByUserId(Long userId); /** + * 鏍规嵁鐢ㄦ埛ID鏌ヨ瑙掕壊鍒楄〃(鍖呭惈琚巿鏉冪姸鎬�) + * + * @param userId 鐢ㄦ埛ID + * @return 瑙掕壊鍒楄〃 + */ + List<SysRoleVo> selectRolesAuthByUserId(Long userId); + + /** * 鏍规嵁鐢ㄦ埛ID鏌ヨ瑙掕壊鏉冮檺 * * @param userId 鐢ㄦ埛ID @@ -180,4 +188,5 @@ int insertAuthUsers(Long roleId, Long[] userIds); void cleanOnlineUserByRole(Long roleId); + } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java index bbe78be..6c7323c 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java @@ -68,18 +68,18 @@ /** * 鏍规嵁鐢ㄦ埛ID鏌ヨ鐢ㄦ埛鎵�灞炶鑹茬粍 * - * @param userName 鐢ㄦ埛鍚� + * @param userId 鐢ㄦ埛ID * @return 缁撴灉 */ - String selectUserRoleGroup(String userName); + String selectUserRoleGroup(Long userId); /** * 鏍规嵁鐢ㄦ埛ID鏌ヨ鐢ㄦ埛鎵�灞炲矖浣嶇粍 * - * @param userName 鐢ㄦ埛鍚� + * @param userId 鐢ㄦ埛ID * @return 缁撴灉 */ - String selectUserPostGroup(String userName); + String selectUserPostGroup(Long userId); /** * 鏍¢獙鐢ㄦ埛鍚嶇О鏄惁鍞竴 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysClientServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysClientServiceImpl.java index aecaf66..26bc491 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysClientServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysClientServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.dromara.common.core.constant.CacheNames; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.PageQuery; @@ -16,6 +17,8 @@ import org.dromara.system.domain.vo.SysClientVo; import org.dromara.system.mapper.SysClientMapper; import org.dromara.system.service.ISysClientService; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import java.util.Collection; @@ -48,9 +51,10 @@ /** * 鏌ヨ瀹㈡埛绔鐞� */ + @Cacheable(cacheNames = CacheNames.SYS_CLIENT, key = "#clientId") @Override - public SysClient queryByClientId(String clientId) { - return baseMapper.selectOne(new LambdaQueryWrapper<SysClient>().eq(SysClient::getClientId, clientId)); + public SysClientVo queryByClientId(String clientId) { + return baseMapper.selectVoOne(new LambdaQueryWrapper<SysClient>().eq(SysClient::getClientId, clientId)); } /** @@ -105,6 +109,7 @@ /** * 淇敼瀹㈡埛绔鐞� */ + @CacheEvict(cacheNames = CacheNames.SYS_CLIENT, key = "#bo.clientId") @Override public Boolean updateByBo(SysClientBo bo) { SysClient update = MapstructUtils.convert(bo, SysClient.class); @@ -116,12 +121,13 @@ /** * 淇敼鐘舵�� */ + @CacheEvict(cacheNames = CacheNames.SYS_CLIENT, key = "#clientId") @Override - public int updateUserStatus(Long id, String status) { + public int updateUserStatus(String clientId, String status) { return baseMapper.update(null, new LambdaUpdateWrapper<SysClient>() .set(SysClient::getStatus, status) - .eq(SysClient::getId, id)); + .eq(SysClient::getClientId, clientId)); } /** @@ -134,6 +140,7 @@ /** * 鎵归噺鍒犻櫎瀹㈡埛绔鐞� */ + @CacheEvict(cacheNames = CacheNames.SYS_CLIENT, allEntries = true) @Override public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { if (isValid) { diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java index fe5cc0e..1907bd9 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java @@ -221,8 +221,7 @@ if (LoginHelper.isSuperAdmin()) { return; } - SysDeptVo dept = baseMapper.selectDeptById(deptId); - if (ObjectUtil.isNull(dept)) { + if (baseMapper.countDeptById(deptId) == 0) { throw new ServiceException("娌℃湁鏉冮檺璁块棶閮ㄩ棬鏁版嵁锛�"); } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysLogininforServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysLogininforServiceImpl.java index d215d59..150de00 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysLogininforServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysLogininforServiceImpl.java @@ -17,6 +17,7 @@ import org.dromara.system.domain.SysClient; import org.dromara.system.domain.SysLogininfor; import org.dromara.system.domain.bo.SysLogininforBo; +import org.dromara.system.domain.vo.SysClientVo; import org.dromara.system.domain.vo.SysLogininforVo; import org.dromara.system.mapper.SysClientMapper; import org.dromara.system.mapper.SysLogininforMapper; @@ -61,7 +62,7 @@ final String ip = ServletUtils.getClientIP(request); // 瀹㈡埛绔俊鎭� String clientid = request.getHeader(LoginHelper.CLIENT_KEY); - SysClient client = null; + SysClientVo client = null; if (StringUtils.isNotBlank(clientid)) { client = clientService.queryByClientId(clientid); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysNoticeServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysNoticeServiceImpl.java index 8e2b5ac..18b7a08 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysNoticeServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysNoticeServiceImpl.java @@ -9,6 +9,7 @@ import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.system.domain.SysNotice; +import org.dromara.system.domain.SysUser; import org.dromara.system.domain.bo.SysNoticeBo; import org.dromara.system.domain.vo.SysNoticeVo; import org.dromara.system.domain.vo.SysUserVo; @@ -68,7 +69,7 @@ lqw.like(StringUtils.isNotBlank(bo.getNoticeTitle()), SysNotice::getNoticeTitle, bo.getNoticeTitle()); lqw.eq(StringUtils.isNotBlank(bo.getNoticeType()), SysNotice::getNoticeType, bo.getNoticeType()); if (StringUtils.isNotBlank(bo.getCreateByName())) { - SysUserVo sysUser = userMapper.selectUserByUserName(bo.getCreateByName()); + SysUserVo sysUser = userMapper.selectVoOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUserName, bo.getCreateByName())); lqw.eq(SysNotice::getCreateBy, ObjectUtil.isNotNull(sysUser) ? sysUser.getUserId() : null); } lqw.orderByAsc(SysNotice::getNoticeId); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java index b69a06c..9e2912d 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StreamUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -92,7 +93,8 @@ */ @Override public List<Long> selectPostListByUserId(Long userId) { - return baseMapper.selectPostListByUserId(userId); + List<SysPostVo> list = baseMapper.selectPostsByUserId(userId); + return StreamUtils.toList(list, SysPostVo::getPostId); } /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java index 8a2b939..a831f7e 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java @@ -92,6 +92,17 @@ */ @Override public List<SysRoleVo> selectRolesByUserId(Long userId) { + return baseMapper.selectRolesByUserId(userId); + } + + /** + * 鏍规嵁鐢ㄦ埛ID鏌ヨ瑙掕壊鍒楄〃(鍖呭惈琚巿鏉冪姸鎬�) + * + * @param userId 鐢ㄦ埛ID + * @return 瑙掕壊鍒楄〃 + */ + @Override + public List<SysRoleVo> selectRolesAuthByUserId(Long userId) { List<SysRoleVo> userRoles = baseMapper.selectRolePermissionByUserId(userId); List<SysRoleVo> roles = selectRoleAll(); for (SysRoleVo role : roles) { @@ -141,7 +152,8 @@ */ @Override public List<Long> selectRoleListByUserId(Long userId) { - return baseMapper.selectRoleListByUserId(userId); + List<SysRoleVo> list = baseMapper.selectRolesByUserId(userId); + return StreamUtils.toList(list, SysRoleVo::getRoleId); } /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java index 7ee19e8..bde6244 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java @@ -141,7 +141,7 @@ */ @Override public SysUserVo selectUserByUserName(String userName) { - return baseMapper.selectUserByUserName(userName); + return baseMapper.selectVoOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUserName, userName)); } /** @@ -152,7 +152,7 @@ */ @Override public SysUserVo selectUserByPhonenumber(String phonenumber) { - return baseMapper.selectUserByPhonenumber(phonenumber); + return baseMapper.selectVoOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getPhonenumber, phonenumber)); } /** @@ -163,18 +163,18 @@ */ @Override public SysUserVo selectUserById(Long userId) { - return baseMapper.selectUserById(userId); + return baseMapper.selectVoById(userId); } /** * 鏌ヨ鐢ㄦ埛鎵�灞炶鑹茬粍 * - * @param userName 鐢ㄦ埛鍚� + * @param userId 鐢ㄦ埛ID * @return 缁撴灉 */ @Override - public String selectUserRoleGroup(String userName) { - List<SysRoleVo> list = roleMapper.selectRolesByUserName(userName); + public String selectUserRoleGroup(Long userId) { + List<SysRoleVo> list = roleMapper.selectRolesByUserId(userId); if (CollUtil.isEmpty(list)) { return StringUtils.EMPTY; } @@ -184,12 +184,12 @@ /** * 鏌ヨ鐢ㄦ埛鎵�灞炲矖浣嶇粍 * - * @param userName 鐢ㄦ埛鍚� + * @param userId 鐢ㄦ埛ID * @return 缁撴灉 */ @Override - public String selectUserPostGroup(String userName) { - List<SysPostVo> list = postMapper.selectPostsByUserName(userName); + public String selectUserPostGroup(Long userId) { + List<SysPostVo> list = postMapper.selectPostsByUserId(userId); if (CollUtil.isEmpty(list)) { return StringUtils.EMPTY; } @@ -261,7 +261,7 @@ if (LoginHelper.isSuperAdmin()) { return; } - if (ObjectUtil.isNull(baseMapper.selectUserById(userId))) { + if (baseMapper.countUserById(userId) == 0) { throw new ServiceException("娌℃湁鏉冮檺璁块棶鐢ㄦ埛鏁版嵁锛�"); } } diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml index bba949d..55c9b37 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml @@ -11,8 +11,8 @@ select * from sys_dept ${ew.getCustomSqlSegment} </select> - <select id="selectDeptById" resultMap="SysDeptResult"> - select * from sys_dept where del_flag = '0' and dept_id = #{deptId} + <select id="countDeptById" resultType="Long"> + select count(*) from sys_dept where del_flag = '0' and dept_id = #{deptId} </select> <select id="selectDeptListByRoleId" resultType="Long"> diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysPostMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysPostMapper.xml index d2108eb..199dffe 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysPostMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysPostMapper.xml @@ -7,20 +7,12 @@ <resultMap type="org.dromara.system.domain.vo.SysPostVo" id="SysPostResult"> </resultMap> - <select id="selectPostListByUserId" parameterType="Long" resultType="Long"> - select p.post_id - from sys_post p - left join sys_user_post up on up.post_id = p.post_id - left join sys_user u on u.user_id = up.user_id - where u.user_id = #{userId} - </select> - - <select id="selectPostsByUserName" parameterType="String" resultMap="SysPostResult"> + <select id="selectPostsByUserId" parameterType="Long" resultMap="SysPostResult"> select p.post_id, p.post_name, p.post_code from sys_post p left join sys_user_post up on up.post_id = p.post_id left join sys_user u on u.user_id = up.user_id - where u.user_name = #{userName} + where u.user_id = #{userId} </select> </mapper> diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml index b191698..7b8bba7 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml @@ -40,23 +40,17 @@ WHERE r.del_flag = '0' and sur.user_id = #{userId} </select> - <select id="selectRoleListByUserId" parameterType="Long" resultType="Long"> - select r.role_id - from sys_role r - left join sys_user_role sur on sur.role_id = r.role_id - left join sys_user u on u.user_id = sur.user_id - where u.user_id = #{userId} - </select> - - <select id="selectRolesByUserName" parameterType="String" resultMap="SysRoleResult"> + <select id="selectRolesByUserId" parameterType="Long" resultMap="SysRoleResult"> select r.role_id, r.role_name, r.role_key, - r.role_sort + r.role_sort, + r.data_scope, + r.status from sys_role r left join sys_user_role sur on sur.role_id = r.role_id left join sys_user u on u.user_id = sur.user_id - WHERE r.del_flag = '0' and u.user_name = #{userName} + WHERE r.del_flag = '0' and sur.user_id = #{userId} </select> <select id="selectRoleById" resultMap="SysRoleResult"> diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml index 7af7dd0..ce1c0d6 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -9,7 +9,6 @@ <id property="userId" column="user_id"/> <result property="deptId" column="dept_id"/> <association property="dept" column="dept_id" resultMap="deptResult"/> - <collection property="roles" javaType="java.util.List" resultMap="RoleResult"/> </resultMap> <resultMap id="deptResult" type="org.dromara.system.domain.vo.SysDeptVo"> @@ -18,52 +17,6 @@ <result property="status" column="dept_status"/> <result property="createTime" column="dept_create_time"/> </resultMap> - - <resultMap id="RoleResult" type="org.dromara.system.domain.vo.SysRoleVo"> - <id property="roleId" column="role_id"/> - <result property="status" column="role_status"/> - <result property="createTime" column="role_create_time"/> - </resultMap> - - <sql id="selectUserVo"> - select u.user_id, - u.tenant_id, - u.dept_id, - u.user_name, - u.nick_name, - u.user_type, - u.email, - u.avatar, - u.phonenumber, - u.password, - u.sex, - u.status, - u.del_flag, - u.login_ip, - u.login_date, - u.create_by, - u.create_time, - u.remark, - d.dept_id, - d.parent_id, - d.ancestors, - d.dept_name, - d.order_num, - d.leader, - d.status as dept_status, - d.email as dept_email, - d.create_time as dept_cteate_time, - r.role_id, - r.role_name, - r.role_key, - r.role_sort, - r.data_scope, - r.status as role_status - from sys_user u - left join sys_dept d on u.dept_id = d.dept_id - left join sys_user_role sur on u.user_id = sur.user_id - left join sys_role r on r.role_id = sur.role_id - </sql> <select id="selectPageUserList" resultMap="SysUserResult"> select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, @@ -103,24 +56,8 @@ ${ew.getCustomSqlSegment} </select> - <select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult"> - <include refid="selectUserVo"/> - where u.del_flag = '0' and u.user_name = #{userName} - </select> - - <select id="selectUserByPhonenumber" parameterType="String" resultMap="SysUserResult"> - <include refid="selectUserVo"/> - where u.del_flag = '0' and u.phonenumber = #{phonenumber} - </select> - - <select id="selectUserByEmail" parameterType="String" resultMap="SysUserResult"> - <include refid="selectUserVo"/> - where u.del_flag = '0' and u.email = #{email} - </select> - - <select id="selectUserById" parameterType="Long" resultMap="SysUserResult"> - <include refid="selectUserVo"/> - where u.del_flag = '0' and u.user_id = #{userId} + <select id="countUserById" resultType="Long"> + select count(*) from sys_user where del_flag = '0' and user_id = #{userId} </select> -- Gitblit v1.9.3