diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/SysLoginController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/SysLoginController.java index f91d55d63..73e6a245f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/SysLoginController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/SysLoginController.java @@ -7,13 +7,13 @@ import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.domain.model.SmsLoginBody; import com.ruoyi.common.satoken.utils.LoginHelper; import com.ruoyi.system.domain.SysMenu; -import com.ruoyi.system.domain.SysUser; import com.ruoyi.system.domain.vo.RouterVo; +import com.ruoyi.system.domain.vo.SysUserVo; import com.ruoyi.system.service.ISysMenuService; import com.ruoyi.system.service.ISysUserService; import com.ruoyi.system.service.SysLoginService; -import com.ruoyi.web.domain.vo.UserInfoVo; import com.ruoyi.web.domain.vo.LoginVo; +import com.ruoyi.web.domain.vo.UserInfoVo; import jakarta.validation.constraints.NotBlank; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; @@ -106,7 +106,7 @@ public class SysLoginController { public R getInfo() { UserInfoVo userInfoVo = new UserInfoVo(); LoginUser loginUser = LoginHelper.getLoginUser(); - SysUser user = userService.selectUserById(loginUser.getUserId()); + SysUserVo user = userService.selectUserById(loginUser.getUserId()); userInfoVo.setUser(user); userInfoVo.setPermissions(loginUser.getMenuPermission()); userInfoVo.setRoles(loginUser.getRolePermission()); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/domain/vo/UserInfoVo.java b/ruoyi-admin/src/main/java/com/ruoyi/web/domain/vo/UserInfoVo.java index ed562e316..ad4f01503 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/domain/vo/UserInfoVo.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/domain/vo/UserInfoVo.java @@ -1,6 +1,6 @@ package com.ruoyi.web.domain.vo; -import com.ruoyi.system.domain.SysUser; +import com.ruoyi.system.domain.vo.SysUserVo; import lombok.Data; import java.util.Set; @@ -16,7 +16,7 @@ public class UserInfoVo { /** * 用户基本信息 */ - private SysUser user; + private SysUserVo user; /** * 菜单权限 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysProfileController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysProfileController.java index 99a0c8a7d..48c78d307 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysProfileController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysProfileController.java @@ -6,14 +6,15 @@ import com.ruoyi.common.core.constant.UserConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.file.MimeTypeUtils; -import com.ruoyi.common.web.core.BaseController; import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.satoken.utils.LoginHelper; -import com.ruoyi.system.domain.SysUser; +import com.ruoyi.common.web.core.BaseController; +import com.ruoyi.system.domain.bo.SysUserBo; import com.ruoyi.system.domain.vo.AvatarVo; import com.ruoyi.system.domain.vo.ProfileVo; import com.ruoyi.system.domain.vo.SysOssVo; +import com.ruoyi.system.domain.vo.SysUserVo; import com.ruoyi.system.service.ISysOssService; import com.ruoyi.system.service.ISysUserService; import lombok.RequiredArgsConstructor; @@ -43,7 +44,7 @@ public class SysProfileController extends BaseController { */ @GetMapping public R profile() { - SysUser user = userService.selectUserById(LoginHelper.getUserId()); + SysUserVo user = userService.selectUserById(LoginHelper.getUserId()); ProfileVo profileVo = new ProfileVo(); profileVo.setUser(user); profileVo.setRoleGroup(userService.selectUserRoleGroup(user.getUserName())); @@ -56,7 +57,7 @@ public class SysProfileController extends BaseController { */ @Log(title = "个人信息", businessType = BusinessType.UPDATE) @PutMapping - public R updateProfile(@RequestBody SysUser user) { + public R updateProfile(@RequestBody SysUserBo user) { if (StringUtils.isNotEmpty(user.getPhonenumber()) && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) { return R.fail("修改用户'" + user.getUserName() + "'失败,手机号码已存在"); @@ -85,7 +86,7 @@ public class SysProfileController extends BaseController { @Log(title = "个人信息", businessType = BusinessType.UPDATE) @PutMapping("/updatePwd") public R updatePwd(String oldPassword, String newPassword) { - SysUser user = userService.selectUserById(LoginHelper.getUserId()); + SysUserVo user = userService.selectUserById(LoginHelper.getUserId()); String userName = user.getUserName(); String password = user.getPassword(); if (!BCrypt.checkpw(oldPassword, password)) { diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysRoleController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysRoleController.java index 7a0868f7f..02dc7ab21 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysRoleController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysRoleController.java @@ -5,19 +5,20 @@ import cn.hutool.core.util.ObjectUtil; import com.ruoyi.common.core.constant.UserConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.model.LoginUser; -import com.ruoyi.common.web.core.BaseController; import com.ruoyi.common.excel.utils.ExcelUtil; import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.mybatis.core.page.PageQuery; import com.ruoyi.common.mybatis.core.page.TableDataInfo; import com.ruoyi.common.satoken.utils.LoginHelper; +import com.ruoyi.common.web.core.BaseController; import com.ruoyi.system.domain.SysDept; -import com.ruoyi.system.domain.SysUser; import com.ruoyi.system.domain.SysUserRole; import com.ruoyi.system.domain.bo.SysRoleBo; +import com.ruoyi.system.domain.bo.SysUserBo; import com.ruoyi.system.domain.vo.DeptTreeSelectVo; import com.ruoyi.system.domain.vo.SysRoleVo; +import com.ruoyi.system.domain.vo.SysUserVo; import com.ruoyi.system.service.ISysDeptService; import com.ruoyi.system.service.ISysRoleService; import com.ruoyi.system.service.ISysUserService; @@ -111,9 +112,9 @@ public class SysRoleController extends BaseController { if (roleService.updateRole(role) > 0) { // 更新缓存用户权限 LoginUser loginUser = LoginHelper.getLoginUser(); - SysUser sysUser = userService.selectUserById(loginUser.getUserId()); + SysUserVo sysUser = userService.selectUserById(loginUser.getUserId()); if (ObjectUtil.isNotNull(sysUser) && !LoginHelper.isAdmin()) { - loginUser.setMenuPermission(permissionService.getMenuPermission(sysUser)); + loginUser.setMenuPermission(permissionService.getMenuPermission(sysUser.getUserId(), sysUser.isAdmin())); LoginHelper.setLoginUser(loginUser); } return R.ok(); @@ -171,7 +172,7 @@ public class SysRoleController extends BaseController { */ @SaCheckPermission("system:role:list") @GetMapping("/authUser/allocatedList") - public TableDataInfo allocatedList(SysUser user, PageQuery pageQuery) { + public TableDataInfo allocatedList(SysUserBo user, PageQuery pageQuery) { return userService.selectAllocatedList(user, pageQuery); } @@ -180,7 +181,7 @@ public class SysRoleController extends BaseController { */ @SaCheckPermission("system:role:list") @GetMapping("/authUser/unallocatedList") - public TableDataInfo unallocatedList(SysUser user, PageQuery pageQuery) { + public TableDataInfo unallocatedList(SysUserBo user, PageQuery pageQuery) { return userService.selectUnallocatedList(user, pageQuery); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysUserController.java index cb64cbdd5..0efea3de0 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysUserController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysUserController.java @@ -10,7 +10,6 @@ import com.ruoyi.common.core.constant.UserConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.StreamUtils; import com.ruoyi.common.core.utils.StringUtils; -import com.ruoyi.common.web.core.BaseController; import com.ruoyi.common.excel.core.ExcelResult; import com.ruoyi.common.excel.utils.ExcelUtil; import com.ruoyi.common.log.annotation.Log; @@ -18,15 +17,15 @@ import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.mybatis.core.page.PageQuery; import com.ruoyi.common.mybatis.core.page.TableDataInfo; import com.ruoyi.common.satoken.utils.LoginHelper; +import com.ruoyi.common.web.core.BaseController; import com.ruoyi.system.domain.SysDept; -import com.ruoyi.system.domain.SysRole; -import com.ruoyi.system.domain.SysUser; -import com.ruoyi.system.domain.vo.SysRoleVo; -import com.ruoyi.system.domain.vo.SysUserExportVo; -import com.ruoyi.system.domain.vo.SysUserImportVo; -import com.ruoyi.system.domain.vo.SysUserInfoVo; +import com.ruoyi.system.domain.bo.SysUserBo; +import com.ruoyi.system.domain.vo.*; import com.ruoyi.system.listener.SysUserImportListener; -import com.ruoyi.system.service.*; +import com.ruoyi.system.service.ISysDeptService; +import com.ruoyi.system.service.ISysPostService; +import com.ruoyi.system.service.ISysRoleService; +import com.ruoyi.system.service.ISysUserService; import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; import org.springframework.http.MediaType; @@ -34,7 +33,8 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import java.util.*; +import java.util.ArrayList; +import java.util.List; /** * 用户信息 @@ -57,7 +57,7 @@ public class SysUserController extends BaseController { */ @SaCheckPermission("system:user:list") @GetMapping("/list") - public TableDataInfo list(SysUser user, PageQuery pageQuery) { + public TableDataInfo list(SysUserBo user, PageQuery pageQuery) { return userService.selectPageUserList(user, pageQuery); } @@ -67,11 +67,11 @@ public class SysUserController extends BaseController { @Log(title = "用户管理", businessType = BusinessType.EXPORT) @SaCheckPermission("system:user:export") @PostMapping("/export") - public void export(SysUser user, HttpServletResponse response) { - List list = userService.selectUserList(user); + public void export(SysUserBo user, HttpServletResponse response) { + List list = userService.selectUserList(user); List listVo = BeanUtil.copyToList(list, SysUserExportVo.class); for (int i = 0; i < list.size(); i++) { - SysDept dept = list.get(i).getDept(); + SysDeptVo dept = list.get(i).getDept(); SysUserExportVo vo = listVo.get(i); if (ObjectUtil.isNotEmpty(dept)) { vo.setDeptName(dept.getDeptName()); @@ -117,9 +117,9 @@ public class SysUserController extends BaseController { userInfoVo.setRoles(LoginHelper.isAdmin(userId) ? roles : StreamUtils.filter(roles, r -> !r.isAdmin())); userInfoVo.setPosts(postService.selectPostAll()); if (ObjectUtil.isNotNull(userId)) { - SysUser sysUser = userService.selectUserById(userId); + SysUserVo sysUser = userService.selectUserById(userId); userInfoVo.setUser(sysUser); - userInfoVo.setRoleIds(StreamUtils.toList(sysUser.getRoles(), SysRole::getRoleId)); + userInfoVo.setRoleIds(StreamUtils.toList(sysUser.getRoles(), SysRoleVo::getRoleId)); userInfoVo.setPostIds(postService.selectPostListByUserId(userId)); } return R.ok(userInfoVo); @@ -131,7 +131,7 @@ public class SysUserController extends BaseController { @SaCheckPermission("system:user:add") @Log(title = "用户管理", businessType = BusinessType.INSERT) @PostMapping - public R add(@Validated @RequestBody SysUser user) { + public R add(@Validated @RequestBody SysUserBo user) { if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user))) { return R.fail("新增用户'" + user.getUserName() + "'失败,登录账号已存在"); } else if (StringUtils.isNotEmpty(user.getPhonenumber()) @@ -151,7 +151,7 @@ public class SysUserController extends BaseController { @SaCheckPermission("system:user:edit") @Log(title = "用户管理", businessType = BusinessType.UPDATE) @PutMapping - public R edit(@Validated @RequestBody SysUser user) { + public R edit(@Validated @RequestBody SysUserBo user) { userService.checkUserAllowed(user); userService.checkUserDataScope(user.getUserId()); if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user))) { @@ -187,7 +187,7 @@ public class SysUserController extends BaseController { @SaCheckPermission("system:user:resetPwd") @Log(title = "用户管理", businessType = BusinessType.UPDATE) @PutMapping("/resetPwd") - public R resetPwd(@RequestBody SysUser user) { + public R resetPwd(@RequestBody SysUserBo user) { userService.checkUserAllowed(user); userService.checkUserDataScope(user.getUserId()); user.setPassword(BCrypt.hashpw(user.getPassword())); @@ -200,7 +200,7 @@ public class SysUserController extends BaseController { @SaCheckPermission("system:user:edit") @Log(title = "用户管理", businessType = BusinessType.UPDATE) @PutMapping("/changeStatus") - public R changeStatus(@RequestBody SysUser user) { + public R changeStatus(@RequestBody SysUserBo user) { userService.checkUserAllowed(user); userService.checkUserDataScope(user.getUserId()); return toAjax(userService.updateUserStatus(user)); @@ -214,7 +214,7 @@ public class SysUserController extends BaseController { @SaCheckPermission("system:user:query") @GetMapping("/authRole/{userId}") public R authRole(@PathVariable Long userId) { - SysUser user = userService.selectUserById(userId); + SysUserVo user = userService.selectUserById(userId); List roles = roleService.selectRolesByUserId(userId); SysUserInfoVo userInfoVo = new SysUserInfoVo(); userInfoVo.setUser(user); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUser.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUser.java index 4abfa78f6..42cfb96ec 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUser.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUser.java @@ -3,18 +3,11 @@ package com.ruoyi.system.domain; import com.baomidou.mybatisplus.annotation.*; import com.ruoyi.common.core.constant.UserConstants; import com.ruoyi.common.mybatis.core.domain.BaseEntity; -import com.ruoyi.common.core.xss.Xss; -import com.ruoyi.common.sensitive.annotation.Sensitive; -import com.ruoyi.common.sensitive.core.SensitiveStrategy; -import jakarta.validation.constraints.Email; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.Size; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import java.util.Date; -import java.util.List; /** * 用户对象 sys_user @@ -42,16 +35,11 @@ public class SysUser extends BaseEntity { /** * 用户账号 */ - @Xss(message = "用户账号不能包含脚本字符") - @NotBlank(message = "用户账号不能为空") - @Size(min = 0, max = 30, message = "用户账号长度不能超过{max}个字符") private String userName; /** * 用户昵称 */ - @Xss(message = "用户昵称不能包含脚本字符") - @Size(min = 0, max = 30, message = "用户昵称长度不能超过{max}个字符") private String nickName; /** @@ -62,15 +50,11 @@ public class SysUser extends BaseEntity { /** * 用户邮箱 */ - @Sensitive(strategy = SensitiveStrategy.EMAIL) - @Email(message = "邮箱格式不正确") - @Size(min = 0, max = 50, message = "邮箱长度不能超过{max}个字符") private String email; /** * 手机号码 */ - @Sensitive(strategy = SensitiveStrategy.PHONE) private String phonenumber; /** @@ -119,35 +103,6 @@ public class SysUser extends BaseEntity { */ private String remark; - /** - * 部门对象 - */ - @TableField(exist = false) - private SysDept dept; - - /** - * 角色对象 - */ - @TableField(exist = false) - private List roles; - - /** - * 角色组 - */ - @TableField(exist = false) - private Long[] roleIds; - - /** - * 岗位组 - */ - @TableField(exist = false) - private Long[] postIds; - - /** - * 数据权限 当前角色ID - */ - @TableField(exist = false) - private Long roleId; public SysUser(Long userId) { this.userId = userId; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/SysUserBo.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/SysUserBo.java index c4f8504fc..10dd782b7 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/SysUserBo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/SysUserBo.java @@ -1,17 +1,19 @@ package com.ruoyi.system.domain.bo; import com.ruoyi.common.core.constant.UserConstants; -import com.ruoyi.common.core.validate.AddGroup; -import com.ruoyi.common.core.validate.EditGroup; +import com.ruoyi.common.core.xss.Xss; +import com.ruoyi.common.mybatis.core.domain.BaseEntity; +import com.ruoyi.common.sensitive.annotation.Sensitive; +import com.ruoyi.common.sensitive.core.SensitiveStrategy; +import jakarta.validation.constraints.Email; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; import lombok.Data; import lombok.EqualsAndHashCode; -import jakarta.validation.constraints.*; +import lombok.NoArgsConstructor; import java.util.Date; -import com.ruoyi.common.mybatis.core.domain.BaseEntity; -import lombok.NoArgsConstructor; - /** * 用户信息业务对象 sys_user * @@ -27,7 +29,6 @@ public class SysUserBo extends BaseEntity { /** * 用户ID */ - @NotNull(message = "用户ID不能为空", groups = { EditGroup.class }) private Long userId; /** @@ -38,12 +39,16 @@ public class SysUserBo extends BaseEntity { /** * 用户账号 */ - @NotBlank(message = "用户账号不能为空", groups = { AddGroup.class, EditGroup.class }) + @Xss(message = "用户账号不能包含脚本字符") + @NotBlank(message = "用户账号不能为空") + @Size(min = 0, max = 30, message = "用户账号长度不能超过{max}个字符") private String userName; /** * 用户昵称 */ + @Xss(message = "用户昵称不能包含脚本字符") + @Size(min = 0, max = 30, message = "用户昵称长度不能超过{max}个字符") private String nickName; /** @@ -54,11 +59,15 @@ public class SysUserBo extends BaseEntity { /** * 用户邮箱 */ + @Sensitive(strategy = SensitiveStrategy.EMAIL) + @Email(message = "邮箱格式不正确") + @Size(min = 0, max = 50, message = "邮箱长度不能超过{max}个字符") private String email; /** * 手机号码 */ + @Sensitive(strategy = SensitiveStrategy.PHONE) private String phonenumber; /** @@ -91,11 +100,6 @@ public class SysUserBo extends BaseEntity { */ private Date loginDate; - /** - * 创建部门 - */ - private Long createDept; - /** * 备注 */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/ProfileVo.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/ProfileVo.java index 5968c3aca..a7f557ca3 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/ProfileVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/ProfileVo.java @@ -1,6 +1,5 @@ package com.ruoyi.system.domain.vo; -import com.ruoyi.system.domain.SysUser; import lombok.Data; /** @@ -14,7 +13,7 @@ public class ProfileVo { /** * 用户信息 */ - private SysUser user; + private SysUserVo user; /** * 用户所属角色组 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysUserInfoVo.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysUserInfoVo.java index f2407ea43..d675a08a0 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysUserInfoVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysUserInfoVo.java @@ -1,6 +1,5 @@ package com.ruoyi.system.domain.vo; -import com.ruoyi.system.domain.SysUser; import lombok.Data; import java.util.List; @@ -16,7 +15,7 @@ public class SysUserInfoVo { /** * 用户信息 */ - private SysUser user; + private SysUserVo user; /** * 角色ID列表 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/listener/SysUserImportListener.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/listener/SysUserImportListener.java index 5967228ca..b201e3d16 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/listener/SysUserImportListener.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/listener/SysUserImportListener.java @@ -11,8 +11,9 @@ import com.ruoyi.common.core.utils.ValidatorUtils; import com.ruoyi.common.excel.core.ExcelListener; import com.ruoyi.common.excel.core.ExcelResult; import com.ruoyi.common.satoken.utils.LoginHelper; -import com.ruoyi.system.domain.SysUser; +import com.ruoyi.system.domain.bo.SysUserBo; import com.ruoyi.system.domain.vo.SysUserImportVo; +import com.ruoyi.system.domain.vo.SysUserVo; import com.ruoyi.system.service.ISysConfigService; import com.ruoyi.system.service.ISysUserService; import lombok.extern.slf4j.Slf4j; @@ -50,11 +51,11 @@ public class SysUserImportListener extends AnalysisEventListener").append(successNum).append("、账号 ").append(user.getUserName()).append(" 导入成功"); } else if (isUpdateSupport) { - Long userId = user.getUserId(); - user = BeanUtil.toBean(userVo, SysUser.class); + Long userId = sysUser.getUserId(); + SysUserBo user = BeanUtil.toBean(userVo, SysUserBo.class); user.setUserId(userId); ValidatorUtils.validate(user); userService.checkUserAllowed(user); @@ -74,11 +75,11 @@ public class SysUserImportListener extends AnalysisEventListener").append(successNum).append("、账号 ").append(user.getUserName()).append(" 更新成功"); } else { failureNum++; - failureMsg.append("
").append(failureNum).append("、账号 ").append(user.getUserName()).append(" 已存在"); + failureMsg.append("
").append(failureNum).append("、账号 ").append(sysUser.getUserName()).append(" 已存在"); } } catch (Exception e) { failureNum++; - String msg = "
" + failureNum + "、账号 " + user.getUserName() + " 导入失败:"; + String msg = "
" + failureNum + "、账号 " + sysUser.getUserName() + " 导入失败:"; failureMsg.append(msg).append(e.getMessage()); log.error(msg, e); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java index 48713c7ef..26e033c36 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java @@ -7,6 +7,7 @@ import com.ruoyi.common.mybatis.annotation.DataColumn; import com.ruoyi.common.mybatis.annotation.DataPermission; import com.ruoyi.system.domain.SysUser; import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus; +import com.ruoyi.system.domain.vo.SysUserVo; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -22,7 +23,7 @@ public interface SysUserMapper extends BaseMapperPlus selectPageUserList(@Param("page") Page page, @Param(Constants.WRAPPER) Wrapper queryWrapper); + Page selectPageUserList(@Param("page") Page page, @Param(Constants.WRAPPER) Wrapper queryWrapper); /** * 根据条件分页查询用户列表 @@ -34,7 +35,7 @@ public interface SysUserMapper extends BaseMapperPlus selectUserList(@Param(Constants.WRAPPER) Wrapper queryWrapper); + List selectUserList(@Param(Constants.WRAPPER) Wrapper queryWrapper); /** * 根据条件分页查询已配用户角色列表 @@ -46,7 +47,7 @@ public interface SysUserMapper extends BaseMapperPlus selectAllocatedList(@Param("page") Page page, @Param(Constants.WRAPPER) Wrapper queryWrapper); + Page selectAllocatedList(@Param("page") Page page, @Param(Constants.WRAPPER) Wrapper queryWrapper); /** * 根据条件分页查询未分配用户角色列表 @@ -58,7 +59,7 @@ public interface SysUserMapper extends BaseMapperPlus selectUnallocatedList(@Param("page") Page page, @Param(Constants.WRAPPER) Wrapper queryWrapper); + Page selectUnallocatedList(@Param("page") Page page, @Param(Constants.WRAPPER) Wrapper queryWrapper); /** * 通过用户名查询用户 @@ -66,7 +67,7 @@ public interface SysUserMapper extends BaseMapperPlus selectPageUserList(SysUser user, PageQuery pageQuery); + TableDataInfo selectPageUserList(SysUserBo user, PageQuery pageQuery); /** * 根据条件分页查询用户列表 @@ -22,7 +23,7 @@ public interface ISysUserService { * @param user 用户信息 * @return 用户信息集合信息 */ - List selectUserList(SysUser user); + List selectUserList(SysUserBo user); /** * 根据条件分页查询已分配用户角色列表 @@ -30,7 +31,7 @@ public interface ISysUserService { * @param user 用户信息 * @return 用户信息集合信息 */ - TableDataInfo selectAllocatedList(SysUser user, PageQuery pageQuery); + TableDataInfo selectAllocatedList(SysUserBo user, PageQuery pageQuery); /** * 根据条件分页查询未分配用户角色列表 @@ -38,7 +39,7 @@ public interface ISysUserService { * @param user 用户信息 * @return 用户信息集合信息 */ - TableDataInfo selectUnallocatedList(SysUser user, PageQuery pageQuery); + TableDataInfo selectUnallocatedList(SysUserBo user, PageQuery pageQuery); /** * 通过用户名查询用户 @@ -46,7 +47,7 @@ public interface ISysUserService { * @param userName 用户名 * @return 用户对象信息 */ - SysUser selectUserByUserName(String userName); + SysUserVo selectUserByUserName(String userName); /** * 通过手机号查询用户 @@ -54,7 +55,7 @@ public interface ISysUserService { * @param phonenumber 手机号 * @return 用户对象信息 */ - SysUser selectUserByPhonenumber(String phonenumber); + SysUserVo selectUserByPhonenumber(String phonenumber); /** * 通过用户ID查询用户 @@ -62,7 +63,7 @@ public interface ISysUserService { * @param userId 用户ID * @return 用户对象信息 */ - SysUser selectUserById(Long userId); + SysUserVo selectUserById(Long userId); /** * 根据用户ID查询用户所属角色组 @@ -86,7 +87,7 @@ public interface ISysUserService { * @param user 用户信息 * @return 结果 */ - String checkUserNameUnique(SysUser user); + String checkUserNameUnique(SysUserBo user); /** * 校验手机号码是否唯一 @@ -94,7 +95,7 @@ public interface ISysUserService { * @param user 用户信息 * @return 结果 */ - String checkPhoneUnique(SysUser user); + String checkPhoneUnique(SysUserBo user); /** * 校验email是否唯一 @@ -102,14 +103,14 @@ public interface ISysUserService { * @param user 用户信息 * @return 结果 */ - String checkEmailUnique(SysUser user); + String checkEmailUnique(SysUserBo user); /** * 校验用户是否允许操作 * * @param user 用户信息 */ - void checkUserAllowed(SysUser user); + void checkUserAllowed(SysUserBo user); /** * 校验用户是否有数据权限 @@ -124,7 +125,7 @@ public interface ISysUserService { * @param user 用户信息 * @return 结果 */ - int insertUser(SysUser user); + int insertUser(SysUserBo user); /** * 注册用户信息 @@ -132,7 +133,7 @@ public interface ISysUserService { * @param user 用户信息 * @return 结果 */ - boolean registerUser(SysUser user); + boolean registerUser(SysUserBo user); /** * 修改用户信息 @@ -140,7 +141,7 @@ public interface ISysUserService { * @param user 用户信息 * @return 结果 */ - int updateUser(SysUser user); + int updateUser(SysUserBo user); /** * 用户授权角色 @@ -156,7 +157,7 @@ public interface ISysUserService { * @param user 用户信息 * @return 结果 */ - int updateUserStatus(SysUser user); + int updateUserStatus(SysUserBo user); /** * 修改用户基本信息 @@ -164,7 +165,7 @@ public interface ISysUserService { * @param user 用户信息 * @return 结果 */ - int updateUserProfile(SysUser user); + int updateUserProfile(SysUserBo user); /** * 修改用户头像 @@ -181,7 +182,7 @@ public interface ISysUserService { * @param user 用户信息 * @return 结果 */ - int resetPwd(SysUser user); + int resetPwd(SysUserBo user); /** * 重置用户密码 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java index fc5c69f5a..4c298ee0b 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java @@ -8,31 +8,28 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.common.core.constant.CacheConstants; import com.ruoyi.common.core.constant.Constants; -import com.ruoyi.common.log.event.LogininforEvent; import com.ruoyi.common.core.domain.dto.RoleDTO; +import com.ruoyi.common.core.domain.model.LoginUser; +import com.ruoyi.common.core.domain.model.XcxLoginUser; import com.ruoyi.common.core.enums.DeviceType; import com.ruoyi.common.core.enums.LoginType; import com.ruoyi.common.core.enums.UserStatus; -import com.ruoyi.system.domain.SysUser; -import com.ruoyi.common.core.domain.model.LoginUser; -import com.ruoyi.common.core.domain.model.XcxLoginUser; import com.ruoyi.common.core.exception.user.CaptchaException; import com.ruoyi.common.core.exception.user.CaptchaExpireException; import com.ruoyi.common.core.exception.user.UserException; -import com.ruoyi.common.satoken.utils.LoginHelper; -import com.ruoyi.common.core.utils.DateUtils; -import com.ruoyi.common.core.utils.MessageUtils; -import com.ruoyi.common.core.utils.ServletUtils; -import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.core.utils.*; +import com.ruoyi.common.log.event.LogininforEvent; import com.ruoyi.common.redis.utils.RedisUtils; -import com.ruoyi.common.core.utils.SpringUtils; +import com.ruoyi.common.satoken.utils.LoginHelper; +import com.ruoyi.system.domain.SysUser; +import com.ruoyi.system.domain.vo.SysUserVo; import com.ruoyi.system.mapper.SysUserMapper; +import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; -import jakarta.servlet.http.HttpServletRequest; import java.time.Duration; import java.util.List; import java.util.function.Supplier; @@ -73,7 +70,7 @@ public class SysLoginService { if (captchaEnabled) { validateCaptcha(username, code, uuid, request); } - SysUser user = loadUserByUsername(username); + SysUserVo user = loadUserByUsername(username); checkLogin(LoginType.PASSWORD, username, () -> !BCrypt.checkpw(password, user.getPassword())); // 此处可根据登录用户的数据不同 自行创建 loginUser LoginUser loginUser = buildLoginUser(user); @@ -87,7 +84,7 @@ public class SysLoginService { public String smsLogin(String phonenumber, String smsCode) { // 通过手机号查找用户 - SysUser user = loadUserByPhonenumber(phonenumber); + SysUserVo user = loadUserByPhonenumber(phonenumber); checkLogin(LoginType.SMS, user.getUserName(), () -> !validateSmsCode(phonenumber, smsCode)); // 此处可根据登录用户的数据不同 自行创建 loginUser @@ -106,7 +103,7 @@ public class SysLoginService { // todo 以下自行实现 // 校验 appid + appsrcret + xcxCode 调用登录凭证校验接口 获取 session_key 与 openid String openid = ""; - SysUser user = loadUserByOpenid(openid); + SysUserVo user = loadUserByOpenid(openid); // 此处可根据登录用户的数据不同 自行创建 loginUser XcxLoginUser loginUser = new XcxLoginUser(); @@ -184,7 +181,7 @@ public class SysLoginService { } } - private SysUser loadUserByUsername(String username) { + private SysUserVo loadUserByUsername(String username) { SysUser user = userMapper.selectOne(new LambdaQueryWrapper() .select(SysUser::getUserName, SysUser::getStatus) .eq(SysUser::getUserName, username)); @@ -198,7 +195,7 @@ public class SysLoginService { return userMapper.selectUserByUserName(username); } - private SysUser loadUserByPhonenumber(String phonenumber) { + private SysUserVo loadUserByPhonenumber(String phonenumber) { SysUser user = userMapper.selectOne(new LambdaQueryWrapper() .select(SysUser::getPhonenumber, SysUser::getStatus) .eq(SysUser::getPhonenumber, phonenumber)); @@ -212,10 +209,10 @@ public class SysLoginService { return userMapper.selectUserByPhonenumber(phonenumber); } - private SysUser loadUserByOpenid(String openid) { + private SysUserVo loadUserByOpenid(String openid) { // 使用 openid 查询绑定用户 如未绑定用户 则根据业务自行处理 例如 创建默认用户 // todo 自行实现 userService.selectUserByOpenid(openid); - SysUser user = new SysUser(); + SysUserVo user = new SysUserVo(); if (ObjectUtil.isNull(user)) { log.info("登录用户:{} 不存在.", openid); // todo 用户不存在 业务逻辑自行实现 @@ -229,14 +226,14 @@ public class SysLoginService { /** * 构建登录用户 */ - private LoginUser buildLoginUser(SysUser user) { + private LoginUser buildLoginUser(SysUserVo user) { LoginUser loginUser = new LoginUser(); loginUser.setUserId(user.getUserId()); loginUser.setDeptId(user.getDeptId()); loginUser.setUsername(user.getUserName()); loginUser.setUserType(user.getUserType()); - loginUser.setMenuPermission(permissionService.getMenuPermission(user)); - loginUser.setRolePermission(permissionService.getRolePermission(user)); + loginUser.setMenuPermission(permissionService.getMenuPermission(user.getUserId(), user.isAdmin())); + loginUser.setRolePermission(permissionService.getRolePermission(user.getUserId(), user.isAdmin())); loginUser.setDeptName(ObjectUtil.isNull(user.getDept()) ? "" : user.getDept().getDeptName()); List roles = BeanUtil.copyToList(user.getRoles(), RoleDTO.class); loginUser.setRoles(roles); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/SysPermissionService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/SysPermissionService.java index 30d4f7d9b..c457bc00f 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/SysPermissionService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/SysPermissionService.java @@ -1,8 +1,7 @@ package com.ruoyi.system.service; import cn.hutool.core.collection.CollUtil; -import com.ruoyi.system.domain.SysRole; -import com.ruoyi.system.domain.SysUser; +import com.ruoyi.system.domain.vo.SysRoleVo; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -25,16 +24,17 @@ public class SysPermissionService { /** * 获取角色数据权限 * - * @param user 用户信息 + * @param userId 用户id + * @param isAdmin 是否管理员 * @return 角色权限信息 */ - public Set getRolePermission(SysUser user) { + public Set getRolePermission(Long userId, boolean isAdmin) { Set roles = new HashSet<>(); // 管理员拥有所有权限 - if (user.isAdmin()) { + if (isAdmin) { roles.add("admin"); } else { - roles.addAll(roleService.selectRolePermissionByUserId(user.getUserId())); + roles.addAll(roleService.selectRolePermissionByUserId(userId)); } return roles; } @@ -42,25 +42,26 @@ public class SysPermissionService { /** * 获取菜单数据权限 * - * @param user 用户信息 + * @param userId 用户id + * @param isAdmin 是否管理员 * @return 菜单权限信息 */ - public Set getMenuPermission(SysUser user) { + public Set getMenuPermission(Long userId, boolean isAdmin) { Set perms = new HashSet<>(); // 管理员拥有所有权限 - if (user.isAdmin()) { + if (isAdmin) { perms.add("*:*:*"); } else { - List roles = user.getRoles(); + List roles = roleService.selectRolesByUserId(userId); if (CollUtil.isNotEmpty(roles)) { // 多角色设置permissions属性,以便数据权限匹配权限 - for (SysRole role : roles) { + for (SysRoleVo role : roles) { Set rolePerms = menuService.selectMenuPermsByRoleId(role.getRoleId()); role.setPermissions(rolePerms); perms.addAll(rolePerms); } } else { - perms.addAll(menuService.selectMenuPermsByUserId(user.getUserId())); + perms.addAll(menuService.selectMenuPermsByUserId(userId)); } } return perms; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/SysRegisterService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/SysRegisterService.java index 6a78c1728..5621cb8b7 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/SysRegisterService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/SysRegisterService.java @@ -4,23 +4,22 @@ import cn.dev33.satoken.secure.BCrypt; import com.ruoyi.common.core.constant.CacheConstants; import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.constant.UserConstants; -import com.ruoyi.common.log.event.LogininforEvent; -import com.ruoyi.common.core.enums.UserType; -import com.ruoyi.system.domain.SysUser; import com.ruoyi.common.core.domain.model.RegisterBody; +import com.ruoyi.common.core.enums.UserType; import com.ruoyi.common.core.exception.user.CaptchaException; import com.ruoyi.common.core.exception.user.CaptchaExpireException; import com.ruoyi.common.core.exception.user.UserException; import com.ruoyi.common.core.utils.MessageUtils; import com.ruoyi.common.core.utils.ServletUtils; -import com.ruoyi.common.core.utils.StringUtils; -import com.ruoyi.common.redis.utils.RedisUtils; import com.ruoyi.common.core.utils.SpringUtils; +import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.log.event.LogininforEvent; +import com.ruoyi.common.redis.utils.RedisUtils; +import com.ruoyi.system.domain.bo.SysUserBo; +import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; -import jakarta.servlet.http.HttpServletRequest; - /** * 注册校验方法 * @@ -48,7 +47,7 @@ public class SysRegisterService { if (captchaEnabled) { validateCaptcha(username, registerBody.getCode(), registerBody.getUuid(), request); } - SysUser sysUser = new SysUser(); + SysUserBo sysUser = new SysUserBo(); sysUser.setUserName(username); sysUser.setNickName(username); sysUser.setPassword(BCrypt.hashpw(password)); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java index 36f674840..e6cd02a23 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java @@ -9,9 +9,9 @@ import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.mybatis.core.page.PageQuery; import com.ruoyi.common.mybatis.core.page.TableDataInfo; import com.ruoyi.system.domain.SysNotice; -import com.ruoyi.system.domain.SysUser; import com.ruoyi.system.domain.bo.SysNoticeBo; import com.ruoyi.system.domain.vo.SysNoticeVo; +import com.ruoyi.system.domain.vo.SysUserVo; import com.ruoyi.system.mapper.SysNoticeMapper; import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.service.ISysNoticeService; @@ -68,7 +68,7 @@ public class SysNoticeServiceImpl implements ISysNoticeService { 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())) { - SysUser sysUser = userMapper.selectUserByUserName(bo.getCreateByName()); + SysUserVo sysUser = userMapper.selectUserByUserName(bo.getCreateByName()); lqw.eq(SysNotice::getCreateBy, ObjectUtil.isNotNull(sysUser) ? sysUser.getUserId() : null); } return lqw; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index 94ddc4a56..9c82ff6dd 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.system.service.impl; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ObjectUtil; @@ -19,9 +20,14 @@ import com.ruoyi.common.mybatis.core.page.PageQuery; import com.ruoyi.common.mybatis.core.page.TableDataInfo; import com.ruoyi.common.mybatis.helper.DataBaseHelper; import com.ruoyi.common.satoken.utils.LoginHelper; -import com.ruoyi.system.domain.*; +import com.ruoyi.system.domain.SysDept; +import com.ruoyi.system.domain.SysUser; +import com.ruoyi.system.domain.SysUserPost; +import com.ruoyi.system.domain.SysUserRole; +import com.ruoyi.system.domain.bo.SysUserBo; import com.ruoyi.system.domain.vo.SysPostVo; import com.ruoyi.system.domain.vo.SysRoleVo; +import com.ruoyi.system.domain.vo.SysUserVo; import com.ruoyi.system.mapper.*; import com.ruoyi.system.service.ISysUserService; import lombok.RequiredArgsConstructor; @@ -51,8 +57,8 @@ public class SysUserServiceImpl implements ISysUserService, UserService { private final SysUserPostMapper userPostMapper; @Override - public TableDataInfo selectPageUserList(SysUser user, PageQuery pageQuery) { - Page page = baseMapper.selectPageUserList(pageQuery.build(), this.buildQueryWrapper(user)); + public TableDataInfo selectPageUserList(SysUserBo user, PageQuery pageQuery) { + Page page = baseMapper.selectPageUserList(pageQuery.build(), this.buildQueryWrapper(user)); return TableDataInfo.build(page); } @@ -63,11 +69,11 @@ public class SysUserServiceImpl implements ISysUserService, UserService { * @return 用户信息集合信息 */ @Override - public List selectUserList(SysUser user) { + public List selectUserList(SysUserBo user) { return baseMapper.selectUserList(this.buildQueryWrapper(user)); } - private Wrapper buildQueryWrapper(SysUser user) { + private Wrapper buildQueryWrapper(SysUserBo user) { Map params = user.getParams(); QueryWrapper wrapper = Wrappers.query(); wrapper.eq("u.del_flag", UserConstants.USER_NORMAL) @@ -95,14 +101,14 @@ public class SysUserServiceImpl implements ISysUserService, UserService { * @return 用户信息集合信息 */ @Override - public TableDataInfo selectAllocatedList(SysUser user, PageQuery pageQuery) { + public TableDataInfo selectAllocatedList(SysUserBo user, PageQuery pageQuery) { QueryWrapper wrapper = Wrappers.query(); wrapper.eq("u.del_flag", UserConstants.USER_NORMAL) .eq(ObjectUtil.isNotNull(user.getRoleId()), "r.role_id", user.getRoleId()) .like(StringUtils.isNotBlank(user.getUserName()), "u.user_name", user.getUserName()) .eq(StringUtils.isNotBlank(user.getStatus()), "u.status", user.getStatus()) .like(StringUtils.isNotBlank(user.getPhonenumber()), "u.phonenumber", user.getPhonenumber()); - Page page = baseMapper.selectAllocatedList(pageQuery.build(), wrapper); + Page page = baseMapper.selectAllocatedList(pageQuery.build(), wrapper); return TableDataInfo.build(page); } @@ -113,7 +119,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService { * @return 用户信息集合信息 */ @Override - public TableDataInfo selectUnallocatedList(SysUser user, PageQuery pageQuery) { + public TableDataInfo selectUnallocatedList(SysUserBo user, PageQuery pageQuery) { List userIds = userRoleMapper.selectUserIdsByRoleId(user.getRoleId()); QueryWrapper wrapper = Wrappers.query(); wrapper.eq("u.del_flag", UserConstants.USER_NORMAL) @@ -121,7 +127,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService { .notIn(CollUtil.isNotEmpty(userIds), "u.user_id", userIds) .like(StringUtils.isNotBlank(user.getUserName()), "u.user_name", user.getUserName()) .like(StringUtils.isNotBlank(user.getPhonenumber()), "u.phonenumber", user.getPhonenumber()); - Page page = baseMapper.selectUnallocatedList(pageQuery.build(), wrapper); + Page page = baseMapper.selectUnallocatedList(pageQuery.build(), wrapper); return TableDataInfo.build(page); } @@ -132,7 +138,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService { * @return 用户对象信息 */ @Override - public SysUser selectUserByUserName(String userName) { + public SysUserVo selectUserByUserName(String userName) { return baseMapper.selectUserByUserName(userName); } @@ -143,7 +149,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService { * @return 用户对象信息 */ @Override - public SysUser selectUserByPhonenumber(String phonenumber) { + public SysUserVo selectUserByPhonenumber(String phonenumber) { return baseMapper.selectUserByPhonenumber(phonenumber); } @@ -154,7 +160,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService { * @return 用户对象信息 */ @Override - public SysUser selectUserById(Long userId) { + public SysUserVo selectUserById(Long userId) { return baseMapper.selectUserById(userId); } @@ -195,7 +201,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService { * @return 结果 */ @Override - public String checkUserNameUnique(SysUser user) { + public String checkUserNameUnique(SysUserBo user) { boolean exist = baseMapper.exists(new LambdaQueryWrapper() .eq(SysUser::getUserName, user.getUserName()) .ne(ObjectUtil.isNotNull(user.getUserId()), SysUser::getUserId, user.getUserId())); @@ -211,7 +217,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService { * @param user 用户信息 */ @Override - public String checkPhoneUnique(SysUser user) { + public String checkPhoneUnique(SysUserBo user) { boolean exist = baseMapper.exists(new LambdaQueryWrapper() .eq(SysUser::getPhonenumber, user.getPhonenumber()) .ne(ObjectUtil.isNotNull(user.getUserId()), SysUser::getUserId, user.getUserId())); @@ -227,7 +233,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService { * @param user 用户信息 */ @Override - public String checkEmailUnique(SysUser user) { + public String checkEmailUnique(SysUserBo user) { boolean exist = baseMapper.exists(new LambdaQueryWrapper() .eq(SysUser::getEmail, user.getEmail()) .ne(ObjectUtil.isNotNull(user.getUserId()), SysUser::getUserId, user.getUserId())); @@ -243,7 +249,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService { * @param user 用户信息 */ @Override - public void checkUserAllowed(SysUser user) { + public void checkUserAllowed(SysUserBo user) { if (ObjectUtil.isNotNull(user.getUserId()) && user.isAdmin()) { throw new ServiceException("不允许操作超级管理员用户"); } @@ -257,9 +263,9 @@ public class SysUserServiceImpl implements ISysUserService, UserService { @Override public void checkUserDataScope(Long userId) { if (!LoginHelper.isAdmin()) { - SysUser user = new SysUser(); + SysUserBo user = new SysUserBo(); user.setUserId(userId); - List users = this.selectUserList(user); + List users = this.selectUserList(user); if (CollUtil.isEmpty(users)) { throw new ServiceException("没有权限访问用户数据!"); } @@ -274,9 +280,10 @@ public class SysUserServiceImpl implements ISysUserService, UserService { */ @Override @Transactional(rollbackFor = Exception.class) - public int insertUser(SysUser user) { + public int insertUser(SysUserBo user) { + SysUser sysUser = BeanUtil.copyProperties(user, SysUser.class); // 新增用户信息 - int rows = baseMapper.insert(user); + int rows = baseMapper.insert(sysUser); // 新增用户岗位关联 insertUserPost(user); // 新增用户与角色管理 @@ -291,10 +298,11 @@ public class SysUserServiceImpl implements ISysUserService, UserService { * @return 结果 */ @Override - public boolean registerUser(SysUser user) { + public boolean registerUser(SysUserBo user) { user.setCreateBy(user.getUserId()); user.setUpdateBy(user.getUserId()); - return baseMapper.insert(user) > 0; + SysUser sysUser = BeanUtil.copyProperties(user, SysUser.class); + return baseMapper.insert(sysUser) > 0; } /** @@ -305,7 +313,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService { */ @Override @Transactional(rollbackFor = Exception.class) - public int updateUser(SysUser user) { + public int updateUser(SysUserBo user) { Long userId = user.getUserId(); // 删除用户与角色关联 userRoleMapper.delete(new LambdaQueryWrapper().eq(SysUserRole::getUserId, userId)); @@ -315,7 +323,8 @@ public class SysUserServiceImpl implements ISysUserService, UserService { userPostMapper.delete(new LambdaQueryWrapper().eq(SysUserPost::getUserId, userId)); // 新增用户与岗位管理 insertUserPost(user); - return baseMapper.updateById(user); + SysUser sysUser = BeanUtil.copyProperties(user, SysUser.class); + return baseMapper.updateById(sysUser); } /** @@ -339,8 +348,9 @@ public class SysUserServiceImpl implements ISysUserService, UserService { * @return 结果 */ @Override - public int updateUserStatus(SysUser user) { - return baseMapper.updateById(user); + public int updateUserStatus(SysUserBo user) { + SysUser sysUser = BeanUtil.copyProperties(user, SysUser.class); + return baseMapper.updateById(sysUser); } /** @@ -350,8 +360,9 @@ public class SysUserServiceImpl implements ISysUserService, UserService { * @return 结果 */ @Override - public int updateUserProfile(SysUser user) { - return baseMapper.updateById(user); + public int updateUserProfile(SysUserBo user) { + SysUser sysUser = BeanUtil.copyProperties(user, SysUser.class); + return baseMapper.updateById(sysUser); } /** @@ -376,8 +387,9 @@ public class SysUserServiceImpl implements ISysUserService, UserService { * @return 结果 */ @Override - public int resetPwd(SysUser user) { - return baseMapper.updateById(user); + public int resetPwd(SysUserBo user) { + SysUser sysUser = BeanUtil.copyProperties(user, SysUser.class); + return baseMapper.updateById(sysUser); } /** @@ -400,7 +412,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService { * * @param user 用户对象 */ - public void insertUserRole(SysUser user) { + public void insertUserRole(SysUserBo user) { this.insertUserRole(user.getUserId(), user.getRoleIds()); } @@ -409,7 +421,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService { * * @param user 用户对象 */ - public void insertUserPost(SysUser user) { + public void insertUserPost(SysUserBo user) { Long[] posts = user.getPostIds(); if (ArrayUtil.isNotEmpty(posts)) { // 新增用户与岗位管理 @@ -468,7 +480,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService { @Transactional(rollbackFor = Exception.class) public int deleteUserByIds(Long[] userIds) { for (Long userId : userIds) { - checkUserAllowed(new SysUser(userId)); + checkUserAllowed(new SysUserBo(userId)); checkUserDataScope(userId); } List ids = List.of(userIds); 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 a70cd5f47..b6ba60108 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 @@ -5,18 +5,18 @@ - + - + - +