package com.market.model;

import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * Kafka 资产/订单变动消息 DTO
 *
 * @author system
 * @date 2026-05-07
 */
@Data
public class SpotAssetChangeMessage implements Serializable {

    /** 消息类型：资产变动 */
    public static final String TYPE_ASSET = "asset";

    /** 消息类型：订单变动 */
    public static final String TYPE_ORDER = "order";

    /**
     * 变动类型
     * @see #TYPE_ASSET
     * @see #TYPE_ORDER
     */
    private String type;

    /** 用户ID */
    private Long uid;

    /**
     * 变动标的列表
     * <ul>
     *   <li>type=asset 时：币种列表，例如 ["BTC","USDT"]</li>
     *   <li>type=order 时：交易对列表，例如 ["btcusdt"]</li>
     * </ul>
     */
    private List<String> symbols;
}
