package com.market.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 币对配置表
 *
 * @author system
 * @date 2026-05-07
 */
@Data
@TableName("config_symbol")
public class ConfigSymbol implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /** 交易对符号（如：BTCUSDT） */
    private String symbol;

    /** 基准货币，symbol的前半段 */
    private String base;

    /** 计价货币，symbol的后半段 */
    private String quote;

    /**
     * 是否开启
     * 1=开启，2=关闭
     */
    private Integer isOpen;

    /** taker手续费率 */
    private BigDecimal takerFee;

    /** maker手续费率 */
    private BigDecimal makerFee;

    /** 开盘价 */
    private BigDecimal openPrice;

    /** 深度盘切换小数点位数（第0档） */
    private Long depth0Pre;

    /** 深度盘切换小数点位数（第1档） */
    private Long depth1Pre;

    /** 深度盘切换小数点位数（第2档） */
    private Long depth2Pre;

    /** 价格精度 */
    private Integer pricePre;

    /** 数量精度 */
    private Integer volumePre;

    /** 限价最小价 */
    private BigDecimal limitPriceMin;

    /** 限价最小数量 */
    private BigDecimal limitVolumeMin;

    /** 市价买最小值 */
    private BigDecimal marketBuyMin;

    /** 市价卖最小值 */
    private BigDecimal marketSellMin;

    /** 排序 */
    private Integer sort;

    /** 描述 */
    private String description;

    /** 创建时间（时间戳） */
    private Long createTime;

    private LocalDateTime ctime;

    /** 修改时间 */
    private LocalDateTime mtime;

    /**
     * 是否自定义：1=自定义，2=非自定义
     */
    private Integer customize;

    /**
     * 是否发布：1=已发布，2=未发布
     */
    private Integer publish;
}
