liuq 3 месяцев назад
Родитель
Сommit
bb5876b1fb

+ 8 - 2
backend/app/api/v1/endpoints/apps.py

@@ -458,11 +458,14 @@ def create_mapping(
     if not user:
         # Auto create user
         password_plain = security.generate_alphanumeric_password(8) # Random password letters+digits
+        random_suffix = security.generate_alphanumeric_password(6)
         user = User(
             mobile=mapping_in.mobile,
             password_hash=security.get_password_hash(password_plain),
             status="ACTIVE",
-            role="ORDINARY_USER"
+            role="ORDINARY_USER",
+            name=f"用户{random_suffix}",
+            english_name=mapped_key
         )
         db.add(user)
         db.commit()
@@ -809,11 +812,14 @@ def sync_mapping(
     if not user:
         # Auto create user
         password = security.generate_alphanumeric_password(8) # Random password letters+digits
+        random_suffix = security.generate_alphanumeric_password(6)
         user = User(
             mobile=sync_in.mobile,
             password_hash=security.get_password_hash(password),
             status="ACTIVE",
-            role="ORDINARY_USER"
+            role="ORDINARY_USER",
+            name=f"用户{random_suffix}",
+            english_name=mapped_key
         )
         db.add(user)
         db.commit()

+ 5 - 0
backend/app/api/v1/endpoints/users.py

@@ -127,6 +127,11 @@ def create_user(
     if user_in.password:
         user_in.password = user_in.password.strip()
 
+    # Generate default name if missing
+    if not user_in.name:
+        random_suffix = security.generate_alphanumeric_password(6)
+        user_in.name = f"用户{random_suffix}"
+
     # Ensure unique name
     if user_in.name:
         original_name = user_in.name

+ 5 - 1
backend/app/services/mapping_service.py

@@ -183,11 +183,15 @@ class MappingService:
                     if row.status == MappingRowStatus.AUTO_CREATE_USER:
                         # Create User
                         pwd = security.generate_alphanumeric_password(8)
+                        # Generate random suffix for name
+                        random_suffix = security.generate_alphanumeric_password(6)
                         new_user = User(
                             mobile=row.mobile,
                             password_hash=security.get_password_hash(pwd),
                             status=UserStatus.ACTIVE,
-                            role=UserRole.ORDINARY_USER
+                            role=UserRole.ORDINARY_USER,
+                            name=f"用户{random_suffix}",
+                            english_name=row.mapped_key
                         )
                         db.add(new_user)
                         db.flush() # flush to get ID