package com.market.constant;

/**
 * 现货模块 Redis Key 统一管理
 * <p>
 * Key 命名空间：ExchangeNew2:
 *
 * @author system
 * @date 2026-05-07
 */
public final class SpotRedisKey {

    private SpotRedisKey() {}

    private static final String NS = "ExchangeNew2:";

    /** 长周期行情 Hash prefix，完整 key = LONG_TIME_TICKER_PREFIX + symbol，field=period */
    public static final String LONG_TIME_TICKER_PREFIX = NS + "longTimeTicker:";

    /** 最新成交价 Hash（单个 key），field=symbol，value=price */
    public static final String LATEST_PRICE = NS + "latestPrice";

    /** 成交记录 ZSet prefix，完整 key = TRADE_PREFIX + symbol */
    public static final String TRADE_PREFIX = NS + "trade:";

    /**
     * 长周期行情 Hash key
     *
     * @param symbol 交易对（大小写均可）
     * @return Redis key
     */
    public static String longTimeTicker(String symbol) {
        return LONG_TIME_TICKER_PREFIX + symbol.toLowerCase();
    }

    /**
     * 成交记录 ZSet key
     *
     * @param symbol 交易对（大小写均可）
     * @return Redis key
     */
    public static String trade(String symbol) {
        return TRADE_PREFIX + symbol.toLowerCase();
    }
}
