优化避免无座检测逻辑

This commit is contained in:
Jalin
2019-01-25 20:52:30 +08:00
parent 68445e1913
commit 696f888ad1
2 changed files with 7 additions and 2 deletions

View File

@@ -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)

View File

@@ -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()