From 9d0d1a29d7c114696dff97589a9b4a7cf5d1e693 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Thu, 09 Oct 2025 10:12:47 +0800
Subject: [PATCH] 注册绑定修复

---
 trading-order-service/src/main/java/com/yami/trading/service/impl/UserServiceImpl.java |   20 +++++++++++++++++++-
 1 files changed, 19 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..66113d4 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)) {
@@ -722,6 +726,7 @@
             userRecom.setUserId(party_reco.getUserId());
             userRecom.setRecomUserId(party.getUserId());
             this.userRecomService.save(userRecom);
+            party = getById(party.getUserId());
             party.setUserRecom(party_reco.getUserId());
             updateById(party);
         }
@@ -1474,6 +1479,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