package com.yc.ship.module.trade.service.order.bo;

import com.yc.ship.module.trade.dal.dataobject.order.TradeDetailBaseDO;
import com.yc.ship.module.trade.enums.VoucherStatusEnum;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * &#064;Description ：订单导游代退明细BO
 * &#064;Author ：qsl
 * &#064;Date ：2025/6/16 14:45
 */
@Data
public class TradeDetailGuideRefundBO {

    private Long id;
    /**
     * 订单ID
     */
    private Long orderId;

    /**
     * 凭证码
     */
    private String voucherCode;
    /**
     * 票券状态
     * 关联 {@link VoucherStatusEnum}
     */
    private Integer voucherStatus;
    /**
     * 使用日期
     */
    private LocalDateTime useDate;
    /**
     * 有效开始时间
     */
    private LocalDateTime validityStartDate;
    /**
     * 有效截止时间
     */
    private LocalDateTime validityEndDate;
    /**
     * 可使用天数
     */
    private Integer usageDays;
    /**
     * 核验状态
     */
    private Integer checkStatus;
    /**
     * 取票状态
     */
    private Integer takeStatus;
    /**
     * 退票状态0未退款 1全部退 2部分退
     */
    private Integer refundStatus;
    /**
     * 核销时间
     */
    private LocalDateTime verifyTime;
    /**
     * 规格类型
     */
    private String specType;
    /**
     * 价格
     */
    private BigDecimal price;
    /**
     * 实际支付金额
     */
    private BigDecimal actualPrice;
    /**
     * 更改后票型
     */
    private String changeSpecType;
    /**
     * 代退金额
     */
    private BigDecimal refundAmount;

    private List<TradeDetailBaseDO> tradeDetailBaseList;

}
