From bd999ecc09fcacf4016edcba85caf9b9696d2140 Mon Sep 17 00:00:00 2001
From: lrj <owen.stl@gmail.com>
Date: 星期六, 04 十月 2025 18:40:31 +0800
Subject: [PATCH] feat: 同步本地改动(认证/评审/用户/选手模块更新;新增/调整 GraphQL schema;小程序个人信息与评审相关页面、配置与资源等)

---
 backend/src/main/java/com/rongyichuang/player/service/ActivityPlayerService.java |   48 +++++++++++++++++++++++++++++++++++-------------
 1 files changed, 35 insertions(+), 13 deletions(-)

diff --git a/backend/src/main/java/com/rongyichuang/player/service/ActivityPlayerService.java b/backend/src/main/java/com/rongyichuang/player/service/ActivityPlayerService.java
index c623481..b40491c 100644
--- a/backend/src/main/java/com/rongyichuang/player/service/ActivityPlayerService.java
+++ b/backend/src/main/java/com/rongyichuang/player/service/ActivityPlayerService.java
@@ -231,25 +231,47 @@
     }
 
     /**
-     * 鍒涘缓鎴栨洿鏂扮敤鎴疯褰�
+     * 鍒涘缓鎴栨洿鏂扮敤鎴疯褰曪紙浠呭湪灏忕▼搴忔姤鍚嶆垚鍔熸椂鍒涘缓鏂扮敤鎴凤級
      */
     private User createOrUpdateUser(ActivityRegistrationInput input) {
         try {
-            // 浣跨敤UserService鐨刦indOrCreateUserByPhone鏂规硶
-            User user = userService.findOrCreateUserByPhone(
-                input.getPlayerInfo().getPhone(),
-                input.getPlayerInfo().getName(),
-                null // 涓嶈缃瘑鐮侊紝浣跨敤榛樿瀵嗙爜
-            );
+            String phone = input.getPlayerInfo().getPhone();
+            String name = input.getPlayerInfo().getName();
             
-            // 鏇存柊鐢ㄦ埛鐨勭敓鏃ヤ俊鎭�
-            if (input.getPlayerInfo().getBirthDate() != null) {
-                user.setBirthday(input.getPlayerInfo().getBirthDate());
+            // 鍏堟煡鎵剧幇鏈夌敤鎴�
+            Optional<User> existingUserOpt = userService.findByPhone(phone);
+            
+            if (existingUserOpt.isPresent()) {
+                // 鐢ㄦ埛瀛樺湪锛屾洿鏂颁俊鎭�
+                User user = existingUserOpt.get();
+                user.setName(name);
+                
+                // 鏇存柊鐢ㄦ埛鐨勭敓鏃ヤ俊鎭�
+                if (input.getPlayerInfo().getBirthDate() != null) {
+                    user.setBirthday(input.getPlayerInfo().getBirthDate());
+                }
+                
                 user = userService.save(user);
-                log.info("鏇存柊鐢ㄦ埛鐢熸棩淇℃伅鎴愬姛锛岀敤鎴稩D: {}", user.getId());
+                log.info("鏇存柊鐜版湁鐢ㄦ埛淇℃伅鎴愬姛锛岀敤鎴稩D: {}", user.getId());
+                return user;
+            } else {
+                // 鐢ㄦ埛涓嶅瓨鍦紝鍒涘缓鏂扮敤鎴凤紙浠呭湪灏忕▼搴忔姤鍚嶆垚鍔熸椂锛�
+                log.info("鐢ㄦ埛涓嶅瓨鍦紝涓哄皬绋嬪簭鎶ュ悕鎴愬姛鍒涘缓鏂扮敤鎴凤紝鎵嬫満鍙�: {}", phone);
+                
+                User newUser = new User();
+                newUser.setName(name);
+                newUser.setPhone(phone);
+                newUser.setPassword(userService.getPasswordEncoder().encode("123456")); // 榛樿瀵嗙爜
+                
+                // 璁剧疆鐢熸棩淇℃伅
+                if (input.getPlayerInfo().getBirthDate() != null) {
+                    newUser.setBirthday(input.getPlayerInfo().getBirthDate());
+                }
+                
+                newUser = userService.save(newUser);
+                log.info("涓哄皬绋嬪簭鎶ュ悕鎴愬姛鍒涘缓鏂扮敤鎴凤紝鐢ㄦ埛ID: {}", newUser.getId());
+                return newUser;
             }
-            
-            return user;
         } catch (Exception e) {
             log.error("鍒涘缓鎴栨洿鏂扮敤鎴疯褰曟椂鍙戠敓閿欒", e);
             throw new RuntimeException("鍒涘缓鎴栨洿鏂扮敤鎴疯褰曞け璐�", e);

--
Gitblit v1.8.0