package shop.alien.entity.store.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import shop.alien.entity.store.dto.CartItemDTO;

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

/**
 * 订单结算确认页面VO
 *
 * @author system
 * @since 2025-01-XX
 */
@Data
@ApiModel(value = "OrderSettlementVO对象", description = "订单结算确认页面")
public class OrderSettlementVO {

    @ApiModelProperty(value = "订单ID")
    private Integer orderId;

    @ApiModelProperty(value = "订单号")
    private String orderNo;

    @ApiModelProperty(value = "店铺名称")
    private String storeName;

    @ApiModelProperty(value = "桌号")
    private String tableNumber;

    @ApiModelProperty(value = "就餐人数")
    private Integer dinerCount;

    @ApiModelProperty(value = "联系电话")
    private String contactPhone;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "菜品清单")
    private List<CartItemDTO> items;

    @ApiModelProperty(value = "菜品总价")
    private BigDecimal totalAmount;

    @ApiModelProperty(value = "餐具费")
    private BigDecimal tablewareFee;

    @ApiModelProperty(value = "优惠券ID")
    private Integer couponId;

    @ApiModelProperty(value = "优惠券名称")
    private String couponName;

    @ApiModelProperty(value = "优惠金额")
    private BigDecimal discountAmount;

    @ApiModelProperty(value = "应付金额")
    private BigDecimal payAmount;

    @ApiModelProperty(value = "是否已锁定(有人正在结算)")
    private Boolean isLocked;

    @ApiModelProperty(value = "锁定用户ID")
    private Integer lockUserId;
}
