修复提交订单成功后不停止排队 #35
This commit is contained in:
@@ -47,6 +47,8 @@ class CommonLog(BaseLog):
|
|||||||
|
|
||||||
MESSAGE_GET_RESPONSE_FROM_FREE_AUTO_CODE = '从免费打码获取结果失败'
|
MESSAGE_GET_RESPONSE_FROM_FREE_AUTO_CODE = '从免费打码获取结果失败'
|
||||||
|
|
||||||
|
MESSAGE_RESPONSE_EMPTY_ERROR = '网络错误'
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.init_data()
|
self.init_data()
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ class OrderLog(BaseLog):
|
|||||||
MESSAGE_CHECK_ORDER_INFO_FAIL = '检查订单失败,错误原因 {} \n'
|
MESSAGE_CHECK_ORDER_INFO_FAIL = '检查订单失败,错误原因 {} \n'
|
||||||
MESSAGE_CHECK_ORDER_INFO_SUCCESS = '检查订单成功'
|
MESSAGE_CHECK_ORDER_INFO_SUCCESS = '检查订单成功'
|
||||||
|
|
||||||
|
MESSAGE_GET_QUEUE_INFO_SUCCESS = '获取排队信息成功,目前排队人数 {}, 余票还剩余 {} 张'
|
||||||
MESSAGE_GET_QUEUE_COUNT_SUCCESS = '排队成功,你当前排在第 {} 位, 余票还剩余 {} 张'
|
MESSAGE_GET_QUEUE_COUNT_SUCCESS = '排队成功,你当前排在第 {} 位, 余票还剩余 {} 张'
|
||||||
MESSAGE_GET_QUEUE_LESS_TICKET = '排队失败,目前排队人数已经超过余票张数'
|
MESSAGE_GET_QUEUE_LESS_TICKET = '排队失败,目前排队人数已经超过余票张数'
|
||||||
MESSAGE_GET_QUEUE_COUNT_FAIL = '排队失败,错误原因 {}'
|
MESSAGE_GET_QUEUE_COUNT_FAIL = '排队失败,错误原因 {}'
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ class UserLog(BaseLog):
|
|||||||
MESSAGE_USER_BEING_DESTROY = '用户 {} 已退出'
|
MESSAGE_USER_BEING_DESTROY = '用户 {} 已退出'
|
||||||
MESSAGE_USER_COOKIE_NOT_FOUND_FROM_REMOTE = '用户 {} 状态加载中...'
|
MESSAGE_USER_COOKIE_NOT_FOUND_FROM_REMOTE = '用户 {} 状态加载中...'
|
||||||
|
|
||||||
MESSAGE_WAIT_USER_INIT_COMPLETE = '账号正在初始化,{} 秒后自动重试'
|
MESSAGE_WAIT_USER_INIT_COMPLETE = '账号正在登录中,{} 秒后自动重试'
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
|
|||||||
@@ -83,8 +83,9 @@ class Order:
|
|||||||
Notification.send_email(Config().EMAIL_RECEIVER, OrderLog.MESSAGE_ORDER_SUCCESS_NOTIFICATION_TITLE,
|
Notification.send_email(Config().EMAIL_RECEIVER, OrderLog.MESSAGE_ORDER_SUCCESS_NOTIFICATION_TITLE,
|
||||||
OrderLog.MESSAGE_ORDER_SUCCESS_NOTIFICATION_OF_EMAIL_CONTENT.format(self.order_id))
|
OrderLog.MESSAGE_ORDER_SUCCESS_NOTIFICATION_OF_EMAIL_CONTENT.format(self.order_id))
|
||||||
if Config().DINGTALK_ENABLED: # 钉钉通知
|
if Config().DINGTALK_ENABLED: # 钉钉通知
|
||||||
Notification.dingtalk_webhook(OrderLog.MESSAGE_ORDER_SUCCESS_NOTIFICATION_OF_EMAIL_CONTENT.format(self.order_id))
|
Notification.dingtalk_webhook(
|
||||||
if Config().TELEGRAM_ENABLED: # Telegram推送
|
OrderLog.MESSAGE_ORDER_SUCCESS_NOTIFICATION_OF_EMAIL_CONTENT.format(self.order_id))
|
||||||
|
if Config().TELEGRAM_ENABLED: # Telegram推送
|
||||||
Notification.send_to_telegram(
|
Notification.send_to_telegram(
|
||||||
OrderLog.MESSAGE_ORDER_SUCCESS_NOTIFICATION_OF_EMAIL_CONTENT.format(self.order_id))
|
OrderLog.MESSAGE_ORDER_SUCCESS_NOTIFICATION_OF_EMAIL_CONTENT.format(self.order_id))
|
||||||
if Config().SERVERCHAN_ENABLED: # ServerChan通知
|
if Config().SERVERCHAN_ENABLED: # ServerChan通知
|
||||||
@@ -235,12 +236,12 @@ class Order:
|
|||||||
|
|
||||||
current_position = int(result.get('data.countT', 0))
|
current_position = int(result.get('data.countT', 0))
|
||||||
OrderLog.add_quick_log(
|
OrderLog.add_quick_log(
|
||||||
OrderLog.MESSAGE_GET_QUEUE_COUNT_SUCCESS.format(current_position, ticket_number)).flush()
|
OrderLog.MESSAGE_GET_QUEUE_INFO_SUCCESS.format(current_position, ticket_number)).flush()
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
# 加入小黑屋
|
# 加入小黑屋
|
||||||
OrderLog.add_quick_log(OrderLog.MESSAGE_GET_QUEUE_COUNT_FAIL.format(
|
OrderLog.add_quick_log(OrderLog.MESSAGE_GET_QUEUE_COUNT_FAIL.format(
|
||||||
result.get('messages', result.get('validateMessages', '-')))).flush()
|
result.get('messages', result.get('validateMessages', CommonLog.MESSAGE_RESPONSE_EMPTY_ERROR)))).flush()
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def confirm_single_for_queue(self):
|
def confirm_single_for_queue(self):
|
||||||
@@ -297,10 +298,11 @@ class Order:
|
|||||||
else:
|
else:
|
||||||
# 加入小黑屋 TODO
|
# 加入小黑屋 TODO
|
||||||
OrderLog.add_quick_log(
|
OrderLog.add_quick_log(
|
||||||
OrderLog.MESSAGE_CONFIRM_SINGLE_FOR_QUEUE_ERROR.format(result.get('data.errMsg', '-'))).flush()
|
OrderLog.MESSAGE_CONFIRM_SINGLE_FOR_QUEUE_ERROR.format(
|
||||||
|
result.get('data.errMsg', CommonLog.MESSAGE_RESPONSE_EMPTY_ERROR))).flush()
|
||||||
else:
|
else:
|
||||||
OrderLog.add_quick_log(OrderLog.MESSAGE_CONFIRM_SINGLE_FOR_QUEUE_FAIL.format(
|
OrderLog.add_quick_log(OrderLog.MESSAGE_CONFIRM_SINGLE_FOR_QUEUE_FAIL.format(
|
||||||
result.get('messages', '-'))).flush()
|
result.get('messages', CommonLog.MESSAGE_RESPONSE_EMPTY_ERROR))).flush()
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def query_order_wait_time(self):
|
def query_order_wait_time(self):
|
||||||
@@ -344,14 +346,31 @@ class Order:
|
|||||||
order_id = result_data.get('orderId')
|
order_id = result_data.get('orderId')
|
||||||
if order_id: # 成功
|
if order_id: # 成功
|
||||||
return order_id
|
return order_id
|
||||||
elif result_data.get('waitTime') != -100:
|
elif 'waitTime' in result_data:
|
||||||
OrderLog.add_quick_log(
|
# 计算等待时间
|
||||||
OrderLog.MESSAGE_QUERY_ORDER_WAIT_TIME_WAITING.format(result_data.get('waitCount', 0),
|
wait_time = int(result_data.get('waitTime'))
|
||||||
result_data.get('waitTime'))).flush()
|
if wait_time == -1 or wait_time == -100: # 成功
|
||||||
|
# /otn/confirmPassenger/resultOrderForDcQueue 请求订单状态 目前不需要
|
||||||
|
# 不应该走到这
|
||||||
|
return order_id
|
||||||
|
elif wait_time >= 0: # 等待
|
||||||
|
OrderLog.add_quick_log(
|
||||||
|
OrderLog.MESSAGE_QUERY_ORDER_WAIT_TIME_WAITING.format(result_data.get('waitCount', 0),
|
||||||
|
wait_time)).flush()
|
||||||
|
else:
|
||||||
|
if wait_time == -2 or wait_time == -3: # -2 失败 -3 订单已撤销
|
||||||
|
OrderLog.add_quick_log(
|
||||||
|
OrderLog.MESSAGE_QUERY_ORDER_WAIT_TIME_FAIL.format(result_data.get('msg'))).flush()
|
||||||
|
else: # 未知原因
|
||||||
|
OrderLog.add_quick_log(
|
||||||
|
OrderLog.MESSAGE_QUERY_ORDER_WAIT_TIME_FAIL.format(
|
||||||
|
result_data.get('msg', wait_time))).flush()
|
||||||
|
|
||||||
elif result_data.get('msg'): # 失败 对不起,由于您取消次数过多,今日将不能继续受理您的订票请求。1月8日您可继续使用订票功能。
|
elif result_data.get('msg'): # 失败 对不起,由于您取消次数过多,今日将不能继续受理您的订票请求。1月8日您可继续使用订票功能。
|
||||||
# TODO 需要增加判断 直接结束
|
# TODO 需要增加判断 直接结束
|
||||||
OrderLog.add_quick_log(
|
OrderLog.add_quick_log(
|
||||||
OrderLog.MESSAGE_QUERY_ORDER_WAIT_TIME_FAIL.format(result_data.get('msg', '-'))).flush()
|
OrderLog.MESSAGE_QUERY_ORDER_WAIT_TIME_FAIL.format(
|
||||||
|
result_data.get('msg', CommonLog.MESSAGE_RESPONSE_EMPTY_ERROR))).flush()
|
||||||
stay_second(self.retry_time)
|
stay_second(self.retry_time)
|
||||||
return False
|
return False
|
||||||
elif result.get('messages') or result.get('validateMessages'):
|
elif result.get('messages') or result.get('validateMessages'):
|
||||||
|
|||||||
@@ -45,10 +45,10 @@ class Web:
|
|||||||
|
|
||||||
def start(self):
|
def start(self):
|
||||||
if not Config().WEB_ENABLE or Config().is_slave(): return
|
if not Config().WEB_ENABLE or Config().is_slave(): return
|
||||||
if Config().IS_DEBUG:
|
# if Config().IS_DEBUG:
|
||||||
self.run_session()
|
# self.run_session()
|
||||||
else:
|
# else:
|
||||||
create_thread_and_run(self, 'run_session', wait=False)
|
create_thread_and_run(self, 'run_session', wait=False)
|
||||||
|
|
||||||
def run_session(self):
|
def run_session(self):
|
||||||
debug = False
|
debug = False
|
||||||
|
|||||||
Reference in New Issue
Block a user