baojia.py 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. # -*- coding: utf-8 -*-
  2. #!/usr/bin/env python
  3. """
  4. 宝家电子的文档说明和知识存档
  5. 做到对接文档代码化
  6. 尽量做到看该文件就可以知道大概的协议内容
  7. 而配置项可以写得更啰嗦一些,但是可以一次性了解命令码的内容和具体的数字
  8. """
  9. from apilib.systypes import StrEnum
  10. class CMD_CODE(StrEnum):
  11. """
  12. 格式: 命令说明_命令码
  13. """
  14. # 设备结束
  15. DEVICE_SUBMIT_CHARGE_FINISHED_16 = '16'
  16. # 设备上传机器故障码给服务器。
  17. DEVICE_SUBMIT_DEVICE_FAULT_0A = '0A'
  18. # 以下 17版本的新命令
  19. CARD_BALANCE_09 = "09"
  20. CARD_CONSUME_13 = "13"
  21. # 当用户线上卡刷卡有效, 选择端口并启动成功, 此时需要立即反馈模块本次启动结果及信息, 便于平台准确生产订单以及后续的退费。如果刷卡有效但是未选端口上费, 则无需上报此接口, 平台也不会创建对应的订单(即无需考虑退费)
  22. CARD_CONSUME_SURE_27 = "27"
  23. CARD_REMOTE_CHARGE_12 = "12"
  24. PORT_STATUS_21 = "21"
  25. class SWIPE_CARD_PARAM_OP(StrEnum):
  26. """
  27. 卡的操作
  28. 格式 描述_命令码
  29. """
  30. #: 减少 (扣费)
  31. DECR_00 = '00'
  32. #: 增加 (充值, 退费)
  33. INCR_01 = '01'
  34. class SWIPE_CARD_RES(StrEnum):
  35. """
  36. 回应卡的操作
  37. 格式 描述_命令码
  38. """
  39. SUCCESS_00 = '00'
  40. BALANCE_NOT_ENOUGH_01 = '01'
  41. INVALID_CARD_02 = '02'
  42. class CARD_STATUS(StrEnum):
  43. """
  44. 指令13 卡的状态回复
  45. """
  46. STATUS_CONSUME_SUCCESS = "01"
  47. STATUS_CONSUME_FAIL = "02"
  48. STATUS_NO_CARD = "03"
  49. STATUS_FROZEN_CARD = "04"
  50. STATUS_REFUND_SUCCESS = "05"
  51. STATUS_REFUND_FAIL = "06"
  52. class BILLING_TYPE(object):
  53. """
  54. 充电方式
  55. """
  56. TIME = "time"
  57. ELEC = "elec"
  58. class DEFAULT_PARAM(object):
  59. """
  60. 默认参数值
  61. """
  62. DEFAULT_BILLING_TYPE = BILLING_TYPE.TIME
  63. DEFAULT_ELEC_FEE = 1
  64. DEFAULT_REFUND_PROTECTION = 0
  65. DEFAULT_REFUND_PROTECTION_TIME = 5
  66. DEFAULT_LOW_POWER = 50
  67. DEFAULT_LOW_POWER_SWITCH = 0
  68. DEFAULT_LOW_POWER_TIME = 60