# -*- coding: utf-8 -*- # !/usr/bin/env python from apilib.constants import _Constant from apilib.systypes import IterConstant from apps.web.utils import concat_server_end_url from apps.web.constant import USER_RECHARGE_TYPE AgentConst = _Constant() class AGENT_INCOME_SOURCE(IterConstant): """ 代理商收益来源分类 展示在前端的字段 """ AD = 'ad' DEALER_WITHDRAW_FEE = 'dealer_withdraw_fee' DEALER_CARD_FEE = 'dealer_card_fee' DEALER_API_QUOTA = 'dealer_api_quota' DEALER_DISABLE_AD = 'dealer_disable_ad' DEALER_DEVICE_FEE = 'dealer_device_fee' INSURANCE = 'insurance' REFUND_CASH = 'refundCash' REVOKE_REFUND_CASH = 'revokeRefundCash' REDPACK = 'redpack' # 代理商的收益来源的翻译(前台展示使用字段的名称) # 暂时可能没用上 代理商的前端翻译好像是固定写死的 先保持和经销商的结构统一 便于理解 AGENT_INCOME_SOURCE_TRANSLATION = \ { AGENT_INCOME_SOURCE.AD: u'广告收益', AGENT_INCOME_SOURCE.DEALER_WITHDRAW_FEE: u'提现收益', AGENT_INCOME_SOURCE.DEALER_CARD_FEE: u"流量收益", AGENT_INCOME_SOURCE.DEALER_DEVICE_FEE: u"设备收益", AGENT_INCOME_SOURCE.INSURANCE: u'保险收益', AGENT_INCOME_SOURCE.REDPACK: u'第三方红包', AGENT_INCOME_SOURCE.DEALER_DISABLE_AD: u'纯净计划', AGENT_INCOME_SOURCE.REFUND_CASH: u'现金退款' } # TYPE和数据库字段一致 class AGENT_INCOME_TYPE(IterConstant): AD = 'ad' DEALER_DEVICE_FEE = 'device' INSURANCE = "insurance" # 代理商比经销商要多的两种收益方式 提现收益(资金池)流量卡收益 DEALER_WITHDRAW_FEE = 'withdraw' DEALER_CARD_FEE = 'traffic' DEALER_API_QUOTA = 'apiQuate' DEALER_DISABLE_AD = 'disableAd' # 代理商的统计维度和经销商不通 对于用户的订单来说 代理商统统算入设备收益大类 AgentConst.MAP_USER_SOURCE_TO_DEALER_SOURCE = { USER_RECHARGE_TYPE.RECHARGE: AGENT_INCOME_SOURCE.DEALER_DEVICE_FEE, USER_RECHARGE_TYPE.RECHARGE_CARD: AGENT_INCOME_SOURCE.DEALER_DEVICE_FEE, USER_RECHARGE_TYPE.RECHARGE_VIRTUAL_CARD: AGENT_INCOME_SOURCE.DEALER_DEVICE_FEE, USER_RECHARGE_TYPE.RECHARGE_CASH: AGENT_INCOME_SOURCE.DEALER_DEVICE_FEE, USER_RECHARGE_TYPE.RECHARGE_MONTHLY_PACKAGE: AGENT_INCOME_SOURCE.DEALER_DEVICE_FEE, USER_RECHARGE_TYPE.RECHARGE_REDPACK: AGENT_INCOME_SOURCE.REDPACK, USER_RECHARGE_TYPE.RECHARGE_INSURANCE: AGENT_INCOME_SOURCE.INSURANCE, USER_RECHARGE_TYPE.REFUND_CASH: AGENT_INCOME_SOURCE.REFUND_CASH, USER_RECHARGE_TYPE.REVOKE_REFUND_CASH: AGENT_INCOME_SOURCE.REVOKE_REFUND_CASH } AgentConst.MAP_SOURCE_TO_TYPE = { AGENT_INCOME_SOURCE.AD: AGENT_INCOME_TYPE.AD, AGENT_INCOME_SOURCE.REDPACK: AGENT_INCOME_TYPE.AD, AGENT_INCOME_SOURCE.DEALER_WITHDRAW_FEE: AGENT_INCOME_TYPE.DEALER_WITHDRAW_FEE, AGENT_INCOME_SOURCE.DEALER_CARD_FEE: AGENT_INCOME_TYPE.DEALER_CARD_FEE, AGENT_INCOME_SOURCE.DEALER_API_QUOTA: AGENT_INCOME_TYPE.DEALER_API_QUOTA, AGENT_INCOME_SOURCE.DEALER_DEVICE_FEE: AGENT_INCOME_TYPE.DEALER_DEVICE_FEE, AGENT_INCOME_SOURCE.INSURANCE: AGENT_INCOME_TYPE.INSURANCE, AGENT_INCOME_SOURCE.REFUND_CASH: AGENT_INCOME_TYPE.DEALER_DEVICE_FEE, AGENT_INCOME_SOURCE.REVOKE_REFUND_CASH: AGENT_INCOME_TYPE.DEALER_DEVICE_FEE, AGENT_INCOME_SOURCE.DEALER_DISABLE_AD: AGENT_INCOME_TYPE.DEALER_DISABLE_AD, } AgentConst.MAP_TYPE_TO_FIELD = { AGENT_INCOME_TYPE.AD: 'adBalance', AGENT_INCOME_TYPE.DEALER_DEVICE_FEE: 'deviceBalance', AGENT_INCOME_TYPE.DEALER_WITHDRAW_FEE: 'withdrawBalance', AGENT_INCOME_TYPE.DEALER_CARD_FEE: 'trafficBalance', AGENT_INCOME_TYPE.DEALER_API_QUOTA: 'apiQuotaBalance', AGENT_INCOME_TYPE.DEALER_DISABLE_AD: 'disableAdBalance' } AGENT_BIND_WECHAT_URL = concat_server_end_url(uri='/agent/wechat/bind')