from app import create_app, db
from app.model.user_model import User
from app.utils.logger import Logger
from waitress import serve

app = create_app()

def create_admin_user():
    """创建管理员用户"""
    
    with app.app_context():
        Logger.info("开始检查管理员用户")
        
        # 检查是否已存在admin用户
        existing_admin = User.query.filter_by(username='admin').first()
        if existing_admin:
            Logger.info("管理员用户已存在", {
                'user_id': existing_admin.id,
                'username': existing_admin.username
            })
            return
        
        # 创建管理员用户
        Logger.info("创建管理员用户")
        admin_user = User(
            username='admin',
            email='admin@ygtx.com'
        )
        admin_user.set_password('HNYZ0821')
        
        db.session.add(admin_user)
        db.session.commit()
        
        Logger.info("管理员用户创建成功", {
            'user_id': admin_user.id,
            'username': admin_user.username,
            'email': admin_user.email
        })

if __name__ == '__main__':
    Logger.info("应用启动", {
        'host': '0.0.0.0',
        'port': 5000
    })
    
    # debug=True 会在代码修改后自动重启服务器，并提供调试器
    create_admin_user()
    
    Logger.info("开始启动Web服务器")
    # app.run(debug=True, port=5000)
    serve(app, host='0.0.0.0', port=5001)
