From 78a7e03bb3e452d302de8743cf9df71d0e977a11 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Tue, 23 Sep 2025 16:15:16 +0800
Subject: [PATCH] 1

---
 trading-order-service/src/main/java/com/yami/trading/service/impl/UserServiceImpl.java |   19 ++++++++++++++++++-
 1 files changed, 18 insertions(+), 1 deletions(-)

diff --git a/trading-order-service/src/main/java/com/yami/trading/service/impl/UserServiceImpl.java b/trading-order-service/src/main/java/com/yami/trading/service/impl/UserServiceImpl.java
index c72c60b..caacbe3 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/impl/UserServiceImpl.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/impl/UserServiceImpl.java
@@ -696,7 +696,11 @@
             if (StringUtils.isEmptyString(username) || username.length() > 20) {
                 throw new YamiShopBindException("请输入正确的手机号码");
             }
-            this.savePhone(username, party.getUserId().toString());
+            User partyPhone = findPartyByVerifiedPhone(username);
+            if (null != partyPhone) {
+                throw new YamiShopBindException("电话号码已绑定其他用户");
+            }
+            this.savePhone(username, party.getUserId());
         } else {
             // 邮箱注册
             if (!Strings.isEmail(username)) {
@@ -1474,6 +1478,19 @@
     }
 
     @Override
+    public User findByUserNameOrEmailOrPhone(String userName) {
+        User user = getOne(new LambdaQueryWrapper<User>()
+                .eq(User::getUserName, userName)
+                .or(x ->
+                        x.eq(User::getUserMobile, userName).eq(User::isUserMobileBind, true))
+                .or(x ->
+                        x.eq(User::getUserMail, userName).eq(User::isMailBind, true))
+
+        );
+        return user;
+    }
+
+    @Override
     public User findByUserMobile(String mobile) {
         return getOne(new LambdaQueryWrapper<User>().eq(User::getUserMobile, mobile));
     }

--
Gitblit v1.9.3