package com.copy.trade.entity.dto;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 交易员委托单(copy-trade消息实体类)
 */
@Data
public class TraderOrder implements Serializable {
    private static final long serialVersionUID = 6708827868849122733L;

    /**
     * 委托订单号
     */
    private String contractOrderEntrustId;

    /**
     * 用户id
     */
    private Long memberId;

    /**
     * 订单委托价格
     */
    private BigDecimal entrustPrice;

    /**
     * 委托张数
     */
    private BigDecimal quantity;

    /**
     * 保证金
     */
    private BigDecimal principalAmount;

    /**
     * 委托类型(LIMIT_PRICE限价 MARkET市价 TRIGGER计划委托)
     */
    private String type;

    /**
     * 杠杆倍数
     */
    private Integer leverage;

    /**
     * 交易对
     */
    private String symbol;

    /**
     * 合约ID
     */
    private Long contractId;

    /**
     * 订单方向(BUY做多 SELL做空)
     */
    private String direction;

    /**
     * 计划委托触发价
     */
    private BigDecimal triggerPrice;

    /**
     * 止损价
     */
    private BigDecimal stopLossPrice;

    /**
     * 止盈价
     */
    private BigDecimal stopProfitPrice;

    /**
     * 开仓时间
     */
    private Long createTime;

    /**
     * 委托状态(ENTRUST_ING委托中 ENTRUST_CANCEL已撤单 ENTRUST_FAILURE委托失败 ENTRUST_SUCCESS已成交)
     */
    private String status;

    /**
     * 成交价格(市价委托)
     */
    private BigDecimal tradedPrice;

    /**
     * 委托时间
     */
    private Long entrustTime;

}
