package com.bizzan.bitrade.consumer;

import com.bizzan.bitrade.entity.ExperienceGiftCloseReason;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 体验金仓位平仓 Kafka 消息体
 * Topic: swap-experience-gift-close
 */
@Data
public class ExperienceGiftCloseMsg {

    /** 体验金券 ID */
    private Long recordId;

    /** 关联仓位 ID */
    private Long positionId;

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

    /** 交易对符号，如 BTC/USDT */
    private String coinSymbol;

    /**
     * 平仓价格
     * - 盈利触顶：autoClosePrice（固定价格结算）
     * - 爆仓：currentPrice（市场价）
     */
    private BigDecimal closePrice;

    /**
     * 平仓原因
     * @see ExperienceGiftCloseReason
     */
    private ExperienceGiftCloseReason closeReason;

    /**
     * 写入 ExperienceGiftRecord.pnl 的值
     * - 盈利触顶：= record.maxProfit（净盈利恰等于上限）
     * - 爆仓：= -record.amount（亏损等于体验金面额）
     */
    private BigDecimal pnl;
}
