From be8e5676845b5433d48c59d5403ef4fec4ab3f67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E6=99=93=E4=B8=9C?= <763795151@qq.com> Date: Tue, 9 May 2023 20:44:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=AA=E4=BA=BA=E8=AE=BE=E7=BD=AE=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E5=AF=86=E7=A0=81.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/UserManageController.java | 6 ++ .../console/service/UserManageService.java | 2 + .../service/impl/UserManageServiceImpl.java | 15 +++ ui/src/components/HelloWorld.vue | 32 ------- ui/src/{views => }/components/MessageBox.vue | 0 ui/src/utils/api.js | 4 + ui/src/views/user/CreateUser.vue | 3 + ui/src/views/user/UpdateUserRole.vue | 3 + ui/src/views/user/User.vue | 2 +- ui/src/views/user/UserManage.vue | 7 +- ui/src/views/user/UserSetting.vue | 92 +++++++++++++++++++ 11 files changed, 131 insertions(+), 35 deletions(-) delete mode 100644 ui/src/components/HelloWorld.vue rename ui/src/{views => }/components/MessageBox.vue (100%) create mode 100644 ui/src/views/user/UserSetting.vue diff --git a/src/main/java/com/xuxd/kafka/console/controller/UserManageController.java b/src/main/java/com/xuxd/kafka/console/controller/UserManageController.java index aabd594..bf5d62c 100644 --- a/src/main/java/com/xuxd/kafka/console/controller/UserManageController.java +++ b/src/main/java/com/xuxd/kafka/console/controller/UserManageController.java @@ -71,4 +71,10 @@ public class UserManageController { public Object deleteUser(@RequestParam Long id) { return userManageService.deleteUser(id); } + + @ControllerLog("更新密码") + @PostMapping("/user/password") + public Object updatePassword(@RequestBody SysUserDTO userDTO) { + return userManageService.updatePassword(userDTO); + } } diff --git a/src/main/java/com/xuxd/kafka/console/service/UserManageService.java b/src/main/java/com/xuxd/kafka/console/service/UserManageService.java index 9b41083..b999662 100644 --- a/src/main/java/com/xuxd/kafka/console/service/UserManageService.java +++ b/src/main/java/com/xuxd/kafka/console/service/UserManageService.java @@ -35,4 +35,6 @@ public interface UserManageService { ResponseData deleteRole(Long id); ResponseData deleteUser(Long id); + + ResponseData updatePassword(SysUserDTO userDTO); } diff --git a/src/main/java/com/xuxd/kafka/console/service/impl/UserManageServiceImpl.java b/src/main/java/com/xuxd/kafka/console/service/impl/UserManageServiceImpl.java index eaa6a5c..c0255f2 100644 --- a/src/main/java/com/xuxd/kafka/console/service/impl/UserManageServiceImpl.java +++ b/src/main/java/com/xuxd/kafka/console/service/impl/UserManageServiceImpl.java @@ -192,6 +192,12 @@ public class UserManageServiceImpl implements UserManageService { @Override public ResponseData deleteRole(Long id) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(true, "role_ids", id); + Integer count = userMapper.selectCount(queryWrapper); + if (count > 0) { + return ResponseData.create().failed("存在用户被分配为当前角色,不允许删除"); + } roleMapper.deleteById(id); return ResponseData.create().success(); } @@ -201,4 +207,13 @@ public class UserManageServiceImpl implements UserManageService { userMapper.deleteById(id); return ResponseData.create().success(); } + + @Override + public ResponseData updatePassword(SysUserDTO userDTO) { + SysUserDO userDO = userDTO.toDO(); + userDO.setSalt(UUIDStrUtil.random()); + userDO.setPassword(UUIDStrUtil.generate(userDTO.getPassword(), userDO.getSalt())); + userMapper.updateById(userDO); + return ResponseData.create().success(); + } } diff --git a/ui/src/components/HelloWorld.vue b/ui/src/components/HelloWorld.vue deleted file mode 100644 index 0a5f13a..0000000 --- a/ui/src/components/HelloWorld.vue +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - diff --git a/ui/src/views/components/MessageBox.vue b/ui/src/components/MessageBox.vue similarity index 100% rename from ui/src/views/components/MessageBox.vue rename to ui/src/components/MessageBox.vue diff --git a/ui/src/utils/api.js b/ui/src/utils/api.js index 89b3c46..b098723 100644 --- a/ui/src/utils/api.js +++ b/ui/src/utils/api.js @@ -342,4 +342,8 @@ export const UserManageApi = { url: "/sys/user/manage/user", method: "delete", }, + updatePassword: { + url: "/sys/user/manage/user/password", + method: "post", + }, }; \ No newline at end of file diff --git a/ui/src/views/user/CreateUser.vue b/ui/src/views/user/CreateUser.vue index 829a154..e3e4c53 100644 --- a/ui/src/views/user/CreateUser.vue +++ b/ui/src/views/user/CreateUser.vue @@ -79,6 +79,9 @@ export default { watch: { visible(v) { this.show = v; + if (this.show) { + this.getRoles(); + } }, }, methods: { diff --git a/ui/src/views/user/UpdateUserRole.vue b/ui/src/views/user/UpdateUserRole.vue index 2c78034..62f0426 100644 --- a/ui/src/views/user/UpdateUserRole.vue +++ b/ui/src/views/user/UpdateUserRole.vue @@ -76,6 +76,9 @@ export default { watch: { visible(v) { this.show = v; + if (this.show) { + this.getRoles(); + } }, }, methods: { diff --git a/ui/src/views/user/User.vue b/ui/src/views/user/User.vue index e0eab23..7f97d1c 100644 --- a/ui/src/views/user/User.vue +++ b/ui/src/views/user/User.vue @@ -96,7 +96,7 @@ import request from "@/utils/request"; import notification from "ant-design-vue/lib/notification"; import { UserManageApi } from "@/utils/api"; import CreateUser from "@/views/user/CreateUser.vue"; -import MessageBox from "@/views/components/MessageBox.vue"; +import MessageBox from "@/components/MessageBox.vue"; import UpdateUserRole from "@/views/user/UpdateUserRole.vue"; export default { diff --git a/ui/src/views/user/UserManage.vue b/ui/src/views/user/UserManage.vue index 8fd7b63..ea63ecf 100644 --- a/ui/src/views/user/UserManage.vue +++ b/ui/src/views/user/UserManage.vue @@ -11,7 +11,9 @@ - + + + @@ -21,9 +23,10 @@ import Permission from "@/views/user/Permission.vue"; import Role from "@/views/user/Role.vue"; import User from "@/views/user/User.vue"; +import UserSetting from "@/views/user/UserSetting.vue"; export default { name: "UserManage", - components: { Permission, Role, User }, + components: { Permission, Role, User, UserSetting }, data() { return { loading: false, diff --git a/ui/src/views/user/UserSetting.vue b/ui/src/views/user/UserSetting.vue new file mode 100644 index 0000000..a5bfbc0 --- /dev/null +++ b/ui/src/views/user/UserSetting.vue @@ -0,0 +1,92 @@ + + + + +