Files
nonye/back/blueprints/shi2.py

52 lines
1.6 KiB
Python
Raw Normal View History

2025-07-17 23:13:04 +08:00
from flask import Blueprint, request, jsonify
import sqlite3
from collections import defaultdict
import traceback
bp = Blueprint('shi2', __name__)
def get_db_connection():
conn = sqlite3.connect('agriculture.db')
conn.row_factory = sqlite3.Row
return conn
@bp.route('/device-moisture', methods=['GET'])
def get_device_moisture_data():
# 固定查询2025-05-27的数据
query_date = '2025-05-27'
start_time = '00:00:00'
end_time = '23:59:59'
conn = get_db_connection()
try:
cur = conn.cursor()
# 修正表名和字段名使用temperature_data表中的实际字段
cur.execute('''
SELECT device_id, humidity as moisture, timestamp
FROM temperature_data
WHERE DATE(timestamp) = ?
AND TIME(timestamp) BETWEEN ? AND ?
ORDER BY device_id, timestamp
''', (query_date, start_time, end_time))
rows = cur.fetchall()
# 按设备ID分组湿度数据修正字段引用为humidity
device_data = defaultdict(list)
for row in rows:
device_id = row['device_id']
moisture = float(row['moisture']) # 这里使用别名moisture
device_data[device_id].append(moisture)
if not device_data:
return jsonify({}), 200
return jsonify(device_data)
except Exception as e:
print(f"数据库查询错误: {str(e)}")
traceback.print_exc()
return jsonify({'error': '数据库查询失败,请检查日志'}), 500
finally:
conn.close()