From ec6d43aa07ee0e8faf34498057ebcfbb446aa015 Mon Sep 17 00:00:00 2001
From: hjl <1657978663@qq.com>
Date: 星期二, 16 七月 2024 09:21:51 +0800
Subject: [PATCH] feat: 代码重构

---
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/SysUserController.java |   52 +++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 49 insertions(+), 3 deletions(-)

diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/SysUserController.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/SysUserController.java
index 4d1bae7..8fa5bea 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/SysUserController.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/SysUserController.java
@@ -7,6 +7,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.admin.entity.SysUser;
 import com.ruoyi.admin.entity.UserRole;
+import com.ruoyi.admin.request.PasswordRequest;
 import com.ruoyi.admin.request.SysUserRequest;
 import com.ruoyi.admin.service.SysUserService;
 import com.ruoyi.admin.service.UserRoleService;
@@ -58,14 +59,14 @@
     @ApiImplicitParams({
             @ApiImplicitParam(value = "账号名称", name = "nickName", dataType = "String"),
             @ApiImplicitParam(value = "账号", name = "account", dataType = "String"),
-            @ApiImplicitParam(value = "所属账号", name = "role", dataType = "String"),
+            @ApiImplicitParam(value = "所属账号", name = "roleId", dataType = "String"),
             @ApiImplicitParam(value = "页码", name = "pageNum", dataType = "Integer", required = true),
             @ApiImplicitParam(value = "每页条数", name = "pageSize", dataType = "Integer", required = true)
     })
-    public R<IPage<SysUser>> queryPageList(String nickName, String account, String role,
+    public R<IPage<SysUser>> queryPageList(String nickName, String account, String roleId,
                                            @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
                                            @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
-        return R.ok(sysUserService.queryPage(nickName, account, role, Page.of(pageNum, pageSize)));
+        return R.ok(sysUserService.queryPage(nickName, account, roleId, Page.of(pageNum, pageSize)));
     }
 
     /**
@@ -113,6 +114,12 @@
         if (null == loginUser) {
             return R.loginExpire("登录失效!");
         }
+        SysUser user = sysUserService.lambdaQuery()
+                .eq(SysUser::getAccount, sysUserRequest.getAccount())
+                .eq(SysUser::getIsDelete, 0).one();
+        if (null != user) {
+            return R.fail("该账号已存在!");
+        }
         // 账号封装
         SysUser sysUser = new SysUser();
         sysUser.setNickName(sysUserRequest.getNickName());
@@ -149,6 +156,12 @@
         if (null == loginUser) {
             return R.loginExpire("登录失效!");
         }
+        SysUser user = sysUserService.lambdaQuery()
+                .eq(SysUser::getAccount, sysUserRequest.getAccount())
+                .eq(SysUser::getIsDelete, 0).one();
+        if (null != user) {
+            return R.fail("该账号已存在!");
+        }
         // 修改账号信息
         BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
         LambdaUpdateChainWrapper<SysUser> wrapper = sysUserService.lambdaUpdate();
@@ -164,6 +177,39 @@
     }
 
     /**
+     * 修改密码
+     *
+     * @param passwordRequest 账号信息
+     */
+    @ApiOperation(value = "修改密码", tags = {"后台-权限管理-账号管理"})
+    @PostMapping(value = "/updatePassword")
+    public R<String> updatePassword(@RequestBody @Validated PasswordRequest passwordRequest) {
+        String account = passwordRequest.getAccount();
+        String oldPassword = passwordRequest.getOldPassword();
+        String newPassword = passwordRequest.getNewPassword();
+        String confirmPassword = passwordRequest.getConfirmPassword();
+        SysUser user = sysUserService.lambdaQuery()
+                .eq(SysUser::getAccount, account)
+                .eq(SysUser::getIsDelete, 0).one();
+        if (null == user) {
+            return R.fail("账号不存在!");
+        } else {
+            if (!newPassword.equals(confirmPassword)) {
+                return R.fail("新密码与二次确认密码不一致,请重新输入!");
+            }
+            BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
+            if (!passwordEncoder.matches(newPassword, oldPassword)) {
+                return R.fail("原密码错误,请重试!");
+            }
+            // 校验通过,加密新的明文密码
+            String encodeNewPassword = passwordEncoder.encode(newPassword);
+            user.setPassword(encodeNewPassword);
+            sysUserService.updateById(user);
+        }
+        return R.ok();
+    }
+
+    /**
      * 根据id批量删除账号
      *
      * @param ids 账号id拼接

--
Gitblit v1.7.1