From 3457fa838cc4831f3774f99f49bb3b3e1227f738 Mon Sep 17 00:00:00 2001 From: xueqingkun Date: Wed, 21 Aug 2024 17:44:08 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E6=B7=BB=E5=8A=A0=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=91=98=E5=85=81=E8=AE=B8=E4=BF=AE=E6=94=B9=E5=85=B6=E4=BB=96?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=AF=86=E7=A0=81=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/supervision/constant/RoleEnum.java | 23 +++++++++++++++++++ .../service/impl/SystemUserServiceImpl.java | 19 ++++++++++++--- 2 files changed, 39 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/supervision/constant/RoleEnum.java diff --git a/src/main/java/com/supervision/constant/RoleEnum.java b/src/main/java/com/supervision/constant/RoleEnum.java new file mode 100644 index 0000000..306795e --- /dev/null +++ b/src/main/java/com/supervision/constant/RoleEnum.java @@ -0,0 +1,23 @@ +package com.supervision.constant; + +public enum RoleEnum { + + ADMIN("1820688378166366209", "管理员"), + JINGZHEN_POLICE("1820688265587052546", "经侦民警"); + + private final String code; + private final String desc; + + RoleEnum(String code, String desc) { + this.code = code; + this.desc = desc; + } + + public String getCode() { + return code; + } + + public String getDesc() { + return desc; + } +} diff --git a/src/main/java/com/supervision/police/service/impl/SystemUserServiceImpl.java b/src/main/java/com/supervision/police/service/impl/SystemUserServiceImpl.java index 80f949b..8c6d235 100644 --- a/src/main/java/com/supervision/police/service/impl/SystemUserServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/SystemUserServiceImpl.java @@ -2,12 +2,15 @@ package com.supervision.police.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.supervision.config.BusinessException; +import com.supervision.constant.RoleEnum; import com.supervision.police.domain.SystemUser; import com.supervision.police.dto.MenuDTO; import com.supervision.police.dto.user.*; @@ -182,16 +185,26 @@ public class SystemUserServiceImpl extends ServiceImpl StrUtil.equals(userRoleDTO.getRoleId(), RoleEnum.ADMIN.getCode())).count(); + if (count == 0){ + log.info("账号:{}不是管理员,不能修改其他账号密码", user.getAccount()); + throw new BusinessException("您没有权限修改用户密码!"); + } + } Assert.notEmpty(password, "密码不能为空"); - Long count = super.lambdaQuery().eq(SystemUser::getId, user.getId()).count(); - if (count == 0){ + String userCount = StrUtil.isEmpty(account) ? user.getAccount() : account; + SystemUser systemUser = super.lambdaQuery().eq(SystemUser::getAccount, userCount).one(); + if (ObjUtil.isNull(systemUser)){ log.info("账号:{}不存在", account); return false; } return super.lambdaUpdate().set(SystemUser::getUserPd, UserUtil.signPassword(password)) - .eq(SystemUser::getId, user.getId()).update(); + .eq(SystemUser::getId, systemUser.getId()).update(); } }