mirror of
https://git.oceanpay.cc/danial/kami_ctrip.git
synced 2025-12-19 00:06:01 +00:00
fix(ctrip): 优化异常处理和日志记录
- 改进 get_status_code 和 check_bind_status 方法中的错误处理 - 使用 get 方法替代直接索引访问,提高代码健壮性 - 在 check_card 方法中添加更多日志记录,便于调试
This commit is contained in:
41
ctrip.py
41
ctrip.py
@@ -892,56 +892,56 @@ class CtripLogin(object):
|
||||
|
||||
def get_status_code(self, res):
|
||||
try:
|
||||
result_code = res["ResultInfo"]["ResultCode"]
|
||||
result_code = res.get("ResultInfo", {}).get("ResultCode")
|
||||
# 卡号不存在或卡密错误
|
||||
if result_code == 1005:
|
||||
self.remarks = "卡号不存在或卡密错误"
|
||||
self.remarks += "卡号不存在或卡密错误" + ":" + str(result_code)
|
||||
return 105
|
||||
# 您已连续输错5次,请30分钟后再试
|
||||
if result_code == 10004:
|
||||
self.remarks = "您已连续输错5次,请30分钟后再试"
|
||||
self.remarks += "您已连续输错5次,请30分钟后再试" + ":" + str(result_code)
|
||||
return 115
|
||||
# 无法获取到有效的用户号!
|
||||
if result_code == 1003:
|
||||
self.remarks = "无法获取到有效的用户号!"
|
||||
self.remarks += "无法获取到有效的用户号!" + ":" + str(result_code)
|
||||
return 113
|
||||
# 卡号[cardCode]只能输入12位数字
|
||||
if result_code == 1002:
|
||||
self.remarks = "卡号[cardCode]只能输入12位数字!"
|
||||
self.remarks += "卡号[cardCode]只能输入12位数字!" + ":" + str(result_code)
|
||||
return 105
|
||||
# 滑块验证失败
|
||||
if result_code == -10001:
|
||||
self.remarks = "滑块验证失败"
|
||||
self.remarks += "滑块验证失败" + ":" + str(result_code)
|
||||
return 115
|
||||
|
||||
card_status_code = res["RechargeCardList"][0]["CardStatusCode"]
|
||||
card_status_code = res.get("RechargeCardList", [])[0].get("CardStatusCode")
|
||||
face_value = self.format_number(res["RechargeCardList"][0]["FaceValue"])
|
||||
money = self.format_number(self.price)
|
||||
# 未激活
|
||||
if card_status_code == 1001:
|
||||
self.remarks = "未激活"
|
||||
self.remarks += "未激活" + ":" + str(result_code)
|
||||
return 104
|
||||
# 已领用
|
||||
if card_status_code == 4001:
|
||||
self.remarks = "已领用"
|
||||
self.remarks += "已领用" + ":" + str(result_code)
|
||||
return 104
|
||||
# 已作废
|
||||
if card_status_code == 6001:
|
||||
return 104
|
||||
# 实际充值和卡面值不一致
|
||||
# TODO: 实际充值和卡面值不一致
|
||||
if face_value != money:
|
||||
self.remarks = "实际充值和卡面值不一致"
|
||||
self.remarks += "实际充值和卡面值不一致" + ":" + str(result_code)
|
||||
return 114
|
||||
# 已冻结
|
||||
if card_status_code == 7001:
|
||||
self.remarks = "已冻结"
|
||||
self.remarks += "已冻结" + ":" + str(result_code)
|
||||
return 104
|
||||
# 激活未领用
|
||||
if card_status_code == 2001:
|
||||
self.remarks = "激活未领用"
|
||||
self.remarks += "激活未领用" + ":" + str(result_code)
|
||||
return 2001
|
||||
|
||||
self.remarks = "check_card_status未知状态码"
|
||||
self.remarks = "check_card_status未知状态码" + ":" + str(result_code)
|
||||
return 111
|
||||
except Exception as e:
|
||||
self.remarks = "check_card_status异常未知状态码"
|
||||
@@ -1048,24 +1048,24 @@ class CtripLogin(object):
|
||||
|
||||
def check_bind_status(self, res):
|
||||
try:
|
||||
result_code = res["ResultInfo"]["ResultCode"]
|
||||
result_code = res.get("ResultInfo", {}).get("ResultCode")
|
||||
# 券号密码已经被领用
|
||||
if result_code == 1:
|
||||
self.remarks = "券号密码已经被领用"
|
||||
self.remarks = "券号密码已经被领用:" + str(res)
|
||||
return 104
|
||||
# 绑卡成功
|
||||
elif result_code == 0:
|
||||
self.remarks = "绑卡成功"
|
||||
self.remarks = "绑卡成功:" + str(res)
|
||||
return 100
|
||||
# 出现滑块
|
||||
elif result_code == -10001:
|
||||
self.remarks = "请求绑卡返回滑块验证失败"
|
||||
self.remarks = "请求绑卡返回滑块验证失败:" + str(res)
|
||||
return 111
|
||||
else:
|
||||
self.remarks = "绑卡check_bind_status未知状态码"
|
||||
self.remarks = "绑卡check_bind_status未知状态码:" + str(res)
|
||||
return 111
|
||||
except Exception as e:
|
||||
self.remarks = "绑卡check_bind_status异常未知状态码"
|
||||
self.remarks = "绑卡check_bind_status异常未知状态码:" + str(res)
|
||||
return 111
|
||||
|
||||
def check_card(self):
|
||||
@@ -1076,6 +1076,7 @@ class CtripLogin(object):
|
||||
return 110
|
||||
card_info_res = self.get_card_info()
|
||||
code = self.get_status_code(card_info_res)
|
||||
self.remarks += str(card_info_res)
|
||||
return self.create_response(status_code=code)
|
||||
except:
|
||||
self.remarks = "check_card方法异常未知"
|
||||
|
||||
Reference in New Issue
Block a user