package cn.com.countrygarden.bi.main.util;

import cn.com.countrygarden.bi.main.util.entity.Snowflake;

/**
 * <pre>
 *  生成雪花Id
 * </pre>
 *
 *  e.g. :
 *  Long id = SnowflakeUtil.INSTANCE.getId();
 *
 * @author ferren  liao-r@neusoft.com
 * @version 1.00.00
 * <p>
 * <p>
 * <pre>
 * 修改记录
 *    修改后版本:     修改人：  修改日期:     修改内容:
 * </pre>
 */
public enum SnowflakeUtil {
    INSTANCE;
    private Snowflake instance;

    SnowflakeUtil() {
        instance = new Snowflake(1, 1);
    }

    public Snowflake getInstance() {
        return instance;
    }

    /**
     * 获取 long类型 id
     * @return
     */
    public Long getId(){
        return SnowflakeUtil.INSTANCE.getInstance().nextId();
    }
}