无关风月
16 分钟以前 b5ead35c1d955f2a0e2e10da79254860d0ba95e9
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({