89 lines
2.8 KiB
Python
89 lines
2.8 KiB
Python
|
|
"""
|
||
|
|
创建测试用户脚本
|
||
|
|
"""
|
||
|
|
import sys
|
||
|
|
import os
|
||
|
|
|
||
|
|
# 添加项目根目录到 Python 路径
|
||
|
|
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
||
|
|
|
||
|
|
from app.core.database import SessionLocal
|
||
|
|
from app.models.user import User, UserRole, UserStatus
|
||
|
|
from app.core.security import get_password_hash
|
||
|
|
|
||
|
|
|
||
|
|
def create_test_users():
|
||
|
|
"""创建测试用户"""
|
||
|
|
db = SessionLocal()
|
||
|
|
try:
|
||
|
|
# 创建管理员用户
|
||
|
|
admin_user = db.query(User).filter(User.username == "admin").first()
|
||
|
|
if not admin_user:
|
||
|
|
password = "admin123"
|
||
|
|
hashed_password = get_password_hash(password)
|
||
|
|
admin_user = User(
|
||
|
|
username="admin",
|
||
|
|
email="admin@example.com",
|
||
|
|
hashed_password=hashed_password,
|
||
|
|
role=UserRole.ADMIN,
|
||
|
|
nickname="系统管理员",
|
||
|
|
status=UserStatus.ACTIVE,
|
||
|
|
balance=1000000,
|
||
|
|
is_active=1,
|
||
|
|
)
|
||
|
|
db.add(admin_user)
|
||
|
|
print(f"Admin user created")
|
||
|
|
|
||
|
|
# 创建主播用户
|
||
|
|
streamer_user = db.query(User).filter(User.username == "streamer").first()
|
||
|
|
if not streamer_user:
|
||
|
|
password = "streamer123"
|
||
|
|
hashed_password = get_password_hash(password)
|
||
|
|
streamer_user = User(
|
||
|
|
username="streamer",
|
||
|
|
email="streamer@example.com",
|
||
|
|
hashed_password=hashed_password,
|
||
|
|
role=UserRole.STREAMER,
|
||
|
|
nickname="测试主播",
|
||
|
|
status=UserStatus.ACTIVE,
|
||
|
|
balance=500000,
|
||
|
|
is_active=1,
|
||
|
|
)
|
||
|
|
db.add(streamer_user)
|
||
|
|
print(f"Streamer user created")
|
||
|
|
|
||
|
|
# 创建普通用户
|
||
|
|
normal_user = db.query(User).filter(User.username == "user").first()
|
||
|
|
if not normal_user:
|
||
|
|
password = "user123"
|
||
|
|
hashed_password = get_password_hash(password)
|
||
|
|
normal_user = User(
|
||
|
|
username="user",
|
||
|
|
email="user@example.com",
|
||
|
|
hashed_password=hashed_password,
|
||
|
|
role=UserRole.USER,
|
||
|
|
nickname="测试用户",
|
||
|
|
status=UserStatus.ACTIVE,
|
||
|
|
balance=200000,
|
||
|
|
is_active=1,
|
||
|
|
)
|
||
|
|
db.add(normal_user)
|
||
|
|
print(f"Normal user created")
|
||
|
|
|
||
|
|
db.commit()
|
||
|
|
print(f"\nAll test users created successfully!")
|
||
|
|
print(f"\nLogin credentials:")
|
||
|
|
print(f"Admin: username=admin, password=admin123")
|
||
|
|
print(f"Streamer: username=streamer, password=streamer123")
|
||
|
|
print(f"User: username=user, password=user123")
|
||
|
|
|
||
|
|
except Exception as e:
|
||
|
|
db.rollback()
|
||
|
|
print(f"Error creating users: {e}")
|
||
|
|
finally:
|
||
|
|
db.close()
|
||
|
|
|
||
|
|
|
||
|
|
if __name__ == "__main__":
|
||
|
|
create_test_users()
|