package com.tmerclub.cloud.payment.allinpay.constant;

/**
 * @author lanhai
 */
public enum AllinpayPlatformAccountSet {

    /**
     * 标准余额账户集
     * 用于平台管理自有资金，一般为经营收入、手续费收入
     * 支持接口充值，接口提现，平台转账
     */
    STANDARD_BALANCE(100001),
    /**
     * 标准保证金账户集
     * 用于平台向平台用户收取、计提保证金
     * 支持接口充值，平台转账
     * 不支持接口提现
     */
    GUARANTEE(100002),

    /**
     * 准备金额度账户集
     * 用于云商通向平台收取交易手续费、保证金等费用。
     * 注：平台预充值给云商通。
     * 支持接口充值
     */
    RESERVES(100003),
    /**
     * 中间账户集A
     * 用于正向交易资金的中间账户
     * 不支持接口充值，接口提现，平台转账
     */
    INTERMEDIATE_A(100004),

    /**
     * 中间账户集B
     * 用于逆向交易资金的中间账户
     * 不支持接口充值，接口提现，平台转账
     */
    INTERMEDIATE_B(100005),
    /**
     * 标准营销账户集
     * 用于平台管理营销活动相关的资金
     * 支持接口充值，接口提现，平台转账
     */
    MARKETING(2000000);

    private final Integer num;

    public Integer value() {
        return num;
    }

    AllinpayPlatformAccountSet(Integer num) {
        this.num = num;
    }

    public static AllinpayPlatformAccountSet instance(Integer value) {
        AllinpayPlatformAccountSet[] enums = values();
        for (AllinpayPlatformAccountSet allinpayPlatformAccountSet : enums) {
            if (allinpayPlatformAccountSet.value().equals(value)) {
                return allinpayPlatformAccountSet;
            }
        }
        return null;
    }
}
