From a935fc71d8e52f2ba10e42cfdb9e75ef9cb32bd7 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期三, 26 三月 2025 09:52:15 +0800 Subject: [PATCH] #修复 初始化时库区关系未绑定 --- rsf-server/src/main/java/com/vincent/rsf/server/system/controller/UserController.java | 55 +++++++++++++++++++++++++++++-------------------------- 1 files changed, 29 insertions(+), 26 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 3eb27ed..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,9 +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; @@ -25,13 +28,14 @@ import java.util.*; @RestController -@RequestMapping("") public class UserController extends BaseController { public static final String COMMON_PASSWORD = "123456"; @Autowired private UserService userService; + @Autowired + private TenantService tenantService; @Autowired private UserRoleService userRoleService; @@ -82,16 +86,21 @@ && userService.count(new LambdaQueryWrapper<User>().eq(User::getPhone, user.getPhone())) > 0) { return R.error("the phone already exist"); } + if (!Cools.isEmpty(user.getEmail()) + && userService.count(new LambdaQueryWrapper<User>().eq(User::getEmail, user.getEmail())) > 0) { + return R.error("the email already exist"); + } if (Cools.isEmpty(user.getPassword())) { user.setPassword(userService.encodePassword(COMMON_PASSWORD)); } + Date now = new Date(); user.setCreateBy(getLoginUserId()); - user.setCreateTime(new Date()); + user.setCreateTime(now); user.setUpdateBy(getLoginUserId()); - user.setUpdateTime(new Date()); - + user.setUpdateTime(now); + user.setStatus(StatusType.ENABLE.val); if (!userService.save(user)) { throw new CoolException("Internal Server Error"); } @@ -113,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); } @@ -130,6 +144,11 @@ .eq(User::getPhone, user.getPhone()) .ne(User::getId, user.getId())) > 0) { return R.error("the phone already exist"); + } + if (!Cools.isEmpty(user.getEmail()) && userService.count(new LambdaQueryWrapper<User>() + .eq(User::getEmail, user.getEmail()) + .ne(User::getId, user.getId())) > 0) { + return R.error("the email already exist"); } if (!Cools.isEmpty(user.getPassword())) { @@ -160,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"); } @@ -187,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