工作便利贴--响应code枚举类设计

class RechargeErrorV2(object):
    code_0 = {'0': '成功'}
    code_1 = {'1': '服务发生异常'}
    code_2 = {'2': '电渠找不到对应的订单'}
    code_3 = {'3': 'x­auth格式错误'}
    code_4 = {'4': '签名校验失败'}
    code_5 = {'5': '请求参数校验失败'}
    code_6 = {'6': '合作商订单号在电渠已存在订单'}
    code_7 = {'7': '该渠道不可订购该产品'}
    code_8 = {'8': '充值渠道类型查询异常'}
    code_9 = {'9': '生成order_id失败'}
    code_10 = {'10': '参数有误,参数格式或值非法'}
    code_11 = {'11': '缺少必需参数'}
    code_12 = {'12': '订单创建失败'}
    code_13 = {'13': '查询号码归属地失败'}
    code_14 = {'14': '电渠下单失败'}
    code_16 = {'16': '未查询到折扣率信息'}
    code_17 = {'17': '号码格式或值有误'}
    code_18 = {'18': '鉴权失败'}
    code_19 = {'19': '归属地查询异常'}
    code_20 = {'20': '该省份已下架不可订购该产品'}
    code_99 = {'99': '电渠找不到对应的订单'}
    code_103 = {'103': '电渠找不到对应的订单'}
    code_102 = {'102': '超过峰值频率限制'}
    code_101 = {'101': '无效的用户'}

    def __init__(self, key):
        self.key = key

    @property
    def code(self):
        return getattr(self, self.key).keys()[0]

    @property
    def msg(self):
        return getattr(self, self.key).values()[0]

    def format_msg(self, *args):
        return getattr(self, self.key).values()[0] + "".join(args)


if __name__ == '__main__':
    ret_code = RechargeErrorV2('code_0').code
    ret_desc = RechargeErrorV2('code_0').msg
    # 自定义说明
    a = 1
    ret_desc_c = RechargeErrorV2('code_0').format_msg(',辅助说明%s' % a)
    print ret_desc_c
posted @   Alive_2020  阅读(222)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示