package com.jeesharp.business.modules.food.vo;

import com.jeesharp.business.modules.common.enums.VerticalPayStatusEnum;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 小程序美食预订结果 VO（含展示字段与统一单双写所需金额）。
 *
 * @author jeesharp
 * @since 2026-05-08
 */
@Data
@Schema(description = "美食预订结果")
public class FoodBookingResultVO {

    @Schema(description = "美食预订单ID（垂直单）")
    private String orderId;

    @Schema(description = "统一交易订单ID")
    private String unifiedOrderId;

    @Schema(description = "核销码")
    private String verifyCode;

    /** @see com.jeesharp.business.modules.food.enums.FoodBookingStatusEnum */
    @Schema(description = "预订状态编码")
    private String status;

    /** @see com.jeesharp.business.modules.food.enums.VerticalPayStatusEnum */
    @Schema(description = "支付状态编码")
    private String payStatus;

    @Schema(description = "列表/结果标题")
    private String title;

    @Schema(description = "金额文案")
    private String amountLabel;

    @Schema(description = "订单金额（数值）")
    private BigDecimal amount;

    @Schema(description = "状态文案")
    private String statusLabel;

    @Schema(description = "创建时间展示")
    private String createdAt;

    @Schema(description = "结果载荷JSON（扩展字段）")
    private String resultPayloadJson;
}
