From 95dc030ad8e77303207a1a42a3afd9a7a6612d75 Mon Sep 17 00:00:00 2001 From: xin <1099200748@qq.com> Date: Tue, 03 Jun 2025 18:43:34 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' into xin --- oying-system/src/main/java/com/oying/modules/system/rest/UserController.java | 67 ++++++++++++++++----------------- 1 files changed, 33 insertions(+), 34 deletions(-) diff --git a/oying-system/src/main/java/com/oying/modules/system/rest/UserController.java b/oying-system/src/main/java/com/oying/modules/system/rest/UserController.java index a1ce620..29c06fe 100644 --- a/oying-system/src/main/java/com/oying/modules/system/rest/UserController.java +++ b/oying-system/src/main/java/com/oying/modules/system/rest/UserController.java @@ -6,13 +6,10 @@ import com.oying.modules.system.domain.Role; import com.oying.modules.system.domain.User; import com.oying.modules.system.domain.dto.UserPassVo; +import com.oying.utils.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; -import com.oying.utils.PageResult; -import com.oying.utils.PageUtil; -import com.oying.utils.RsaUtils; -import com.oying.utils.SecurityUtils; import com.oying.annotation.Log; import com.oying.config.properties.RsaProperties; import com.oying.modules.system.service.DataService; @@ -32,6 +29,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; + import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.*; @@ -64,7 +62,7 @@ @ApiOperation("查询用户") @GetMapping @PreAuthorize("@el.check('user:list')") - public ResponseEntity<PageResult<User>> queryUser(UserQueryCriteria criteria){ + public ResponseEntity<Object> queryUser(UserQueryCriteria criteria) { Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize()); if (!ObjectUtils.isEmpty(criteria.getDeptId())) { criteria.getDeptIds().add(criteria.getDeptId()); @@ -76,30 +74,30 @@ // 数据权限 List<Long> dataScopes = dataService.getDeptIds(userService.findByName(SecurityUtils.getCurrentUsername())); // criteria.getDeptIds() 不为空并且数据权限不为空则取交集 - if (!CollectionUtils.isEmpty(criteria.getDeptIds()) && !CollectionUtils.isEmpty(dataScopes)){ + if (!CollectionUtils.isEmpty(criteria.getDeptIds()) && !CollectionUtils.isEmpty(dataScopes)) { // 取交集 criteria.getDeptIds().retainAll(dataScopes); - if(!CollectionUtil.isEmpty(criteria.getDeptIds())){ - return new ResponseEntity<>(userService.queryAll(criteria,page),HttpStatus.OK); + if (!CollectionUtil.isEmpty(criteria.getDeptIds())) { + return new ResponseEntity<>(R.success(userService.queryAll(criteria, page)), HttpStatus.OK); } } else { // 否则取并集 criteria.getDeptIds().addAll(dataScopes); - return new ResponseEntity<>(userService.queryAll(criteria,page),HttpStatus.OK); + return new ResponseEntity<>(R.success(userService.queryAll(criteria, page)), HttpStatus.OK); } - return new ResponseEntity<>(PageUtil.noData(),HttpStatus.OK); + return new ResponseEntity<>(R.success(), HttpStatus.OK); } @Log("新增用户") @ApiOperation("新增用户") @PostMapping @PreAuthorize("@el.check('user:add')") - public ResponseEntity<Object> createUser(@Validated @RequestBody User resources){ + public ResponseEntity<Object> createUser(@Validated @RequestBody User resources) { checkLevel(resources); // 默认密码 123456 resources.setPassword(passwordEncoder.encode("123456")); userService.create(resources); - return new ResponseEntity<>(HttpStatus.CREATED); + return new ResponseEntity<>(R.success(),HttpStatus.CREATED); } @Log("修改用户") @@ -109,50 +107,50 @@ public ResponseEntity<Object> updateUser(@Validated(User.Update.class) @RequestBody User resources) throws Exception { checkLevel(resources); userService.update(resources); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); + return new ResponseEntity<>(R.success(),HttpStatus.NO_CONTENT); } @Log("修改用户:个人中心") @ApiOperation("修改用户:个人中心") @PutMapping(value = "center") - public ResponseEntity<Object> centerUser(@Validated(User.Update.class) @RequestBody User resources){ - if(!resources.getId().equals(SecurityUtils.getCurrentUserId())){ + public ResponseEntity<Object> centerUser(@Validated(User.Update.class) @RequestBody User resources) { + if (!resources.getId().equals(SecurityUtils.getCurrentUserId())) { throw new BadRequestException("不能修改他人资料"); } userService.updateCenter(resources); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); + return new ResponseEntity<>(R.success(),HttpStatus.NO_CONTENT); } @Log("删除用户") @ApiOperation("删除用户") @DeleteMapping @PreAuthorize("@el.check('user:del')") - public ResponseEntity<Object> deleteUser(@RequestBody Set<Long> ids){ + public ResponseEntity<Object> deleteUser(@RequestBody Set<Long> ids) { for (Long id : ids) { - Integer currentLevel = Collections.min(roleService.findByUsersId(SecurityUtils.getCurrentUserId()).stream().map(Role::getLevel).collect(Collectors.toList())); - Integer optLevel = Collections.min(roleService.findByUsersId(id).stream().map(Role::getLevel).collect(Collectors.toList())); + Integer currentLevel = Collections.min(roleService.findByUsersId(SecurityUtils.getCurrentUserId()).stream().map(Role::getLevel).collect(Collectors.toList())); + Integer optLevel = Collections.min(roleService.findByUsersId(id).stream().map(Role::getLevel).collect(Collectors.toList())); if (currentLevel > optLevel) { throw new BadRequestException("角色权限不足,不能删除:" + userService.findById(id).getUsername()); } } userService.delete(ids); - return new ResponseEntity<>(HttpStatus.OK); + return new ResponseEntity<>(R.success(),HttpStatus.OK); } @ApiOperation("修改密码") @PostMapping(value = "/updatePass") public ResponseEntity<Object> updateUserPass(@RequestBody UserPassVo passVo) throws Exception { - String oldPass = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey,passVo.getOldPass()); - String newPass = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey,passVo.getNewPass()); + String oldPass = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey, passVo.getOldPass()); + String newPass = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey, passVo.getNewPass()); User user = userService.findByName(SecurityUtils.getCurrentUsername()); - if(!passwordEncoder.matches(oldPass, user.getPassword())){ + if (!passwordEncoder.matches(oldPass, user.getPassword())) { throw new BadRequestException("修改失败,旧密码错误"); } - if(passwordEncoder.matches(newPass, user.getPassword())){ + if (passwordEncoder.matches(newPass, user.getPassword())) { throw new BadRequestException("新密码不能与旧密码相同"); } - userService.updatePass(user.getUsername(),passwordEncoder.encode(newPass)); - return new ResponseEntity<>(HttpStatus.OK); + userService.updatePass(user.getUsername(), passwordEncoder.encode(newPass)); + return new ResponseEntity<>(R.success(),HttpStatus.OK); } @ApiOperation("重置密码") @@ -160,35 +158,36 @@ public ResponseEntity<Object> resetPwd(@RequestBody Set<Long> ids) { String pwd = passwordEncoder.encode("123456"); userService.resetPwd(ids, pwd); - return new ResponseEntity<>(HttpStatus.OK); + return new ResponseEntity<>(R.success(),HttpStatus.OK); } @ApiOperation("修改头像") @PostMapping(value = "/updateAvatar") - public ResponseEntity<Object> updateUserAvatar(@RequestParam MultipartFile avatar){ - return new ResponseEntity<>(userService.updateAvatar(avatar), HttpStatus.OK); + public ResponseEntity<Object> updateUserAvatar(@RequestParam MultipartFile avatar) { + return new ResponseEntity<>(R.success(userService.updateAvatar(avatar)), HttpStatus.OK); } @Log("修改邮箱") @ApiOperation("修改邮箱") @PostMapping(value = "/updateEmail/{code}") public ResponseEntity<Object> updateUserEmail(@PathVariable String code, @RequestBody User resources) throws Exception { - String password = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey,resources.getPassword()); + String password = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey, resources.getPassword()); User user = userService.findByName(SecurityUtils.getCurrentUsername()); - if(!passwordEncoder.matches(password, user.getPassword())){ + if (!passwordEncoder.matches(password, user.getPassword())) { throw new BadRequestException("密码错误"); } verificationCodeService.validated(CodeEnum.EMAIL_RESET_EMAIL_CODE.getKey() + resources.getEmail(), code); - userService.updateEmail(user.getUsername(),resources.getEmail()); - return new ResponseEntity<>(HttpStatus.OK); + userService.updateEmail(user.getUsername(), resources.getEmail()); + return new ResponseEntity<>(R.success(),HttpStatus.OK); } /** * 如果当前用户的角色级别低于创建用户的角色级别,则抛出权限不足的错误 + * * @param resources / */ private void checkLevel(User resources) { - Integer currentLevel = Collections.min(roleService.findByUsersId(SecurityUtils.getCurrentUserId()).stream().map(Role::getLevel).collect(Collectors.toList())); + Integer currentLevel = Collections.min(roleService.findByUsersId(SecurityUtils.getCurrentUserId()).stream().map(Role::getLevel).collect(Collectors.toList())); Integer optLevel = roleService.findByRoles(resources.getRoles()); if (currentLevel > optLevel) { throw new BadRequestException("角色权限不足"); -- Gitblit v1.9.3