from app import create_app, db from models import User, Order, InviteReward import sys def reset_user(phone): app = create_app() with app.app_context(): user = User.query.filter_by(phone=phone).first() if not user: print(f"❌ 找不到用户: {phone}") return print(f"🔧 正在重置用户 {phone} (ID: {user.id})...") # 1. 删除该用户的订单 orders = Order.query.filter_by(user_id=user.id).all() order_count = len(orders) for order in orders: # 删除与该订单关联的邀请奖励(如果存在) InviteReward.query.filter_by(order_id=order.id).delete() db.session.delete(order) # 2. 重置用户积分(可选,方便测试) # user.points = 2 # 重置为默认赠送积分 # 3. 删除该用户作为邀请人获得的奖励记录 (如果需要彻底重置) # InviteReward.query.filter_by(inviter_id=user.id).delete() db.session.commit() print(f"✅ 已删除 {order_count} 条订单记录,用户重置完成。可以重新测试邀请奖励。") if __name__ == "__main__": if len(sys.argv) < 2: print("使用方法: python scripts/reset_user.py <手机号>") else: reset_user(sys.argv[1])