From 0f69561e397093b5165c4aac58530721d5c62178 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期一, 25 十一月 2024 11:03:16 +0800 Subject: [PATCH] #led --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/controller/UserController.java | 44 +++++++++++++++++++++++++++++++++++++------- 1 files changed, 37 insertions(+), 7 deletions(-) diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/controller/UserController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/controller/UserController.java index b7a9423..8e5b456 100644 --- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/controller/UserController.java +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/controller/UserController.java @@ -9,6 +9,7 @@ import com.zy.asrs.wcs.common.domain.BaseParam; import com.zy.asrs.wcs.common.domain.KeyValVo; import com.zy.asrs.wcs.common.domain.PageParam; +import com.zy.asrs.wcs.system.controller.param.ResetPwdParam; import com.zy.asrs.wcs.system.entity.User; import com.zy.asrs.wcs.system.entity.UserRole; import com.zy.asrs.wcs.system.service.UserRoleService; @@ -20,7 +21,10 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; -import java.util.*; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; @RestController @RequestMapping("/api") @@ -38,7 +42,7 @@ public R page(@RequestBody Map<String, Object> map) { BaseParam baseParam = buildParam(map, BaseParam.class); PageParam<User, BaseParam> pageParam = new PageParam<>(baseParam, User.class); - return R.ok().add(userService.page(pageParam, pageParam.buildWrapper(true))); + return R.ok().add(userService.page(pageParam, pageParam.buildWrapper(true, wrapper -> wrapper.orderByAsc("create_time")))); } @PreAuthorize("hasAuthority('system:user:list')") @@ -64,6 +68,7 @@ @PreAuthorize("hasAuthority('system:user:save')") @OperationLog("娣诲姞鐢ㄦ埛") @PostMapping("/user/save") + @Transactional public R save(@RequestBody User user) { if (!Cools.isEmpty(user.getUsername()) && userService.count(new LambdaQueryWrapper<User>().eq(User::getUsername, user.getUsername())) > 0) { @@ -86,14 +91,23 @@ user.setUpdateTime(new Date()); if (!userService.save(user)) { - return R.error("娣诲姞澶辫触"); + throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�"); } + + userRoleService.remove(new LambdaQueryWrapper<UserRole>().eq(UserRole::getUserId, user.getId())); + for (Long roleId : user.getRoleIds()) { + if (!userRoleService.save(new UserRole(user.getId(), roleId))) { + throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�"); + } + } + return R.ok("娣诲姞鎴愬姛"); } @PreAuthorize("hasAuthority('system:user:update')") @OperationLog("淇敼鐢ㄦ埛") @PostMapping("/user/update") + @Transactional public R update(@RequestBody User user) { if (!Cools.isEmpty(user.getUsername()) && userService.count(new LambdaQueryWrapper<User>() .eq(User::getUsername, user.getUsername()) @@ -119,8 +133,18 @@ user.setUpdateTime(new Date()); if (!userService.updateById(user)) { - return R.error("淇敼澶辫触"); + throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�"); } + + if (user.getRoleIds() != null && user.getRoleIds().length > 0) { + userRoleService.remove(new LambdaQueryWrapper<UserRole>().eq(UserRole::getUserId, user.getId())); + for (Long roleId : user.getRoleIds()) { + if (!userRoleService.save(new UserRole(user.getId(), roleId))) { + throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�"); + } + } + } + return R.ok("淇敼鎴愬姛"); } @@ -163,9 +187,15 @@ @PreAuthorize("hasAuthority('system:user:update')") @OperationLog("閲嶇疆瀵嗙爜") @PostMapping("/user/reset/pwd") - public R resetPwd(@RequestBody User user) { - if (!Cools.isEmpty(user.getPassword())) { - user.setPassword(userService.encodePassword(user.getPassword())); + 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("褰撳墠瀵嗙爜閿欒"); + } + } + if (!Cools.isEmpty(param.getPassword())) { + user.setPassword(userService.encodePassword(param.getPassword())); } user.setUpdateBy(getLoginUserId()); user.setUpdateTime(new Date()); -- Gitblit v1.9.1