package com.ycwl.basic.pricing.dto;

import lombok.Data;

import java.math.BigDecimal;

/**
 * 优惠信息DTO
 */
@Data
public class DiscountInfo {
    
    /**
     * 优惠ID
     */
    private Long discountId;
    
    /**
     * 优惠类型（COUPON, VOUCHER等）
     */
    private String discountType;
    
    /**
     * 优惠名称
     */
    private String discountName;
    
    /**
     * 优惠描述
     */
    private String discountDescription;
    
    /**
     * 优惠金额
     */
    private BigDecimal discountAmount;
    
    /**
     * 原始优惠值（用于百分比折扣等）
     */
    private BigDecimal originalValue;
    
    /**
     * 优惠值类型（PERCENTAGE, FIXED_AMOUNT等）
     */
    private String valueType;
    
    /**
     * 最小消费金额限制
     */
    private BigDecimal minAmount;
    
    /**
     * 最大优惠金额限制
     */
    private BigDecimal maxDiscount;
    
    /**
     * 优惠提供者类型
     */
    private String providerType;
    
    /**
     * 优惠优先级
     */
    private Integer priority;
    
    /**
     * 是否可与其他优惠叠加
     */
    private Boolean stackable;
    
    /**
     * 券码（如果是voucher类型）
     */
    private String voucherCode;
    
    /**
     * 优惠券ID（如果是coupon类型）
     */
    private Long couponId;
    
    /**
     * 一口价信息（如果是一口价优惠）
     */
    private OnePriceInfo onePriceInfo;

    /**
     * 打包优惠信息（如果是打包优惠）
     */
    private BundleDiscountInfo bundleDiscountInfo;
}