From 9e2e91eca12fcedf848ea6c73f009984f303645b Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Mon, 10 Mar 2025 16:10:47 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=AE=A1=E7=90=86=EF=BC=9A?= =?UTF-8?q?=E5=B7=B2=E6=9C=89=E8=AE=A4=E8=AF=81=E5=AF=86=E7=A0=81=E8=B4=A6?= =?UTF-8?q?=E6=88=B7=E4=B8=8D=E5=85=81=E8=AE=B8=E4=BF=AE=E6=94=B9=E6=89=8B?= =?UTF-8?q?=E6=9C=BA=E5=8F=B7=E8=B4=A6=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../imes/module/system/enums/ErrorCodeConstants.java | 2 +- .../module/system/dal/mysql/user/AdminUserMapper.java | 2 +- .../system/service/user/AdminUserServiceImpl.java | 11 ++++++----- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java index f985bdfe9..922d2ea3b 100644 --- a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java +++ b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java @@ -59,7 +59,7 @@ public class ErrorCodeConstants { public static final ErrorCode INSUFFICIENT_PERMISSIONS = new ErrorCode(1_002_003_014, "当前用户权限不足,无法修改开料状态"); public static final ErrorCode USERNAME_MULTIPLE_ERROR = new ErrorCode(1_002_003_015,"存在【{}】重复用户,请联系系统管理员"); public static final ErrorCode USER_OPERATE_SELF_STATUS_ERROR = new ErrorCode(1_002_003_016, "不允许操作用户自身状态"); - public static final ErrorCode THE_PASSWORD_MUST_CONTAIN_AT_LEAST_ONE_UPPER_LETTER = new ErrorCode(1_002_003_017, "密码必须包含至少一个大写字母"); + public static final ErrorCode USER_MOBILE_UPDATE_NOT_ALLOW_ERROR = new ErrorCode(1_002_003_017, "该用户已通过手机号认证设置密码,不允许在用户管理修改手机号,如需修改请前往个人中心"); // ========== 部门模块 1-002-004-000 ========== public static final ErrorCode DEPT_NAME_DUPLICATE = new ErrorCode(1_002_004_000, "已经存在该名字的部门"); diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/user/AdminUserMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/user/AdminUserMapper.java index 730b35d56..d3654042f 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/user/AdminUserMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/user/AdminUserMapper.java @@ -171,7 +171,7 @@ public interface AdminUserMapper extends BaseMapperX { * @param id * @return */ - @Select("SELECT username FROM system_users WHERE id = #{id} FOR UPDATE") + @Select("SELECT username, password FROM system_users WHERE id = #{id} FOR UPDATE") AdminUserDO selectByIdForUpdate(@Param("id") Long id); /** diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/user/AdminUserServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/user/AdminUserServiceImpl.java index 4a594af8c..2083d7526 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/user/AdminUserServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/user/AdminUserServiceImpl.java @@ -78,6 +78,7 @@ import static com.cf.imes.framework.common.util.collection.CollectionUtils.conve import static com.cf.imes.framework.common.util.collection.CollectionUtils.convertSet; import static com.cf.imes.module.system.dal.redis.RedisKeyConstants.OAUTH2_ACCESS_TOKEN; import static com.cf.imes.module.system.enums.ErrorCodeConstants.USER_ME_ERROR; +import static com.cf.imes.module.system.enums.ErrorCodeConstants.USER_MOBILE_UPDATE_NOT_ALLOW_ERROR; import static com.cf.imes.module.system.enums.ErrorCodeConstants.USER_OPERATE_SELF_STATUS_ERROR; /** @@ -200,11 +201,11 @@ public class AdminUserServiceImpl implements AdminUserService { Long id = updateObj.getId(); if (ObjectUtil.isNotNull(id)) { AdminUserDO adminUserDO = userMapper.selectByIdForUpdate(id); - // 当手机号(账号)发生改变时,清空密码 - if (ObjectUtil.isNotNull(adminUserDO) && !Objects.equals(adminUserDO.getUsername(), mobile)) { - // 清空密码 - updateObj.setPassword(""); - updateObj.setUsername(mobile); + // 当手机号(账号)发生改变时,只允许密码为空的通过(还没有使用验证码来设置过密码) + if (ObjectUtil.isNotNull(adminUserDO) && !StringUtils.equals(adminUserDO.getUsername(), mobile)) { + if(StringUtils.isNotEmpty(adminUserDO.getPassword())) { + throw ServiceExceptionUtil.exception(USER_MOBILE_UPDATE_NOT_ALLOW_ERROR); + } } } userMapper.updateById(updateObj);