package com.jeequan.jeepay.thirdparty.channel.kqpay.util;

import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;

@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class KqpayConst {

    public static final String DEV_APPLYMENTS_GATE_WAY = "https://sandbox.99bill.com:7445/umgw-boss/common/distribute.html";

    public static final String APPLYMENTS_GATE_WAY = "https://umgw.99bill.com/umgw-boss/common/distribute.html";

    /**
     * 测试交易网关地址
     */
    public static final String DEV_TRADE_GATE_WAY = "https://sandbox.99bill.com:7445/umgw/common/distribute.html";

    /**
     * 正式交易网关地址
     */
    public static final String TRADE_GATE_WAY = "https://umgw.99bill.com/umgw/common/distribute.html";

    public static final String SUCCESS = "0000";

    public static final String BIZ_SUCCESS = "UMGW00086";



    @AllArgsConstructor
    @Getter
    public enum ReqMethod {
        BS000("BS000", "图片上传"),
        BS001("BS001", "商户入网"),
        BS002("BS002", "商户入网或变更状态查询"),
        BS003("BS003", "签约状态查询"),
        BS004("BS004", "发起签约"),
        BS005("BS005", "商户变更"),
        BS008("BS008", "开户意愿与个人授权"),
        A5006("A5006", "异步通知"),

        A7001("A7001", "扫码支付"),
        A7002("A7002", "扫码轮询"),
        A7003("A7003", "扫码退货"),
        A7004("A7004", "扫码撤销"),
        A7005("A7005", "超时扫码撤销"),
        A7006("A7006", "订单详情查询"),
        A7007("A7007", "邀码"),
        A7009("A7009", "统一下单"),
        A9005("A9005", "收款结果异步通知"),
        A9011("A9011", "异步分账修改"),
        A9012("A9012", "异步分账确认"),
        A9013("A9013a,A9013b", "分账查询"),
        ;

        private final String messageType;

        private final String desc;
    }

    @AllArgsConstructor
    @Getter
    public enum Package {

        MICRO("PSS-OFFLINE-001-001", "小微入网套餐"),
        COMPANY("PSS-OFFLINE-001-003", "个体企业入网套餐"),
        COMPANY_AUTO_ACTIVATION("PSS-OFFLINE-001-004", "门店收银畅享版"),
        SETTLEMENT_EDIT("PSS-OFFLINE-004-001", "结算卡变更"),
        COMPANY_BASE_EDIT("PSS-OFFLINE-003-002", "企业商户基本信息变更套餐"),
        ACCOUNT_OPEN_LETTER("CRM-ONLINE-002-002", "平台合作商户结算及工商信息变更套餐"),
        ;

        private final String code;

        private final String desc;
    }
}
