From 604d00f67ddcf25a9d079ceddd1c668b2a4e5288 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 19 四月 2024 15:08:22 +0800 Subject: [PATCH] bug修复 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java | 158 +++++++++++++++++++++++++++++----------------------- 1 files changed, 88 insertions(+), 70 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java index 310a24a..9507aa3 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java @@ -1,8 +1,7 @@ package com.ruoyi.web.controller.system; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.basic.PageInfo; +import com.ruoyi.common.basic.PageDTO; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysDept; @@ -12,33 +11,47 @@ import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.framework.web.service.TokenService; +import com.ruoyi.system.dto.SysUserDTO; import com.ruoyi.system.dto.SysUserUpdateStatusDTO; +import com.ruoyi.system.dto.update.SysUserPwdUpdDTO; +import com.ruoyi.system.dto.update.SysUserUpdDTO; +import com.ruoyi.system.mapper.SysUserRoleMapper; import com.ruoyi.system.query.SysUserQuery; -import com.ruoyi.system.service.*; +import com.ruoyi.system.service.ISysDeptService; +import com.ruoyi.system.service.ISysRoleService; +import com.ruoyi.system.service.ISysUserService; import com.ruoyi.system.vo.SysUserVO; -import com.ruoyi.system.vo.UserAddListVO; -import com.ruoyi.system.vo.UserLevelVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.util.CollectionUtils; +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.*; -import java.util.stream.Collectors; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; /** * 用户信息 - * + * * @author ruoyi */ @Api(tags = "用户信息") @RestController @RequestMapping("/system/user") -public class SysUserController extends BaseController -{ +public class SysUserController extends BaseController { + @Autowired private ISysUserService userService; @@ -50,22 +63,23 @@ @Autowired private TokenService tokenService; + @Autowired + private SysUserRoleMapper userRoleMapper; + /** * 获取用户列表 */ @ApiOperation(value = "获取用户列表") @PostMapping("/list") - public AjaxResult list(@RequestBody SysUserQuery query) - { - PageInfo<SysUserVO> list = userService.pageList(query); - return AjaxResult.success(list); + public AjaxResult list(@RequestBody SysUserQuery query) { + PageDTO<SysUserVO> page = userService.pageList(query); + return AjaxResult.success(page); } @ApiOperation(value = "获取用户列表-不分页") @PostMapping("/listNotPage") - public AjaxResult listNotPage() - { - List<SysUser> list = userService.selectList(); + public AjaxResult listNotPage() { + List<SysUser> list = userService.queryList(); return AjaxResult.success(list); } @@ -155,7 +169,7 @@ // if(StringUtils.isNotEmpty(name) && type == 3){ // users = sysUsers.stream().filter(e -> userLevelVO1.getKey().equals(e.getDeptId()) // && ((StringUtils.isNotEmpty(e.getNickName()) && e.getNickName().contains(name))) -// || (StringUtils.isNotEmpty(e.getPhonenumber()) && e.getPhonenumber().contains(name))).collect(Collectors.toList()); +// || (StringUtils.isNotEmpty(e.getPhoneNumber()) && e.getPhoneNumber().contains(name))).collect(Collectors.toList()); // }else { // users = sysUsers.stream().filter(e -> userLevelVO1.getKey().equals(e.getDeptId())).collect(Collectors.toList()); // } @@ -185,11 +199,10 @@ */ @ApiOperation(value = "获取用户详情") @GetMapping("/getDetail") - public AjaxResult getDetail(@RequestParam Long userId) - { + public AjaxResult getDetail(@RequestParam Long userId) { SysUser sysUser = userService.selectUserById(userId); SysUserVO sysUserVO = new SysUserVO(); - BeanUtils.copyProperties(sysUser,sysUserVO); + BeanUtils.copyProperties(sysUser, sysUserVO); return AjaxResult.success(sysUser); } @@ -198,19 +211,18 @@ /** * 获取用户数量统计 */ - @ApiOperation(value = "获取用户数量统计") +// @ApiOperation(value = "获取用户数量统计") @PostMapping("/getUserCount") - public AjaxResult getUserCount() - { - Map<String,Integer> map = new HashMap<>(); + public AjaxResult getUserCount() { + Map<String, Integer> map = new HashMap<>(); - Integer userCountSum = userService.selectCount(null); - Integer normalCount = userService.selectCount(0);// 正常 - Integer stopCount = userService.selectCount(1);// 停用 + Integer userCountSum = userService.selectCountByStatus(null); + Integer normalCount = userService.selectCountByStatus(0);// 正常 + Integer stopCount = userService.selectCountByStatus(1);// 停用 - map.put("all",userCountSum); - map.put("normal",normalCount); - map.put("stop",stopCount); + map.put("all", userCountSum); + map.put("normal", normalCount); + map.put("stop", stopCount); return AjaxResult.success(map); } @@ -219,8 +231,7 @@ * 移除黑名单 */ @GetMapping("/removeBlackList") - public AjaxResult removeBlackList(@RequestParam String ids) - { + public AjaxResult removeBlackList(@RequestParam String ids) { String[] split = ids.split(","); List<Long> id = new ArrayList<>(); for (String s : split) { @@ -229,7 +240,6 @@ userService.updateUserIfBlack(id); return AjaxResult.success(); } - // @Log(title = "用户管理", businessType = BusinessType.EXPORT) //// // @PreAuthorize("@ss.hasPermi('system:user:export')") @@ -268,20 +278,23 @@ @ApiOperation(value = "新增用户管理") @Log(title = "用户信息-新增用户", businessType = BusinessType.INSERT) @PostMapping("/add") - public AjaxResult add(@Validated @RequestBody SysUser user) - { - user.setUserName(user.getPhonenumber()); - if (!userService.checkUserNameUnique(user)) - { + @Transactional(rollbackFor = Exception.class) + public AjaxResult add(@Validated @RequestBody SysUserDTO dto) { + SysUser user = com.ruoyi.common.utils.BeanUtils.copyBean(dto, SysUser.class); + if (!userService.checkUserNameUnique(user)) { return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在"); - } - else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) - { + } else if (StringUtils.isNotEmpty(user.getPhoneNumber()) && !userService.checkPhoneUnique( + user)) { return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在"); } user.setCreateBy(getUsername()); user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); + user.setNickName(user.getUserName()); userService.insertUser(user); + /* SysUserRole sysUserRole = new SysUserRole(); + sysUserRole.setUserId(user.getUserId()); + sysUserRole.setRoleId(dto.getRoleId()); + userRoleMapper.insertUserRole(sysUserRole);*/ return AjaxResult.success(); } @@ -292,23 +305,34 @@ @ApiOperation(value = "修改用户管理") @Log(title = "用户信息-修改用户", businessType = BusinessType.UPDATE) @PostMapping("/edit") - public AjaxResult edit(@Validated @RequestBody SysUser user) - { - user.setUserName(user.getPhonenumber()); + public AjaxResult edit(@Validated @RequestBody SysUserUpdDTO dto) { + SysUser user = this.userService.selectUserById(dto.getUserId()); + user.setUserName(dto.getUserName()); + user.setNickName(dto.getUserName()); + user.setPhoneNumber(dto.getPhoneNumber()); + user.setRoleId(dto.getRoleId()); // userService.checkUserAllowed(user); // userService.checkUserDataScope(user.getUserId()); - if (!userService.checkUserNameUnique(user)) - { + /*if (!userService.checkUserNameUnique(user)) { return error("修改用户'" + user.getUserName() + "'失败,登录账号已存在"); - } - else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) - { + } else*/ + if (StringUtils.isNotEmpty(user.getPhoneNumber()) && !userService.checkPhoneUnique( + user)) { return error("修改用户'" + user.getUserName() + "'失败,手机号码已存在"); } user.setUpdateBy(getUsername()); - user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); return AjaxResult.success(userService.updateUser(user)); + } + + @ApiOperation(value = "修改密码") + @Log(title = "用户信息-修改密码", businessType = BusinessType.UPDATE) + @PostMapping("/edit-password") + public AjaxResult editPassword(@Validated @RequestBody SysUserPwdUpdDTO dto) { + SysUser user = this.userService.getById(dto.getUserId()); + user.setUpdateBy(getUsername()); + user.setPassword(SecurityUtils.encryptPassword(dto.getPassword())); + return AjaxResult.success(userService.updateById(user)); } /** @@ -318,15 +342,13 @@ @ApiOperation(value = "批量删除用户") @Log(title = "用户信息-批量删除用户", businessType = BusinessType.DELETE) @DeleteMapping("/deleteById/{ids}") - public AjaxResult remove(@PathVariable String ids) - { + public AjaxResult remove(@PathVariable String ids) { String[] split = ids.split(","); List<Long> userIds = new ArrayList<>(); for (String s : split) { userIds.add(Long.valueOf(s)); } - if (userIds.contains(getUserId())) - { + if (userIds.contains(getUserId())) { return error("当前用户不能删除"); } return AjaxResult.success(userService.deleteUserByIds(userIds)); @@ -336,11 +358,10 @@ * 重置密码 */ // @PreAuthorize("@ss.hasPermi('system:user:resetPwd')") - @ApiOperation(value = "重置密码") +// @ApiOperation(value = "重置密码") @Log(title = "用户信息-重置密码", businessType = BusinessType.UPDATE) @PostMapping("/resetPwd") - public AjaxResult resetPwd(@RequestBody SysUser user) - { + public AjaxResult resetPwd(@RequestBody SysUser user) { userService.checkUserAllowed(user); // userService.checkUserDataScope(user.getUserId()); user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); @@ -354,8 +375,7 @@ @ApiOperation(value = "状态修改") @Log(title = "用户信息-状态修改", businessType = BusinessType.UPDATE) @PutMapping("/changeStatus") - public AjaxResult changeStatus(@RequestBody SysUserUpdateStatusDTO dto) - { + public AjaxResult changeStatus(@RequestBody SysUserUpdateStatusDTO dto) { SysUser user = new SysUser(); user.setUserId(dto.getUserId()); user.setStatus(String.valueOf(dto.getStatus())); @@ -369,13 +389,13 @@ */ // @PreAuthorize("@ss.hasPermi('system:user:query')") @GetMapping("/authRole/{userId}") - public AjaxResult authRole(@PathVariable("userId") Long userId) - { + public AjaxResult authRole(@PathVariable("userId") Long userId) { AjaxResult ajax = AjaxResult.success(); SysUser user = userService.selectUserById(userId); List<SysRole> roles = roleService.selectRolesByUserId(userId); ajax.put("user", user); - ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); + ajax.put("roles", SysUser.isAdmin(userId) ? roles + : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); return ajax; } @@ -385,8 +405,7 @@ // @PreAuthorize("@ss.hasPermi('system:user:edit')") @Log(title = "用户管理", businessType = BusinessType.GRANT) @PutMapping("/authRole") - public AjaxResult insertAuthRole(Long userId, Long[] roleIds) - { + public AjaxResult insertAuthRole(Long userId, Long[] roleIds) { userService.checkUserDataScope(userId); userService.insertUserAuth(userId, roleIds); return AjaxResult.success(); @@ -397,8 +416,7 @@ */ // @PreAuthorize("@ss.hasPermi('system:user:list')") @GetMapping("/deptTree") - public AjaxResult deptTree(SysDept dept) - { + public AjaxResult deptTree(SysDept dept) { return AjaxResult.success(deptService.selectDeptTreeList(dept)); } } -- Gitblit v1.7.1