完成大作业服务端代码,新建管理端,管理端不可用
This commit is contained in:
47
Project/Service/func/order.py
Normal file
47
Project/Service/func/order.py
Normal file
@@ -0,0 +1,47 @@
|
||||
from flask import render_template, request, redirect, url_for, g
|
||||
from .config import db
|
||||
import pymysql
|
||||
|
||||
def order():
|
||||
order_id = request.args.get('order_id')
|
||||
if not g.user:
|
||||
return redirect(url_for("login"))
|
||||
|
||||
conn = pymysql.connect(**db)
|
||||
cursor = conn.cursor(pymysql.cursors.DictCursor)
|
||||
|
||||
# 查询订单信息和航班信息
|
||||
order_sql = """
|
||||
SELECT o.*, f.*, d.Name as Departure_airport_name, a.Name as Arrival_airport_name
|
||||
FROM Orders o
|
||||
JOIN Tickets t ON o.ID = t.OrderID
|
||||
JOIN Flights f ON t.FlightID = f.ID
|
||||
JOIN Airports d ON f.Departure_airport = d.ID
|
||||
JOIN Airports a ON f.Arrival_airport = a.ID
|
||||
WHERE o.ID = %s
|
||||
"""
|
||||
cursor.execute(order_sql, (order_id,))
|
||||
order_info = cursor.fetchone()
|
||||
|
||||
# 如果订单信息不存在,返回订单列表页面
|
||||
if not order_info:
|
||||
cursor.close()
|
||||
conn.close()
|
||||
return redirect(url_for("order_list"))
|
||||
|
||||
# 查询乘客信息和票据信息
|
||||
tickets_sql = """
|
||||
SELECT t.*, p.Name, p.Phone_number
|
||||
FROM Tickets t
|
||||
JOIN Passengers p ON t.PassengerID = p.ID
|
||||
WHERE t.OrderID = %s
|
||||
"""
|
||||
cursor.execute(tickets_sql, (order_id,))
|
||||
tickets = cursor.fetchall()
|
||||
|
||||
cursor.close()
|
||||
conn.close()
|
||||
|
||||
total_price = sum(ticket['Price'] for ticket in tickets)
|
||||
|
||||
return render_template('order.html', order=order_info, tickets=tickets, total_price=total_price, username=g.name)
|
||||
Reference in New Issue
Block a user