From 8a7af3c27dca7eb50898995d5f64547beccc9e24 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 02 七月 2026 10:25:25 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_business' into dev_business
---
yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java | 26 ++++++++++++++++++++++++++
1 files changed, 26 insertions(+), 0 deletions(-)
diff --git a/yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java b/yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java
index d596ab6..7cfbeb5 100644
--- a/yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java
+++ b/yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java
@@ -142,6 +142,12 @@
@Override
public void updateUser(Long userId, AppMemberUserUpdateReqVO reqVO) {
+ // 1.1 妫�娴嬬敤鎴锋槸鍚﹀瓨鍦�
+ validateUserExists(userId);
+ // 1.2 鏍¢獙鎵嬫満鏄惁宸茬粡琚粦瀹�
+ validateEmailUnique(userId, reqVO.getEmail());
+
+ // 2. 鏇存柊鐢ㄦ埛
MemberUserDO updateObj = BeanUtils.toBean(reqVO, MemberUserDO.class).setId(userId);
memberUserMapper.updateById(updateObj);
}
@@ -238,6 +244,8 @@
validateUserExists(updateReqVO.getId());
// 鏍¢獙鎵嬫満鍞竴
validateMobileUnique(updateReqVO.getId(), updateReqVO.getMobile());
+ // 鏍¢獙閭鍞竴
+ validateEmailUnique(updateReqVO.getId(), updateReqVO.getEmail());
// 鏇存柊
MemberUserDO updateObj = MemberUserConvert.INSTANCE.convert(updateReqVO);
@@ -274,6 +282,24 @@
}
}
+ @VisibleForTesting
+ void validateEmailUnique(Long id, String email) {
+ if (StrUtil.isBlank(email)) {
+ return;
+ }
+ MemberUserDO user = memberUserMapper.selectByEmail(email);
+ if (user == null) {
+ return;
+ }
+ // 濡傛灉 id 涓虹┖锛岃鏄庝笉鐢ㄦ瘮杈冩槸鍚︿负鐩稿悓 id 鐨勭敤鎴�
+ if (id == null) {
+ throw exception(USER_EMAIL_USED, email);
+ }
+ if (!user.getId().equals(id)) {
+ throw exception(USER_EMAIL_USED, email);
+ }
+ }
+
@Override
public PageResult<MemberUserDO> getUserPage(MemberUserPageReqVO pageReqVO) {
return memberUserMapper.selectPage(pageReqVO);
--
Gitblit v1.9.3