import random
import json
import pymysql  # 必须导入
from datetime import datetime, timedelta

def generate_day_results():
    results = []
    # 设定起始时间：当天 09:00
    # 注意：如果是凌晨4点运行，datetime.now() 正好是当天
    start_time = datetime.now().replace(hour=9, minute=0, second=0, microsecond=0)
    # 设定结束时间：次日 02:00
    end_time = start_time + timedelta(hours=17) 
    
    current_time = start_time
    while current_time <= end_time:
        session_id = current_time.strftime("%Y%m%d%H%M")
        winner = random.choice(['A', 'B', 'C','D'])
        results.append({
            "session_id": session_id,
            "winner": winner,
            "open_time": current_time.strftime("%Y-%m-%d %H:%M:%S")
        })
        current_time += timedelta(minutes=1)
    
    return results

def save_to_db(results):
    try:
        # 修改为你的真实配置
        db = pymysql.connect(
            host="localhost",
            user="root", # 替换为你的数据库用户名
            password="31031992", # 替换为你的数据库密码
            database="dating_fans",   # 替换为你的数据库名
            charset='utf8mb4'
        )
        cursor = db.cursor()
        
        sql = "INSERT IGNORE INTO game_results (session_id, winner, open_time) VALUES (%s, %s, %s)"
        
        data_to_insert = [(r['session_id'], r['winner'], r['open_time']) for r in results]
        cursor.executemany(sql, data_to_insert)
        db.commit()
        # 打印给 Linux 日志看
        print(f"Successfully inserted {cursor.rowcount} rows into DB.")
    except Exception as e:
        if 'db' in locals(): db.rollback()
        print(f"DB Error: {e}")
    finally:
        if 'db' in locals(): db.close()

if __name__ == "__main__":
    # 1. 只生成一次数据，确保一致性
    all_data = generate_day_results()
    
    # 2. 存入数据库
    #save_to_db(all_data)
    
    # 3. 如果你还需要给 PHP 返回 JSON，就打印这个变量
    print(json.dumps(all_data))