import requests
import mysql.connector
from datetime import datetime, timedelta
import schedule
import time
import json
import gzip
import pytz
from SmartVoyage.config import Config

conf = Config()

# MySQL 配置
db_config = {
    "host": conf.host,
    "user": conf.user,
    "password": conf.password,
    "database": conf.database,
    "charset": "utf8mb4"
}

def connect_db():
    """建立并返回MySQL数据库连接"""
    return mysql.connector.connect(**db_config)


def get_latest_update_time(cursor, city):
    """
    获取指定城市在数据库中最新的更新时间

    Args:
        cursor: 数据库游标对象
        city (str): 城市名称

    Returns:
        datetime: 最新的更新时间，如果没有记录则返回None
    """
    # 执行SQL查询，获取指定城市的最新更新时间
    cursor.execute("SELECT MAX(update_time) FROM weather_data WHERE city = %s", (city,))
    result = cursor.fetchone()  # 获取查询结果
    print("==================查询结果=================")
    print( result)
    return result[0] if result[0] else None  # 返回更新时间或None


# 验证代码
if __name__ == "__main__":
    # 建立数据库连接
    conn = connect_db()
    cursor = conn.cursor()

    # 获取北京城市的最新更新的时间日期
    print(get_latest_update_time(cursor, '北京'))

    # 关闭数据库连接
    cursor.close()
    conn.close()