home0923
This commit is contained in:
@@ -83,7 +83,9 @@ def query():
|
||||
phone = request.form.get('phone', '').strip()
|
||||
|
||||
if not plate_number and not phone:
|
||||
return render_template('query.html', error='请至少输入车牌号或手机号', recent_queries=formatted_recent_queries)
|
||||
# 存储错误信息到session
|
||||
session['error_message'] = '请至少输入车牌号或手机号'
|
||||
return redirect(url_for('query'))
|
||||
|
||||
conn = get_db_connection()
|
||||
cursor = conn.cursor()
|
||||
@@ -156,40 +158,57 @@ def query():
|
||||
'results_count': len(car_owners)
|
||||
}
|
||||
|
||||
# 使用辅助函数获取更新后的最近查询历史
|
||||
formatted_recent_queries = get_recent_queries()
|
||||
# 将查询结果和历史信息存储到session中
|
||||
session['query_results'] = {
|
||||
'car_owners': car_owners,
|
||||
'query_history': query_history
|
||||
}
|
||||
|
||||
return render_template('query.html', query_history=query_history, car_owners=car_owners, recent_queries=formatted_recent_queries)
|
||||
# 重定向到GET请求,避免刷新页面时的重复提交提示
|
||||
return redirect(url_for('query'))
|
||||
|
||||
return render_template('query.html', recent_queries=formatted_recent_queries)
|
||||
# GET请求时,从session中获取查询结果(如果有)
|
||||
query_results = session.pop('query_results', None)
|
||||
error_message = session.pop('error_message', None)
|
||||
|
||||
# 重新获取最近查询历史,确保数据是最新的
|
||||
formatted_recent_queries = get_recent_queries()
|
||||
|
||||
if query_results:
|
||||
return render_template('query.html',
|
||||
query_history=query_results['query_history'],
|
||||
car_owners=query_results['car_owners'],
|
||||
recent_queries=formatted_recent_queries,
|
||||
error=error_message)
|
||||
|
||||
return render_template('query.html', recent_queries=formatted_recent_queries, error=error_message)
|
||||
|
||||
# 获取查询历史详情的路由
|
||||
@app.route('/query_history_detail/<int:history_id>')
|
||||
def query_history_detail(history_id):
|
||||
"""
|
||||
根据查询历史ID获取对应的车辆所有者信息
|
||||
|
||||
Args:
|
||||
history_id: 查询历史记录的ID
|
||||
|
||||
Returns:
|
||||
JSON: 包含车辆所有者信息的JSON响应
|
||||
"""
|
||||
# 检查用户是否已登录
|
||||
if 'username' not in session:
|
||||
return jsonify({'error': '未登录'}), 401
|
||||
|
||||
# 验证history_id是否为正整数
|
||||
if not isinstance(history_id, int) or history_id <= 0:
|
||||
return jsonify({'error': '无效的查询历史ID'}), 400
|
||||
|
||||
conn = get_db_connection()
|
||||
cursor = conn.cursor()
|
||||
|
||||
try:
|
||||
# 获取查询历史记录
|
||||
cursor.execute("SELECT plate_number, phone FROM query_history WHERE id = ?", (history_id,))
|
||||
history = cursor.fetchone()
|
||||
|
||||
if not history:
|
||||
return jsonify({'error': '查询历史不存在'}), 404
|
||||
|
||||
plate_number, phone = history
|
||||
|
||||
# 根据车牌号和手机号查询车辆信息
|
||||
if plate_number and phone:
|
||||
cursor.execute("SELECT * FROM car_owners WHERE plate_number = ? AND phone = ?", (plate_number, phone))
|
||||
elif plate_number:
|
||||
cursor.execute("SELECT * FROM car_owners WHERE plate_number = ?", (plate_number,))
|
||||
else:
|
||||
cursor.execute("SELECT * FROM car_owners WHERE phone = ?", (phone,))
|
||||
|
||||
# 直接根据query_history_id从car_owners表查询对应记录
|
||||
cursor.execute("SELECT * FROM car_owners WHERE query_history_id = ?", (history_id,))
|
||||
results = cursor.fetchall()
|
||||
|
||||
# 格式化结果
|
||||
@@ -201,8 +220,8 @@ def query_history_detail(history_id):
|
||||
'phone': result[2],
|
||||
'id_card': result[3],
|
||||
'name': result[4],
|
||||
'email': result[5],
|
||||
'address': result[6]
|
||||
'email': result[5] if result[5] else '',
|
||||
'address': result[6] if result[6] else ''
|
||||
})
|
||||
|
||||
return jsonify({'car_owners': car_owners})
|
||||
|
||||
Reference in New Issue
Block a user