From 4d22f5928b7ca390538c7c741cca1401eb9ba284 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期五, 03 二月 2023 19:03:09 +0800 Subject: [PATCH] update 更新 system 相关表接口 (sys_user) 新增 Bo Vo 类 更改请求及响应参数 --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/SysUserBo.java | 30 ++- ruoyi-admin/src/main/java/com/ruoyi/web/controller/SysLoginController.java | 6 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/SysPermissionService.java | 25 +- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java | 39 ++--- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysProfileController.java | 11 ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml | 6 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysUserController.java | 40 ++-- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUser.java | 45 ------ ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/ProfileVo.java | 3 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysRoleController.java | 13 + ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java | 15 +- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java | 37 ++-- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysUserInfoVo.java | 3 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 78 ++++++---- ruoyi-admin/src/main/java/com/ruoyi/web/domain/vo/UserInfoVo.java | 4 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/SysRegisterService.java | 15 +- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java | 4 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/listener/SysUserImportListener.java | 17 +- 18 files changed, 181 insertions(+), 210 deletions(-) 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 f91d55d..73e6a24 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.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 R<UserInfoVo> 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 ed562e3..ad4f015 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 @@ /** * 鐢ㄦ埛鍩烘湰淇℃伅 */ - 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 99a0c8a..48c78d3 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.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 @@ */ @GetMapping public R<ProfileVo> 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 @@ */ @Log(title = "涓汉淇℃伅", businessType = BusinessType.UPDATE) @PutMapping - public R<Void> updateProfile(@RequestBody SysUser user) { + public R<Void> 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 @@ @Log(title = "涓汉淇℃伅", businessType = BusinessType.UPDATE) @PutMapping("/updatePwd") public R<Void> 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 7a0868f..02dc7ab 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 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 @@ 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 @@ */ @SaCheckPermission("system:role:list") @GetMapping("/authUser/allocatedList") - public TableDataInfo<SysUser> allocatedList(SysUser user, PageQuery pageQuery) { + public TableDataInfo<SysUserVo> allocatedList(SysUserBo user, PageQuery pageQuery) { return userService.selectAllocatedList(user, pageQuery); } @@ -180,7 +181,7 @@ */ @SaCheckPermission("system:role:list") @GetMapping("/authUser/unallocatedList") - public TableDataInfo<SysUser> unallocatedList(SysUser user, PageQuery pageQuery) { + public TableDataInfo<SysUserVo> 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 cb64cbd..0efea3d 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.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.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.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import java.util.*; +import java.util.ArrayList; +import java.util.List; /** * 鐢ㄦ埛淇℃伅 @@ -57,7 +57,7 @@ */ @SaCheckPermission("system:user:list") @GetMapping("/list") - public TableDataInfo<SysUser> list(SysUser user, PageQuery pageQuery) { + public TableDataInfo<SysUserVo> list(SysUserBo user, PageQuery pageQuery) { return userService.selectPageUserList(user, pageQuery); } @@ -67,11 +67,11 @@ @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.EXPORT) @SaCheckPermission("system:user:export") @PostMapping("/export") - public void export(SysUser user, HttpServletResponse response) { - List<SysUser> list = userService.selectUserList(user); + public void export(SysUserBo user, HttpServletResponse response) { + List<SysUserVo> list = userService.selectUserList(user); List<SysUserExportVo> 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 @@ 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 @@ @SaCheckPermission("system:user:add") @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.INSERT) @PostMapping - public R<Void> add(@Validated @RequestBody SysUser user) { + public R<Void> 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 @@ @SaCheckPermission("system:user:edit") @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.UPDATE) @PutMapping - public R<Void> edit(@Validated @RequestBody SysUser user) { + public R<Void> edit(@Validated @RequestBody SysUserBo user) { userService.checkUserAllowed(user); userService.checkUserDataScope(user.getUserId()); if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user))) { @@ -187,7 +187,7 @@ @SaCheckPermission("system:user:resetPwd") @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.UPDATE) @PutMapping("/resetPwd") - public R<Void> resetPwd(@RequestBody SysUser user) { + public R<Void> resetPwd(@RequestBody SysUserBo user) { userService.checkUserAllowed(user); userService.checkUserDataScope(user.getUserId()); user.setPassword(BCrypt.hashpw(user.getPassword())); @@ -200,7 +200,7 @@ @SaCheckPermission("system:user:edit") @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.UPDATE) @PutMapping("/changeStatus") - public R<Void> changeStatus(@RequestBody SysUser user) { + public R<Void> changeStatus(@RequestBody SysUserBo user) { userService.checkUserAllowed(user); userService.checkUserDataScope(user.getUserId()); return toAjax(userService.updateUserStatus(user)); @@ -214,7 +214,7 @@ @SaCheckPermission("system:user:query") @GetMapping("/authRole/{userId}") public R<SysUserInfoVo> authRole(@PathVariable Long userId) { - SysUser user = userService.selectUserById(userId); + SysUserVo user = userService.selectUserById(userId); List<SysRoleVo> 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 4abfa78..42cfb96 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 @@ 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 @@ /** * 鐢ㄦ埛璐﹀彿 */ - @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 @@ /** * 鐢ㄦ埛閭 */ - @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 @@ */ private String remark; - /** - * 閮ㄩ棬瀵硅薄 - */ - @TableField(exist = false) - private SysDept dept; - - /** - * 瑙掕壊瀵硅薄 - */ - @TableField(exist = false) - private List<SysRole> 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 c4f8504..10dd782 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,16 +1,18 @@ 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 @@ /** * 鐢ㄦ埛ID */ - @NotNull(message = "鐢ㄦ埛ID涓嶈兘涓虹┖", groups = { EditGroup.class }) private Long userId; /** @@ -38,12 +39,16 @@ /** * 鐢ㄦ埛璐﹀彿 */ - @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 @@ /** * 鐢ㄦ埛閭 */ + @Sensitive(strategy = SensitiveStrategy.EMAIL) + @Email(message = "閭鏍煎紡涓嶆纭�") + @Size(min = 0, max = 50, message = "閭闀垮害涓嶈兘瓒呰繃{max}涓瓧绗�") private String email; /** * 鎵嬫満鍙风爜 */ + @Sensitive(strategy = SensitiveStrategy.PHONE) private String phonenumber; /** @@ -90,11 +99,6 @@ * 鏈�鍚庣櫥褰曟椂闂� */ 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 5968c3a..a7f557c 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 @@ /** * 鐢ㄦ埛淇℃伅 */ - 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 f2407ea..d675a08 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 @@ /** * 鐢ㄦ埛淇℃伅 */ - 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 5967228..b201e3d 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.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 @@ @Override public void invoke(SysUserImportVo userVo, AnalysisContext context) { - SysUser user = this.userService.selectUserByUserName(userVo.getUserName()); + SysUserVo sysUser = this.userService.selectUserByUserName(userVo.getUserName()); try { // 楠岃瘉鏄惁瀛樺湪杩欎釜鐢ㄦ埛 - if (ObjectUtil.isNull(user)) { - user = BeanUtil.toBean(userVo, SysUser.class); + if (ObjectUtil.isNull(sysUser)) { + SysUserBo user = BeanUtil.toBean(userVo, SysUserBo.class); ValidatorUtils.validate(user); user.setPassword(password); user.setCreateBy(operUserId); @@ -62,8 +63,8 @@ successNum++; successMsg.append("<br/>").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 @@ successMsg.append("<br/>").append(successNum).append("銆佽处鍙� ").append(user.getUserName()).append(" 鏇存柊鎴愬姛"); } else { failureNum++; - failureMsg.append("<br/>").append(failureNum).append("銆佽处鍙� ").append(user.getUserName()).append(" 宸插瓨鍦�"); + failureMsg.append("<br/>").append(failureNum).append("銆佽处鍙� ").append(sysUser.getUserName()).append(" 宸插瓨鍦�"); } } catch (Exception e) { failureNum++; - String msg = "<br/>" + failureNum + "銆佽处鍙� " + user.getUserName() + " 瀵煎叆澶辫触锛�"; + String msg = "<br/>" + 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 48713c7..26e033c 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.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 @@ @DataColumn(key = "deptName", value = "d.dept_id"), @DataColumn(key = "userName", value = "u.user_id") }) - Page<SysUser> selectPageUserList(@Param("page") Page<SysUser> page, @Param(Constants.WRAPPER) Wrapper<SysUser> queryWrapper); + Page<SysUserVo> selectPageUserList(@Param("page") Page<SysUser> page, @Param(Constants.WRAPPER) Wrapper<SysUser> queryWrapper); /** * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ鐢ㄦ埛鍒楄〃 @@ -34,7 +35,7 @@ @DataColumn(key = "deptName", value = "d.dept_id"), @DataColumn(key = "userName", value = "u.user_id") }) - List<SysUser> selectUserList(@Param(Constants.WRAPPER) Wrapper<SysUser> queryWrapper); + List<SysUserVo> selectUserList(@Param(Constants.WRAPPER) Wrapper<SysUser> queryWrapper); /** * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ宸查厤鐢ㄦ埛瑙掕壊鍒楄〃 @@ -46,7 +47,7 @@ @DataColumn(key = "deptName", value = "d.dept_id"), @DataColumn(key = "userName", value = "u.user_id") }) - Page<SysUser> selectAllocatedList(@Param("page") Page<SysUser> page, @Param(Constants.WRAPPER) Wrapper<SysUser> queryWrapper); + Page<SysUserVo> selectAllocatedList(@Param("page") Page<SysUser> page, @Param(Constants.WRAPPER) Wrapper<SysUser> queryWrapper); /** * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ鏈垎閰嶇敤鎴疯鑹插垪琛� @@ -58,7 +59,7 @@ @DataColumn(key = "deptName", value = "d.dept_id"), @DataColumn(key = "userName", value = "u.user_id") }) - Page<SysUser> selectUnallocatedList(@Param("page") Page<SysUser> page, @Param(Constants.WRAPPER) Wrapper<SysUser> queryWrapper); + Page<SysUserVo> selectUnallocatedList(@Param("page") Page<SysUser> page, @Param(Constants.WRAPPER) Wrapper<SysUser> queryWrapper); /** * 閫氳繃鐢ㄦ埛鍚嶆煡璇㈢敤鎴� @@ -66,7 +67,7 @@ * @param userName 鐢ㄦ埛鍚� * @return 鐢ㄦ埛瀵硅薄淇℃伅 */ - SysUser selectUserByUserName(String userName); + SysUserVo selectUserByUserName(String userName); /** * 閫氳繃鎵嬫満鍙锋煡璇㈢敤鎴� @@ -74,7 +75,7 @@ * @param phonenumber 鎵嬫満鍙� * @return 鐢ㄦ埛瀵硅薄淇℃伅 */ - SysUser selectUserByPhonenumber(String phonenumber); + SysUserVo selectUserByPhonenumber(String phonenumber); /** * 閫氳繃鐢ㄦ埛ID鏌ヨ鐢ㄦ埛 @@ -82,6 +83,6 @@ * @param userId 鐢ㄦ埛ID * @return 鐢ㄦ埛瀵硅薄淇℃伅 */ - SysUser selectUserById(Long userId); + SysUserVo selectUserById(Long userId); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java index 8f393e6..49bb38e 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java @@ -2,7 +2,8 @@ import com.ruoyi.common.mybatis.core.page.PageQuery; import com.ruoyi.common.mybatis.core.page.TableDataInfo; -import com.ruoyi.system.domain.SysUser; +import com.ruoyi.system.domain.bo.SysUserBo; +import com.ruoyi.system.domain.vo.SysUserVo; import java.util.List; @@ -14,7 +15,7 @@ public interface ISysUserService { - TableDataInfo<SysUser> selectPageUserList(SysUser user, PageQuery pageQuery); + TableDataInfo<SysUserVo> selectPageUserList(SysUserBo user, PageQuery pageQuery); /** * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ鐢ㄦ埛鍒楄〃 @@ -22,7 +23,7 @@ * @param user 鐢ㄦ埛淇℃伅 * @return 鐢ㄦ埛淇℃伅闆嗗悎淇℃伅 */ - List<SysUser> selectUserList(SysUser user); + List<SysUserVo> selectUserList(SysUserBo user); /** * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ宸插垎閰嶇敤鎴疯鑹插垪琛� @@ -30,7 +31,7 @@ * @param user 鐢ㄦ埛淇℃伅 * @return 鐢ㄦ埛淇℃伅闆嗗悎淇℃伅 */ - TableDataInfo<SysUser> selectAllocatedList(SysUser user, PageQuery pageQuery); + TableDataInfo<SysUserVo> selectAllocatedList(SysUserBo user, PageQuery pageQuery); /** * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ鏈垎閰嶇敤鎴疯鑹插垪琛� @@ -38,7 +39,7 @@ * @param user 鐢ㄦ埛淇℃伅 * @return 鐢ㄦ埛淇℃伅闆嗗悎淇℃伅 */ - TableDataInfo<SysUser> selectUnallocatedList(SysUser user, PageQuery pageQuery); + TableDataInfo<SysUserVo> selectUnallocatedList(SysUserBo user, PageQuery pageQuery); /** * 閫氳繃鐢ㄦ埛鍚嶆煡璇㈢敤鎴� @@ -46,7 +47,7 @@ * @param userName 鐢ㄦ埛鍚� * @return 鐢ㄦ埛瀵硅薄淇℃伅 */ - SysUser selectUserByUserName(String userName); + SysUserVo selectUserByUserName(String userName); /** * 閫氳繃鎵嬫満鍙锋煡璇㈢敤鎴� @@ -54,7 +55,7 @@ * @param phonenumber 鎵嬫満鍙� * @return 鐢ㄦ埛瀵硅薄淇℃伅 */ - SysUser selectUserByPhonenumber(String phonenumber); + SysUserVo selectUserByPhonenumber(String phonenumber); /** * 閫氳繃鐢ㄦ埛ID鏌ヨ鐢ㄦ埛 @@ -62,7 +63,7 @@ * @param userId 鐢ㄦ埛ID * @return 鐢ㄦ埛瀵硅薄淇℃伅 */ - SysUser selectUserById(Long userId); + SysUserVo selectUserById(Long userId); /** * 鏍规嵁鐢ㄦ埛ID鏌ヨ鐢ㄦ埛鎵�灞炶鑹茬粍 @@ -86,7 +87,7 @@ * @param user 鐢ㄦ埛淇℃伅 * @return 缁撴灉 */ - String checkUserNameUnique(SysUser user); + String checkUserNameUnique(SysUserBo user); /** * 鏍¢獙鎵嬫満鍙风爜鏄惁鍞竴 @@ -94,7 +95,7 @@ * @param user 鐢ㄦ埛淇℃伅 * @return 缁撴灉 */ - String checkPhoneUnique(SysUser user); + String checkPhoneUnique(SysUserBo user); /** * 鏍¢獙email鏄惁鍞竴 @@ -102,14 +103,14 @@ * @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 @@ * @param user 鐢ㄦ埛淇℃伅 * @return 缁撴灉 */ - int insertUser(SysUser user); + int insertUser(SysUserBo user); /** * 娉ㄥ唽鐢ㄦ埛淇℃伅 @@ -132,7 +133,7 @@ * @param user 鐢ㄦ埛淇℃伅 * @return 缁撴灉 */ - boolean registerUser(SysUser user); + boolean registerUser(SysUserBo user); /** * 淇敼鐢ㄦ埛淇℃伅 @@ -140,7 +141,7 @@ * @param user 鐢ㄦ埛淇℃伅 * @return 缁撴灉 */ - int updateUser(SysUser user); + int updateUser(SysUserBo user); /** * 鐢ㄦ埛鎺堟潈瑙掕壊 @@ -156,7 +157,7 @@ * @param user 鐢ㄦ埛淇℃伅 * @return 缁撴灉 */ - int updateUserStatus(SysUser user); + int updateUserStatus(SysUserBo user); /** * 淇敼鐢ㄦ埛鍩烘湰淇℃伅 @@ -164,7 +165,7 @@ * @param user 鐢ㄦ埛淇℃伅 * @return 缁撴灉 */ - int updateUserProfile(SysUser user); + int updateUserProfile(SysUserBo user); /** * 淇敼鐢ㄦ埛澶村儚 @@ -181,7 +182,7 @@ * @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 fc5c69f..4c298ee 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 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 @@ 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 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 @@ // 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 @@ } } - private SysUser loadUserByUsername(String username) { + private SysUserVo loadUserByUsername(String username) { SysUser user = userMapper.selectOne(new LambdaQueryWrapper<SysUser>() .select(SysUser::getUserName, SysUser::getStatus) .eq(SysUser::getUserName, username)); @@ -198,7 +195,7 @@ return userMapper.selectUserByUserName(username); } - private SysUser loadUserByPhonenumber(String phonenumber) { + private SysUserVo loadUserByPhonenumber(String phonenumber) { SysUser user = userMapper.selectOne(new LambdaQueryWrapper<SysUser>() .select(SysUser::getPhonenumber, SysUser::getStatus) .eq(SysUser::getPhonenumber, phonenumber)); @@ -212,10 +209,10 @@ 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 @@ /** * 鏋勫缓鐧诲綍鐢ㄦ埛 */ - 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<RoleDTO> 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 30d4f7d..c457bc0 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 @@ /** * 鑾峰彇瑙掕壊鏁版嵁鏉冮檺 * - * @param user 鐢ㄦ埛淇℃伅 + * @param userId 鐢ㄦ埛id + * @param isAdmin 鏄惁绠$悊鍛� * @return 瑙掕壊鏉冮檺淇℃伅 */ - public Set<String> getRolePermission(SysUser user) { + public Set<String> getRolePermission(Long userId, boolean isAdmin) { Set<String> 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 @@ /** * 鑾峰彇鑿滃崟鏁版嵁鏉冮檺 * - * @param user 鐢ㄦ埛淇℃伅 + * @param userId 鐢ㄦ埛id + * @param isAdmin 鏄惁绠$悊鍛� * @return 鑿滃崟鏉冮檺淇℃伅 */ - public Set<String> getMenuPermission(SysUser user) { + public Set<String> getMenuPermission(Long userId, boolean isAdmin) { Set<String> perms = new HashSet<>(); // 绠$悊鍛樻嫢鏈夋墍鏈夋潈闄� - if (user.isAdmin()) { + if (isAdmin) { perms.add("*:*:*"); } else { - List<SysRole> roles = user.getRoles(); + List<SysRoleVo> roles = roleService.selectRolesByUserId(userId); if (CollUtil.isNotEmpty(roles)) { // 澶氳鑹茶缃畃ermissions灞炴�э紝浠ヤ究鏁版嵁鏉冮檺鍖归厤鏉冮檺 - for (SysRole role : roles) { + for (SysRoleVo role : roles) { Set<String> 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 6a78c17..5621cb8 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,22 +4,21 @@ 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 @@ 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 36f6748..e6cd02a 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.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 @@ 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 94ddc4a..9c82ff6 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.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 @@ private final SysUserPostMapper userPostMapper; @Override - public TableDataInfo<SysUser> selectPageUserList(SysUser user, PageQuery pageQuery) { - Page<SysUser> page = baseMapper.selectPageUserList(pageQuery.build(), this.buildQueryWrapper(user)); + public TableDataInfo<SysUserVo> selectPageUserList(SysUserBo user, PageQuery pageQuery) { + Page<SysUserVo> page = baseMapper.selectPageUserList(pageQuery.build(), this.buildQueryWrapper(user)); return TableDataInfo.build(page); } @@ -63,11 +69,11 @@ * @return 鐢ㄦ埛淇℃伅闆嗗悎淇℃伅 */ @Override - public List<SysUser> selectUserList(SysUser user) { + public List<SysUserVo> selectUserList(SysUserBo user) { return baseMapper.selectUserList(this.buildQueryWrapper(user)); } - private Wrapper<SysUser> buildQueryWrapper(SysUser user) { + private Wrapper<SysUser> buildQueryWrapper(SysUserBo user) { Map<String, Object> params = user.getParams(); QueryWrapper<SysUser> wrapper = Wrappers.query(); wrapper.eq("u.del_flag", UserConstants.USER_NORMAL) @@ -95,14 +101,14 @@ * @return 鐢ㄦ埛淇℃伅闆嗗悎淇℃伅 */ @Override - public TableDataInfo<SysUser> selectAllocatedList(SysUser user, PageQuery pageQuery) { + public TableDataInfo<SysUserVo> selectAllocatedList(SysUserBo user, PageQuery pageQuery) { QueryWrapper<SysUser> 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<SysUser> page = baseMapper.selectAllocatedList(pageQuery.build(), wrapper); + Page<SysUserVo> page = baseMapper.selectAllocatedList(pageQuery.build(), wrapper); return TableDataInfo.build(page); } @@ -113,7 +119,7 @@ * @return 鐢ㄦ埛淇℃伅闆嗗悎淇℃伅 */ @Override - public TableDataInfo<SysUser> selectUnallocatedList(SysUser user, PageQuery pageQuery) { + public TableDataInfo<SysUserVo> selectUnallocatedList(SysUserBo user, PageQuery pageQuery) { List<Long> userIds = userRoleMapper.selectUserIdsByRoleId(user.getRoleId()); QueryWrapper<SysUser> wrapper = Wrappers.query(); wrapper.eq("u.del_flag", UserConstants.USER_NORMAL) @@ -121,7 +127,7 @@ .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<SysUser> page = baseMapper.selectUnallocatedList(pageQuery.build(), wrapper); + Page<SysUserVo> page = baseMapper.selectUnallocatedList(pageQuery.build(), wrapper); return TableDataInfo.build(page); } @@ -132,7 +138,7 @@ * @return 鐢ㄦ埛瀵硅薄淇℃伅 */ @Override - public SysUser selectUserByUserName(String userName) { + public SysUserVo selectUserByUserName(String userName) { return baseMapper.selectUserByUserName(userName); } @@ -143,7 +149,7 @@ * @return 鐢ㄦ埛瀵硅薄淇℃伅 */ @Override - public SysUser selectUserByPhonenumber(String phonenumber) { + public SysUserVo selectUserByPhonenumber(String phonenumber) { return baseMapper.selectUserByPhonenumber(phonenumber); } @@ -154,7 +160,7 @@ * @return 鐢ㄦ埛瀵硅薄淇℃伅 */ @Override - public SysUser selectUserById(Long userId) { + public SysUserVo selectUserById(Long userId) { return baseMapper.selectUserById(userId); } @@ -195,7 +201,7 @@ * @return 缁撴灉 */ @Override - public String checkUserNameUnique(SysUser user) { + public String checkUserNameUnique(SysUserBo user) { boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysUser>() .eq(SysUser::getUserName, user.getUserName()) .ne(ObjectUtil.isNotNull(user.getUserId()), SysUser::getUserId, user.getUserId())); @@ -211,7 +217,7 @@ * @param user 鐢ㄦ埛淇℃伅 */ @Override - public String checkPhoneUnique(SysUser user) { + public String checkPhoneUnique(SysUserBo user) { boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysUser>() .eq(SysUser::getPhonenumber, user.getPhonenumber()) .ne(ObjectUtil.isNotNull(user.getUserId()), SysUser::getUserId, user.getUserId())); @@ -227,7 +233,7 @@ * @param user 鐢ㄦ埛淇℃伅 */ @Override - public String checkEmailUnique(SysUser user) { + public String checkEmailUnique(SysUserBo user) { boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysUser>() .eq(SysUser::getEmail, user.getEmail()) .ne(ObjectUtil.isNotNull(user.getUserId()), SysUser::getUserId, user.getUserId())); @@ -243,7 +249,7 @@ * @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 @@ @Override public void checkUserDataScope(Long userId) { if (!LoginHelper.isAdmin()) { - SysUser user = new SysUser(); + SysUserBo user = new SysUserBo(); user.setUserId(userId); - List<SysUser> users = this.selectUserList(user); + List<SysUserVo> users = this.selectUserList(user); if (CollUtil.isEmpty(users)) { throw new ServiceException("娌℃湁鏉冮檺璁块棶鐢ㄦ埛鏁版嵁锛�"); } @@ -274,9 +280,10 @@ */ @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 @@ * @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 @@ */ @Override @Transactional(rollbackFor = Exception.class) - public int updateUser(SysUser user) { + public int updateUser(SysUserBo user) { Long userId = user.getUserId(); // 鍒犻櫎鐢ㄦ埛涓庤鑹插叧鑱� userRoleMapper.delete(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, userId)); @@ -315,7 +323,8 @@ userPostMapper.delete(new LambdaQueryWrapper<SysUserPost>().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 @@ * @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 @@ * @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 @@ * @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 @@ * * @param user 鐢ㄦ埛瀵硅薄 */ - public void insertUserRole(SysUser user) { + public void insertUserRole(SysUserBo user) { this.insertUserRole(user.getUserId(), user.getRoleIds()); } @@ -409,7 +421,7 @@ * * @param user 鐢ㄦ埛瀵硅薄 */ - public void insertUserPost(SysUser user) { + public void insertUserPost(SysUserBo user) { Long[] posts = user.getPostIds(); if (ArrayUtil.isNotEmpty(posts)) { // 鏂板鐢ㄦ埛涓庡矖浣嶇鐞� @@ -468,7 +480,7 @@ @Transactional(rollbackFor = Exception.class) public int deleteUserByIds(Long[] userIds) { for (Long userId : userIds) { - checkUserAllowed(new SysUser(userId)); + checkUserAllowed(new SysUserBo(userId)); checkUserDataScope(userId); } List<Long> 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 a70cd5f..b6ba601 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 @@ <mapper namespace="com.ruoyi.system.mapper.SysUserMapper"> <!-- 澶氱粨鏋勫祵濂楄嚜鍔ㄦ槧灏勯渶甯︿笂姣忎釜瀹炰綋鐨勪富閿甶d 鍚﹀垯鏄犲皠浼氬け璐� --> - <resultMap type="com.ruoyi.system.domain.SysUser" id="SysUserResult"> + <resultMap type="com.ruoyi.system.domain.vo.SysUserVo" id="SysUserResult"> <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="com.ruoyi.system.domain.SysDept"> + <resultMap id="deptResult" type="com.ruoyi.system.domain.vo.SysDeptVo"> <id property="deptId" column="dept_id"/> </resultMap> - <resultMap id="RoleResult" type="com.ruoyi.system.domain.SysRole"> + <resultMap id="RoleResult" type="com.ruoyi.system.domain.vo.SysRoleVo"> <id property="roleId" column="role_id"/> </resultMap> -- Gitblit v1.9.3