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

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

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

/**
 * 结账试算单张会员券行（可用或不可用）。
 *
 * @author jeesharp
 * @since 2026-06-05
 */
@Data
@Schema(description = "结账试算券行")
public class CouponCheckoutRowVO {

    @Schema(description = "会员券ID")
    private String memberCouponId;

    @Schema(description = "券名称")
    private String couponName;

    @Schema(description = "优惠方式：1-金额 2-折扣")
    private Integer discountType;

    @Schema(description = "优惠方式名称")
    private String discountTypeName;

    @Schema(description = "优惠值")
    private BigDecimal discountValue;

    @Schema(description = "最低消费")
    private BigDecimal minConsumeAmount;

    @Schema(description = "可用开始")
    private LocalDateTime validStartDate;

    @Schema(description = "可用结束")
    private LocalDateTime validEndDate;

    @Schema(description = "场景编号")
    private String sceneCode;

    @Schema(description = "预估抵扣金额（仅可用券）")
    private BigDecimal estimatedDiscount;

    @Schema(description = "不可用原因码")
    private String reasonCode;

    @Schema(description = "不可用原因文案")
    private String reason;

    @Schema(description = "券模板所属租户编码（平台券通常为 1；用于前端区分平台/商户券）")
    private String templateTenantCode;
}
