def search(): if not session.get('email'): return redirect('/cus/login') arrival_airport = request.form['arrival_airport'] departure_airport = request.form['departure_airport'] arrival_city = request.form['arrival_city'] departure_city = request.form['departure_city'] date = request.form['date'] que_0 = "SELECT flight.airline_name as airline_name, flight.arrival_time as arrival_time, flight.status as status, flight.flight_num as flight_num, flight.departure_time as departure_time, dept.airport_name as departure_airport, dept.airport_city as departure_city, \ arr.airport_name as arrival_airport, arr.airport_city as arrival_city, flight.airline_name as airline, flight.price as price, flight.airplane_id as airplane_id\ FROM (flight, airport as dept, airport as arr) WHERE flight.departure_airport=dept.airport_name and flight.arrival_airport=arr.airport_name AND flight.status = 'upcoming'" cur = db.cursor() if arrival_airport == '' and departure_airport == '' and arrival_city == '' and departure_city == '' and date == '': cur.execute(que_0, ()) data_default = cur.fetchall() return render_template('cus/flight.html', comments=data_default) if arrival_airport != '': que_0 += "AND flight.arrival_airport = '%s'" % (arrival_airport) if departure_airport != '': que_0 += "AND flight.departure_airport = '%s'" % (departure_airport) if arrival_city != '': que_0 += "AND arr.airport_city = '%s'" % (arrival_airport) if departure_city != '': que_0 += "AND dep.airport_city = '%s'" % (departure_airport) if date != '': que_0 += "AND DATE(flight.departure_time) = '%s'" % (date) cur.execute(que_0) data = cur.fetchall() db.commit() cur.close() return render_template('cus/flight.html', comments=data)
def buy(): id = session['id'] airline_name = session['airline_name'] flight_num = session['flight_num'] cus_email = session['cus_email'] query0 = 'SELECT * FROM customer WHERE email = %s' cur = db.cursor() cur.execute(query0, (cus_email, )) data0 = cur.fetchall() if not data0: error = 'customer not found' return render_template('ag/pre_buy.html', error=error) ticket_id = str(random.randint(100000, 1000000)) ticket_ins = "INSERT INTO ticket VALUE (%s , %s , %s)" cur.execute(ticket_ins, (ticket_id, flight_num, airline_name)) purchase_ins = "INSERT INTO purchases VALUE (%s, %s, %s , %s)" agent_id = id dt = datetime.datetime.now().strftime("%Y-%m-%d") cur.execute(purchase_ins, (ticket_id, cus_email, agent_id, dt)) db.commit() cur.close() session.pop('airline_name') session.pop('flight_num') ticket_data = { 'ticket_id': ticket_id, 'airline_name': airline_name, 'cus_email': cus_email, "purchase_date": dt } return render_template('ag/buy.html', comment=ticket_data)
def buy(airline_name): """ 买票视图函数定义 :param airline_name: :return: """ try: email = session.get('email') except: return redirect('/login') ticket_id = str(random.randint(100000, 1000000)) query = "SELECT flight_num FROM flight WHERE airline_name = %s" cur = db.cursor() cur.execute(query, (airline_name, )) data = cur.fetchone() if not data: return render_template('cus/buy.html', error='have a error.') flight_num = data['flight_num'] # 插入数据到ticket表 ticket_ins = "INSERT INTO ticket VALUE (%s , %s , %s)" cur.execute(ticket_ins, (ticket_id, airline_name, flight_num)) purchase_ins = "INSERT INTO purchases VALUE (%s, %s, %s , %s)" agent_id = None dt = datetime.datetime.now().strftime("%Y-%m-%d") cur.execute(purchase_ins, (ticket_id, email, agent_id, dt)) cur.close() db.commit() data = { 'ticket_id': ticket_id, 'airline_name': airline_name, "purchase_date": dt } return render_template("cus/buy.html", comment=data)
def register(): if request.method == 'GET': return render_template('ag/register.html') email = request.form['email'] password = request.form['password'] booking_agent_id = request.form['booking_agent_id'] cur = db.cursor() query = 'SELECT * FROM booking_agent WHERE email = %s' cur.execute(query, (email, )) data = cur.fetchone() raw = (password).encode('utf-8') crypt_password = hashlib.md5(raw).hexdigest() print(crypt_password) if data: error = 'the email is registered.' return render_template('ag/register.html', error=error) ins = 'INSERT INTO booking_agent VALUES(%s, %s, %s)' cur.execute(ins, (email, crypt_password, booking_agent_id)) db.commit() return render_template('index.html')
def register(): """ 注册视图, 如果请求为get,返回注册表单,如果为post方法,进行注册操作。 登录成功跳转首页。 :return: """ if request.method == 'GET': return render_template('cus/register.html') email = request.form['email'] name = request.form['name'] password = request.form['password'] building_number = request.form['building_number'] street = request.form['street'] city = request.form['city'] state = request.form['state'] phone_number = request.form['phone_number'] passport_number = request.form['passport_number'] passport_expiration = request.form['passport_expiration'] passport_country = request.form['passport_country'] date_of_birth = request.form['date_of_birth'] cur = db.cursor() query = 'SELECT * FROM customer WHERE email = %s' cur.execute(query, (email, )) data = cur.fetchall() raw = (password).encode('utf-8') crypt_password = hashlib.md5(raw).hexdigest() if data: error = 'the email is registered.' return render_template('cus/register.html', error=error) ins = 'INSERT INTO customer VALUES(%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)' cur.execute(ins, (email, name, crypt_password, building_number, street, city, state, phone_number, passport_number, passport_expiration, passport_country, date_of_birth)) db.commit() return render_template('index.html')