
package com.tmerclub.cloud.common.leaf.constant;

/**
 * 全局的分布式id键
 * 多个模块共用的
 * 不要直接使用这里面的常量，可以通过赋值给DistributedIdKey中的常量
 *
 * @author tmerclub
 * @date 2021/4/9
 */
public enum DistributedIdSysType {

    /**
     * 团购服务
     */
    tmerclub_GROUP(1, "tmerclub-group"),

    /**
     * 秒杀服务
     */
    tmerclub_SECKILL(2, "tmerclub-seckill"),
    /**
     * 商品服务
     */
    tmerclub_PRODUCT(3, "tmerclub-product"),
    /**
     * 订单服务
     */
    tmerclub_ORDER(4, "tmerclub-order"),
    /**
     * admin服务
     */
    tmerclub_ADMIN(5, "tmerclub-admin"),

    /**
     * payment服务
     */
    tmerclub_PAYMENT(6, "tmerclub-payment");

    private final Integer id;
    private final String sysName;


    public String value() {
        return sysName;
    }

    DistributedIdSysType(Integer id, String key) {
        this.id = id;
        this.sysName = key;
    }

    public static Integer getId(String value) {
        DistributedIdSysType[] enums = values();
        for (DistributedIdSysType globalDistributedIdKey : enums) {
            if (globalDistributedIdKey.sysName.equals(value)) {
                return globalDistributedIdKey.id;
            }
        }
        return null;
    }

}
