package com.ycwl.basic.pricing.dto;

import lombok.Data;

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

/**
 * 打包购买优惠信息
 */
@Data
public class BundleDiscountInfo {

    /**
     * 打包配置ID
     */
    private Long bundleConfigId;

    /**
     * 打包名称
     */
    private String bundleName;

    /**
     * 打包描述
     */
    private String bundleDescription;

    /**
     * 打包优惠类型
     * FIXED_DISCOUNT: 固定减免金额
     * PERCENTAGE_DISCOUNT: 百分比折扣
     * FIXED_PRICE: 固定价格
     */
    private String discountType;

    /**
     * 优惠值（根据类型不同含义不同）
     * FIXED_DISCOUNT: 减免金额
     * PERCENTAGE_DISCOUNT: 折扣百分比（如0.8表示8折）
     * FIXED_PRICE: 固定价格
     */
    private BigDecimal discountValue;

    /**
     * 满足条件的商品列表
     */
    private List<ProductItem> eligibleProducts;

    /**
     * 最低购买数量要求
     */
    private Integer minQuantity;

    /**
     * 最低购买金额要求
     */
    private BigDecimal minAmount;

    /**
     * 实际优惠金额
     */
    private BigDecimal actualDiscountAmount;

    /**
     * 是否可与其他优惠叠加
     */
    private Boolean canUseWithCoupon = true;

    /**
     * 是否可与券码叠加
     */
    private Boolean canUseWithVoucher = true;

    /**
     * 是否可与一口价叠加
     */
    private Boolean canUseWithOnePrice = true;
}