-- 体验金功能相关字段新增
-- 日期：2026-04-16
-- 执行前请备份数据库

-- contract_order_entrust 表新增 experience_record_id 字段
-- 用于标记该委托单是否属于体验金模式（NULL=普通订单，非NULL=体验金委托单）
-- 对应实体：ContractOrderEntrust.experienceRecordId
ALTER TABLE `contract_order_entrust`
    ADD COLUMN `experience_record_id` BIGINT UNSIGNED DEFAULT NULL
        COMMENT '关联体验金券ID（experience_gift_record.id）；NULL=普通订单，非NULL=体验金模式委托单'
        AFTER `hedge_id`,
    ADD KEY `idx_experience_record_id` (`experience_record_id`);

-- experience_gift_record 表新增止盈止损价格字段
-- 用于记录用户手动设置的止盈/止损触发价格（区别于系统自动计算的 auto_close_price）
-- 对应实体：ExperienceGiftRecord.stopProfitPrice / ExperienceGiftRecord.stopLossPrice
ALTER TABLE `experience_gift_record`
    ADD COLUMN `stop_profit_price` DECIMAL(32, 16) DEFAULT NULL
        COMMENT '用户设置的止盈触发价（NULL或0=未设置）；多单：市价>=此价触发；空单：市价<=此价触发'
        AFTER `auto_close_price`,
    ADD COLUMN `stop_loss_price` DECIMAL(32, 16) DEFAULT NULL
        COMMENT '用户设置的止损触发价（NULL或0=未设置）；多单：市价<=此价触发；空单：市价>=此价触发'
        AFTER `stop_profit_price`;

-- experience_gift_record 表新增平仓手续费字段
-- 平仓时记录实际扣除的平仓手续费（= 持仓量 * 平仓价 * 平仓费率）
-- 与 open_fee（开仓手续费）共同构成完整手续费明细
-- 对应实体：ExperienceGiftRecord.closeFee
-- 日期：2026-04-20
ALTER TABLE `experience_gift_record`
    ADD COLUMN `close_fee` DECIMAL(32, 16) DEFAULT NULL
        COMMENT '平仓手续费（USDT）；持仓量 * 平仓价 * 平仓费率；NULL 表示尚未平仓'
        AFTER `open_fee`;
