From b051c20595c8563df49a50092a11468c8a99de46 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期四, 20 三月 2025 14:20:58 +0800 Subject: [PATCH] # 优化 --- rsf-server/src/main/java/com/vincent/rsf/server/system/controller/UserController.java | 37 +++++++++++++++---------------------- 1 files changed, 15 insertions(+), 22 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/UserController.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/UserController.java index a1a0724..9f2f7fd 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/UserController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/UserController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.vincent.rsf.framework.common.BaseRes; import com.vincent.rsf.framework.common.Cools; import com.vincent.rsf.framework.common.R; import com.vincent.rsf.framework.exception.CoolException; @@ -11,10 +12,11 @@ import com.vincent.rsf.server.common.domain.PageParam; import com.vincent.rsf.server.common.domain.PageResult; import com.vincent.rsf.server.common.utils.ExcelUtil; -import com.vincent.rsf.server.system.controller.param.ResetPwdParam; +import com.vincent.rsf.server.system.entity.Tenant; import com.vincent.rsf.server.system.entity.User; import com.vincent.rsf.server.system.entity.UserRole; import com.vincent.rsf.server.system.enums.StatusType; +import com.vincent.rsf.server.system.service.TenantService; import com.vincent.rsf.server.system.service.UserRoleService; import com.vincent.rsf.server.system.service.UserService; import org.springframework.beans.factory.annotation.Autowired; @@ -32,6 +34,8 @@ @Autowired private UserService userService; + @Autowired + private TenantService tenantService; @Autowired private UserRoleService userRoleService; @@ -118,6 +122,11 @@ @PostMapping("/user/update") @Transactional public R update(@RequestBody User user) { + Tenant tenant = tenantService.getById(getTenantId()); + if (!user.getId().equals(getLoginUserId()) && tenant.getRoot().equals(user.getId())) { + return R.parse(BaseRes.LIMIT); + } + if (user.getPassword() != null && user.getPassword().equals("")) { user.setPassword(null); } @@ -170,7 +179,12 @@ @PostMapping("/user/remove/{ids}") @Transactional public R remove(@PathVariable Long[] ids) { + Tenant tenant = tenantService.getById(getTenantId()); + Long loginUserId = getLoginUserId(); for (Long userId : ids) { + if (!userId.equals(loginUserId) && tenant.getRoot().equals(userId)) { + return R.parse(BaseRes.LIMIT); + } if (!userService.removeById(userId)) { throw new CoolException("Internal Server Error"); } @@ -197,27 +211,6 @@ @PostMapping("/user/export") public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception { ExcelUtil.build(ExcelUtil.create(userService.list(), User.class), response); - } - - @PreAuthorize("hasAuthority('system:user:update')") - @OperationLog("Reset Password") - @PostMapping("/user/reset/pwd") - public R resetPwd(@RequestBody ResetPwdParam param) { - User user = userService.getById(param.getId()); - if (!Cools.isEmpty(param.getOldPwd())) { - if (!userService.comparePassword(user.getPassword(), param.getOldPwd())) { - return R.error("The old password is incorrect"); - } - } - if (!Cools.isEmpty(param.getPassword())) { - user.setPassword(userService.encodePassword(param.getPassword())); - } - user.setUpdateBy(getLoginUserId()); - user.setUpdateTime(new Date()); - if (!userService.updateById(user)) { - return R.error("Reset Fail"); - } - return R.ok("Reset Success"); } } -- Gitblit v1.9.1