From ecca9ab70a9a87bcb60977c92fbf81053b8fc1bb Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期三, 04 九月 2024 09:17:55 +0800 Subject: [PATCH] 新增优化 --- ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/SysUserController.java | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 57 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..beee081 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,11 +7,13 @@ 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; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.security.annotation.RequiresPermissions; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.system.api.model.LoginUser; import io.swagger.annotations.Api; @@ -53,19 +55,20 @@ * @param pageNum 页码 * @param pageSize 每页显示条数 */ + @RequiresPermissions("power_account") @ApiOperation(value = "账号分页查询列表", tags = {"后台-权限管理-账号管理"}) @GetMapping(value = "/page") @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))); } /** @@ -74,6 +77,7 @@ * @param id 后台账号id * @param enable 启用/关闭 */ + @RequiresPermissions("power_enable") @ApiOperation(value = "启用/关闭后台账号", tags = {"后台-师傅管理-师傅列表管理"}) @GetMapping(value = "/enable") @ApiImplicitParams({ @@ -91,6 +95,7 @@ * * @param id 账号id */ + @RequiresPermissions("power_detail") @ApiOperation(value = "账号详情", tags = {"后台-权限管理-账号管理"}) @GetMapping(value = "/detail") @ApiImplicitParams({ @@ -106,12 +111,19 @@ * * @param sysUserRequest 账号信息 */ + @RequiresPermissions("power_save") @ApiOperation(value = "新增账号", tags = {"后台-权限管理-账号管理"}) @PostMapping(value = "/save") public R<String> save(@RequestBody @Validated SysUserRequest sysUserRequest) { LoginUser loginUser = tokenService.getLoginUser(); 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(); @@ -136,6 +148,7 @@ * * @param sysUserRequest 账号信息 */ + @RequiresPermissions("power_update") @ApiOperation(value = "修改账号", tags = {"后台-权限管理-账号管理"}) @PostMapping(value = "/update") public R<String> update(@RequestBody SysUserRequest sysUserRequest) { @@ -148,6 +161,13 @@ LoginUser loginUser = tokenService.getLoginUser(); if (null == loginUser) { return R.loginExpire("登录失效!"); + } + SysUser user = sysUserService.lambdaQuery() + .eq(SysUser::getAccount, sysUserRequest.getAccount()) + .eq(SysUser::getIsDelete, 0) + .ne(SysUser::getUserId, sysUserRequest.getUserId()).one(); + if (null != user) { + return R.fail("该账号已存在!"); } // 修改账号信息 BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); @@ -164,10 +184,44 @@ } /** + * 修改密码 + * + * @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(oldPassword, user.getPassword())) { + return R.fail("原密码错误,请重试!"); + } + // 校验通过,加密新的明文密码 + String encodeNewPassword = passwordEncoder.encode(newPassword); + user.setPassword(encodeNewPassword); + sysUserService.updateById(user); + } + return R.ok(); + } + + /** * 根据id批量删除账号 * * @param ids 账号id拼接 */ + @RequiresPermissions("power_delete") @ApiOperation(value = "批量删除账号", tags = {"后台-权限管理-账号管理"}) @GetMapping(value = "/batchDelete") @ApiImplicitParams({ -- Gitblit v1.7.1