package com.spot.dto.mq;

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

/**
 * 资产/订单变动推送信息，用于批量描述需要通知的变动列表
 *
 * @author jean
 * @date 2026-05-06
 */
public class AssetChangeInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 变动类型：asset-资产变动，order-订单变动
     *
     * @see AssetChangeMessage#TYPE_ASSET
     * @see AssetChangeMessage#TYPE_ORDER
     */
    private String type;

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

    /**
     * 变动标的列表
     * 资产变动时为币种列表（如 ["BTC","USDT"]），订单变动时为交易对列表（如 ["BTCUSDT"]）
     */
    private List<String> symbols;

    public AssetChangeInfo() {
    }

    public AssetChangeInfo(String type, Long uid, List<String> symbols) {
        this.type = type;
        this.uid = uid;
        this.symbols = symbols;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public Long getUid() {
        return uid;
    }

    public void setUid(Long uid) {
        this.uid = uid;
    }

    public List<String> getSymbols() {
        return symbols;
    }

    public void setSymbols(List<String> symbols) {
        this.symbols = symbols;
    }
}
