From 5ce00eb4bf3405ed6eb64035307033924fa1850f Mon Sep 17 00:00:00 2001 From: wangxiang <1827945911@qq.com> Date: Sat, 30 Apr 2022 20:38:00 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=9F=20=E6=A1=86=E6=9E=B6=E5=8D=87?= =?UTF-8?q?=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controller/UserController.java | 43 ++++----- .../kicc/system/service/UserService.java | 2 - .../system/service/impl/UserServiceImpl.java | 16 ++-- kicc-ui/src/api/system/user.ts | 6 +- .../src/views/system/user/PasswordModal.vue | 63 ------------- .../src/views/system/user/ResetPwdModal.vue | 89 +++++++++++++++++++ kicc-ui/src/views/system/user/index.vue | 41 +++++---- kicc-ui/src/views/system/user/user.data.ts | 25 +++--- 8 files changed, 155 insertions(+), 130 deletions(-) delete mode 100644 kicc-ui/src/views/system/user/PasswordModal.vue create mode 100644 kicc-ui/src/views/system/user/ResetPwdModal.vue diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/UserController.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/UserController.java index 2f882624..eb997fa7 100644 --- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/UserController.java +++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/UserController.java @@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.cloud.kicc.system.api.entity.Menu; import com.cloud.kicc.system.api.entity.Role; import com.cloud.kicc.system.api.entity.User; import com.cloud.kicc.system.api.entity.UserRole; @@ -59,7 +60,8 @@ public class UserController { private LambdaQueryWrapper getQueryWrapper(User user) { return new LambdaQueryWrapper() .like(StrUtil.isNotBlank(user.getUserName()), User::getUserName, user.getUserName()) - .eq(StrUtil.isNotBlank(user.getStatus()), User::getStatus, user.getStatus()); + .eq(StrUtil.isNotBlank(user.getDeptId()), User::getDeptId, user.getDeptId()) + .between(StrUtil.isNotBlank(user.getBeginTime()) && StrUtil.isNotBlank(user.getEndTime()), User::getCreateTime, user.getBeginTime(), user.getEndTime()); } @GetMapping("/list") @@ -82,9 +84,11 @@ public class UserController { public R getById(@PathVariable("id") String id) { User user = userService.getById(id); List roles; + // 设置所有角色集合信息 List roleList = roleService.list(); + // 设置用户角色信息 if (user != null) { - roles = userRoleService.list(new QueryWrapper().eq("user_id", user.getId())) + roles = userRoleService.list(new LambdaQueryWrapper().eq(UserRole::getUserId, user.getId())) .stream().map(userRole -> userRole.getRoleId()).collect(Collectors.toList()); user.setRoleIds(ArrayUtil.toArray(roles, String.class)); } @@ -100,10 +104,6 @@ public class UserController { return R.ok(); } - /** - * 获取指定用户全部信息 - * @return 用户信息 - */ @Inner @GetMapping("/selectByUserName/{userName}") public R selectByUserName(@PathVariable String userName) { @@ -126,7 +126,7 @@ public class UserController { @DeleteMapping("/remove/{id:[\\w,]+}") @PreAuthorize("@pms.hasPermission('user_del')") public R remove(@PathVariable String[] id) { - if (ArrayUtil.contains(id, 1)) { + if (ArrayUtil.contains(id, "1510539584287346688")) { return R.error("不允许删除超级管理员"); } userService.removeByIds(Arrays.asList(id)); @@ -138,9 +138,10 @@ public class UserController { KiccUser kiccUser = SecurityUtils.getUser(); if (kiccUser != null) { ResultVo resultVo = new ResultVo(); - User user = userService.getById(kiccUser.getId() + ""); + User user = userService.getById(kiccUser.getId()); if (user != null) { - String roleNames = SecurityUtils.getRoles().stream().map(roleId -> roleService.getById(roleId).getName()) + String roleNames = SecurityUtils.getRoles() + .stream().map(roleId -> roleService.getById(roleId).getName()) .collect(Collectors.joining(",")); user.setPassword(null); resultVo.setResult(user); @@ -156,18 +157,18 @@ public class UserController { @PutMapping("/updateProfile") @PreAuthorize("@pms.hasPermission('user_edit')") public R updateProfile(@RequestBody User user) { - userService.update(new UpdateWrapper().eq("id", user.getId()) - .set("nick_name", user.getNickName()) - .set(StrUtil.isNotBlank(user.getPhone()), "phone", user.getPhone()) - .set("email", user.getEmail()) - .set("sex", user.getSex())); + userService.update(Wrappers.update().lambda().eq(User::getId, user.getId()) + .set(User::getNickName, user.getNickName()) + .set(StrUtil.isNotBlank(user.getPhone()), User::getPhone, user.getPhone()) + .set(User::getEmail, user.getEmail()) + .set(User::getSex, user.getSex())); return R.ok(); } @SysLog("用户头像修改") @PutMapping("/updateAvatar") @PreAuthorize("@pms.hasPermission('user_edit')") - public R updateAvatar(@RequestParam("avatarfile") MultipartFile file) { + public R updateAvatar(@RequestParam("avatarFile") MultipartFile file) { return fileService.uploadFile(file); } @@ -175,9 +176,9 @@ public class UserController { @PutMapping("/updatePwd") @PreAuthorize("@pms.hasPermission('user_edit')") public R updatePwd(User user) { - User user1 = userService.getById(SecurityUtils.getUser().getId()); - if (user1 != null && StrUtil.equals(ENCODER.encode(user.getPassword()), user1.getPassword())) { - userService.update(new UpdateWrapper().eq("id", user1.getId()).set("password", ENCODER.encode(user.getNewPassword()))); + User originUser = userService.getById(SecurityUtils.getUser().getId()); + if (originUser != null && StrUtil.equals(ENCODER.encode(user.getPassword()), originUser.getPassword())) { + userService.update(Wrappers.update().lambda().eq(User::getId, originUser.getId()).set(User::getPassword, user.getPassword())); return R.ok(); } else { return R.error("原密码有误,请重试"); @@ -188,7 +189,7 @@ public class UserController { @PutMapping("/resetPwd") @PreAuthorize("@pms.hasPermission('user_reset')") public R resetPwd(@RequestBody User user) { - userService.update(new UpdateWrapper().eq("id", user.getId()).set("password", ENCODER.encode(user.getNewPassword()))); + userService.update(Wrappers.update().lambda().eq(User::getId, user.getId()).set(User::getPassword, ENCODER.encode(user.getNewPassword()))); return R.ok(); } @@ -196,7 +197,7 @@ public class UserController { @PutMapping("/changeStatus") @PreAuthorize("@pms.hasPermission('user_edit')") public R changeStatus(@RequestBody User user) { - userService.update(new UpdateWrapper().eq("id", user.getId()).set("status", user.getStatus())); + userService.update(Wrappers.update().lambda().eq(User::getId, user.getId()).set(User::getStatus, user.getStatus())); return R.ok(); } @@ -204,7 +205,7 @@ public class UserController { @ResponseExcel(name = "用户列表", sheets = @Sheet(sheetName = "user_list")) @GetMapping("/exportUser") @PreAuthorize("@pms.hasPermission('user_export')") - public List exportUserList(){ + public List exportUserList() { return userService.list(); } diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/UserService.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/UserService.java index b91c710e..7384c524 100644 --- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/UserService.java +++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/UserService.java @@ -17,7 +17,6 @@ public interface UserService extends IService { /** * 保存用户信息 - * * @param user 用户信息 * @return 结果 */ @@ -25,7 +24,6 @@ public interface UserService extends IService { /** * 导入用户数据 - * * @param userList 用户数据列表 * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 * @return 结果 diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/UserServiceImpl.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/UserServiceImpl.java index bf06e0c9..8fe72b37 100644 --- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/UserServiceImpl.java +++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/UserServiceImpl.java @@ -2,6 +2,7 @@ package com.cloud.kicc.system.service.impl; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.cloud.kicc.system.api.entity.Dept; @@ -43,7 +44,7 @@ public class UserServiceImpl extends ServiceImpl implements Us private static final PasswordEncoder ENCODER = new BCryptPasswordEncoder(); @Override - @Transactional + @Transactional(rollbackFor = Exception.class) public int saveUser(User user) { if (StrUtil.isEmptyIfStr(user.getId())) { // 新增用户信息 @@ -52,8 +53,8 @@ public class UserServiceImpl extends ServiceImpl implements Us addUserRole(user); return rows; } else { - // 删除用户与角色关联 - userRoleService.remove(new QueryWrapper().eq("user_id", user.getId())); + // 修改遵守先删后新增规则 + userRoleService.remove(new LambdaQueryWrapper().eq(UserRole::getUserId, user.getId())); // 新增用户与角色管理 addUserRole(user); user.setPassword(null); @@ -87,7 +88,6 @@ public class UserServiceImpl extends ServiceImpl implements Us /** * 新增用户角色信息 - * * @param user 用户对象 */ public void addUserRole(User user) { @@ -103,13 +103,7 @@ public class UserServiceImpl extends ServiceImpl implements Us } } - /** - * 导入用户数据 - * - * @param userList 用户数据列表 - * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 - * @return 结果 - */ + @Override public String importUser(List userList, Boolean isUpdateSupport) { if (userList == null || userList.size() == 0) { diff --git a/kicc-ui/src/api/system/user.ts b/kicc-ui/src/api/system/user.ts index 709f753f..fa4afde4 100644 --- a/kicc-ui/src/api/system/user.ts +++ b/kicc-ui/src/api/system/user.ts @@ -7,7 +7,8 @@ enum Api { get = '/system_proxy/system/user', edit = '/system_proxy/system/user/update', del = '/system_proxy/system/user/remove', - updatePwd = '/system_proxy/system/user/updatePwd' + updatePwd = '/system_proxy/system/user/updatePwd', + resetPwd='/system_proxy/system/user/resetPwd' } // 查询用户列表 @@ -27,3 +28,6 @@ export const delUser = (id: string) => defHttp.delete({ url: `${Api.del}/${id}` // 更新密码 export const updatePwd = (params: Partial) => defHttp.put({ url: Api.updatePwd, params }); + +// 重置密码 +export const resetPwd = (params: Partial) => defHttp.put({ url: Api.resetPwd, data: params }); diff --git a/kicc-ui/src/views/system/user/PasswordModal.vue b/kicc-ui/src/views/system/user/PasswordModal.vue deleted file mode 100644 index 61b1e964..00000000 --- a/kicc-ui/src/views/system/user/PasswordModal.vue +++ /dev/null @@ -1,63 +0,0 @@ - - - diff --git a/kicc-ui/src/views/system/user/ResetPwdModal.vue b/kicc-ui/src/views/system/user/ResetPwdModal.vue new file mode 100644 index 00000000..0ecb2a26 --- /dev/null +++ b/kicc-ui/src/views/system/user/ResetPwdModal.vue @@ -0,0 +1,89 @@ + + + diff --git a/kicc-ui/src/views/system/user/index.vue b/kicc-ui/src/views/system/user/index.vue index a6886fbe..40d751ca 100644 --- a/kicc-ui/src/views/system/user/index.vue +++ b/kicc-ui/src/views/system/user/index.vue @@ -25,20 +25,21 @@