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