From 08ad7598db89d9ef067853c87c9ba43595bbccb8 Mon Sep 17 00:00:00 2001 From: Jalin Date: Fri, 25 Jan 2019 20:52:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=81=BF=E5=85=8D=E6=97=A0?= =?UTF-8?q?=E5=BA=A7=E6=A3=80=E6=B5=8B=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- py12306/log/order_log.py | 4 +++- py12306/order/order.py | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/py12306/log/order_log.py b/py12306/log/order_log.py index 0c3c79f..0b4d55d 100644 --- a/py12306/log/order_log.py +++ b/py12306/log/order_log.py @@ -17,6 +17,7 @@ class OrderLog(BaseLog): MESSAGE_CHECK_ORDER_INFO_SUCCESS = '检查订单成功' MESSAGE_GET_QUEUE_INFO_SUCCESS = '获取排队信息成功,目前排队人数 {}, 余票还剩余 {} 张' + MESSAGE_GET_QUEUE_INFO_NO_SEAT = '接口返回实际为无票,跳过本次排队' MESSAGE_GET_QUEUE_COUNT_SUCCESS = '排队成功,你当前排在第 {} 位, 余票还剩余 {} 张' MESSAGE_GET_QUEUE_LESS_TICKET = '排队失败,目前排队人数已经超过余票张数' MESSAGE_GET_QUEUE_COUNT_FAIL = '排队失败,错误原因 {}' @@ -62,4 +63,5 @@ class OrderLog(BaseLog): return cls.MESSAGE_ORDER_SUCCESS_NOTIFICATION_INFO.format(query.get_info_of_left_station(), query.get_info_of_arrive_station(), query.get_info_of_train_number(), - query.get_info_of_left_date(), query.current_seat_name) + query.get_info_of_left_date(), + query.current_seat_name) diff --git a/py12306/order/order.py b/py12306/order/order.py index 9e342d5..ff1da4a 100644 --- a/py12306/order/order.py +++ b/py12306/order/order.py @@ -246,9 +246,12 @@ class Order: ticket = result.get('data.ticket').split(',') # 余票列表 # 这里可以判断 是真实是 硬座还是无座,避免自动分配到无座 ticket_number = ticket[0] # 余票 - if ticket_number != '充足' or int(ticket_number) <= 0: + if ticket_number != '充足' and int(ticket_number) <= 0: if self.query_ins.current_seat == SeatType.NO_SEAT: # 允许无座 ticket_number = ticket[1] + if not int(ticket_number): # 跳过无座 + OrderLog.add_quick_log(OrderLog.MESSAGE_GET_QUEUE_INFO_NO_SEAT).flush() + return False if result.get('data.op_2') == 'true': OrderLog.add_quick_log(OrderLog.MESSAGE_GET_QUEUE_LESS_TICKET).flush()