from database.manager import DatabaseManager
from database.edm_models import PromoProduct

def fix_edm_status():
    db = DatabaseManager()
    session = db.get_session()
    try:
        print("🛠️ 正在修正 EDM 商品狀態...")
        # 將所有目前標記為 DELISTED 的舊資料改為 SLOT_END，讓它們從儀表板消失
        # 這樣下一次爬蟲會重新建立正確的狀態
        session.query(PromoProduct).filter(PromoProduct.status_change == 'DELISTED').update({PromoProduct.status_change: 'SLOT_END'})
        session.commit()
        print("✅ 修正完成！請重新執行一次 EDM 爬蟲任務以獲取最新狀態。")
    except Exception as e:
        print(f"❌ 錯誤: {e}")
    finally:
        session.close()

if __name__ == "__main__":
    fix_edm_status()
