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

import com.jeesharp.business.modules.member.vo.MemberOrderDisplay;
import com.jeesharp.framework.pojo.vo.BaseInfoVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 预订订单详情 VO；含门店/套餐名称及会员展示字段（Application 补全）。
 *
 * @author jeesharp
 * @since 2026-05-08
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "美食预订订单详情")
public class FoodBookingOrderInfoVO extends BaseInfoVO implements MemberOrderDisplay {

    private String tradeOrderId;
    private String unifiedOrderId;
    private String restaurantId;

    /** 门店名称（详情展示） */
    private String restaurantName;

    private String packageId;

    /** 套餐名称（详情展示） */
    private String packageName;

    private String memberId;

    @Schema(description = "会员编号")
    private String memberNo;

    @Schema(description = "会员昵称")
    private String memberNickname;

    @Schema(description = "会员手机号码")
    private String memberMobile;

    private Integer quantity;
    private String guestPhone;
    private String verifyCode;
    @Schema(description = "支付状态：unpaid-待支付 preparing-支付参数已生成 paid-已支付 closed-已关闭")
    private String payStatus;
    private String bookStatus;
    private String resultPayloadJson;
    private LocalDateTime usedTime;
    private LocalDateTime cancelTime;
    private String extJson;
    private LocalDateTime createDate;
    private LocalDateTime updateDate;
}
