package com.fzm.mall.server.admin.mq.enums;

import com.fzm.mall.server.admin.constant.MALLGlobalConfig;

/**
 * @author wangp
 * @date 2021/4/28 12:24
 * @description 延迟消息队列类型
 * @since JDK 1.8
 */
public enum QueueTTLTypeEnum {
    // 发行货币
    ISSUE_COINS_TTL(MALLGlobalConfig.PROJECT_PREFIX + "-issue-coins-ttl-exchange", MALLGlobalConfig.PROJECT_PREFIX + ".issue.coins.ttl.queue", MALLGlobalConfig.PROJECT_PREFIX + ".issue.coins.ttl.key"),
    // 增减货币
    CHANGE_COINS_TTL(MALLGlobalConfig.PROJECT_PREFIX + "-change-coins-ttl-exchange", MALLGlobalConfig.PROJECT_PREFIX + ".change.coins.ttl.queue", MALLGlobalConfig.PROJECT_PREFIX + ".change.coins.ttl.key"),
    // 提货订单
    ORDER_DELIVERY_TTL(MALLGlobalConfig.PROJECT_PREFIX + "-order-delivery-ttl-exchange", MALLGlobalConfig.PROJECT_PREFIX + ".order.delivery.ttl.queue", MALLGlobalConfig.PROJECT_PREFIX + ".order.delivery.ttl.key"),
    // 发行商户积分
    ISSUE_MERCHANT_INTEGRAL_TTL(MALLGlobalConfig.PROJECT_PREFIX + "-issue-merchant-integral-ttl-exchange", MALLGlobalConfig.PROJECT_PREFIX + ".issue.merchant.integral.ttl.queue", MALLGlobalConfig.PROJECT_PREFIX + ".issue.merchant.integral.ttl.key"),
    // 商户积分转账
    MERCHANT_INTEGRAL_TRAN_TTL(MALLGlobalConfig.PROJECT_PREFIX + "-merchant-integral-tran-ttl-exchange", MALLGlobalConfig.PROJECT_PREFIX + ".merchant.integral.tran.ttl.queue", MALLGlobalConfig.PROJECT_PREFIX + ".merchant.integral.tran.ttl.key"),
    // 短信模板
    QUERY_SMS_TEMPLATE_CHECK_TTL(MALLGlobalConfig.PROJECT_PREFIX + "-query-sms-template-check-ttl-exchange", MALLGlobalConfig.PROJECT_PREFIX + ".query.sms.template.check.ttl.queue", MALLGlobalConfig.PROJECT_PREFIX + ".query.sms.template.check.ttl.key"),
    // 定时短信
    SEND_TIMING_SMS_TTL(MALLGlobalConfig.PROJECT_PREFIX + "-send-timing-sms-ttlexchange", MALLGlobalConfig.PROJECT_PREFIX + ".send.timing.sms.ttl.queue", MALLGlobalConfig.PROJECT_PREFIX + ".send.timing.sms.ttl.key"),
    // 订单退款，提货单退货，货币返还
    ORDER_REFUND_COINS_TTL(MALLGlobalConfig.PROJECT_PREFIX + "-order-refund-coins-ttl-exchange", MALLGlobalConfig.PROJECT_PREFIX + ".order.refund.conins.ttl.queue", MALLGlobalConfig.PROJECT_PREFIX + ".order.refund.conins.ttl.key"),
    // 平台积分转账
    PLATFORM_INTEGRAL_TRAN_TTL(MALLGlobalConfig.PROJECT_PREFIX + "-platform-integral-tran-ttl-exchange", MALLGlobalConfig.PROJECT_PREFIX + ".platform.integral.tran.ttl.queue", MALLGlobalConfig.PROJECT_PREFIX + ".platform.integral.tran.ttl.key"),
    // 平台积分增发
    PLATFORM_INTEGRAL_ADD_TTL(MALLGlobalConfig.PROJECT_PREFIX + "-platform-integral-add-ttl-exchange", MALLGlobalConfig.PROJECT_PREFIX + ".platform.integral.add.ttl.queue", MALLGlobalConfig.PROJECT_PREFIX + ".platform.integral.add.ttl.key"),
    // 平台积分回收
    PLATFORM_INTEGRAL_RECOVER_TTL(MALLGlobalConfig.PROJECT_PREFIX + "-platform-integral-recover-ttl-exchange", MALLGlobalConfig.PROJECT_PREFIX + ".platform.integral.recover.ttl.queue", MALLGlobalConfig.PROJECT_PREFIX + ".platform.integral.recover.ttl.key"),
    // 用户资产充值、扣除
    USER_ASSETS_RECHARGE_OR_DEDUCTION_TTL(MALLGlobalConfig.PROJECT_PREFIX + "-user-assets-recharge-or-deduction-ttl-exchange", MALLGlobalConfig.PROJECT_PREFIX + ".user.assets.recharge.or.deduction.ttl.queue", MALLGlobalConfig.PROJECT_PREFIX + ".user.assets.recharge.or.deduction.ttl.key"),
    // 发行nft
    NFT_ISSUE_TTL(MALLGlobalConfig.PROJECT_PREFIX + "-issue-nft-ttl-exchange", MALLGlobalConfig.PROJECT_PREFIX + ".issue.nft.ttl.queue", MALLGlobalConfig.PROJECT_PREFIX + ".issue.nft.ttl.key"),
    // 批量发行使用权
    NFT_USU_TTL(MALLGlobalConfig.PROJECT_PREFIX + "-usu-nft-ttl-exchange", MALLGlobalConfig.PROJECT_PREFIX + ".usu.nft.ttl.queue", MALLGlobalConfig.PROJECT_PREFIX + ".usu.nft.ttl.key");

    private String exchange;

    private String queue;

    private String queueKey;

    QueueTTLTypeEnum(String exchange, String queue, String queueKey) {
        this.exchange = exchange;
        this.queue = queue;
        this.queueKey = queueKey;
    }

    public String getExchange() {
        return exchange;
    }

    public String getQueue() {
        return queue;
    }

    public String getQueueKey() {
        return queueKey;
    }
}
