package com.ycwl.basic.pricing.dto;

import lombok.Data;

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

/**
 * 价格计算结果DTO
 */
@Data
public class PriceCalculationResult {
    
    /**
     * 原始金额（用于前端展示的总原价）
     */
    private BigDecimal originalAmount;
    
    /**
     * 商品小计金额（按实际计算价格）
     */
    private BigDecimal subtotalAmount;
    
    /**
     * 优惠金额
     */
    private BigDecimal discountAmount;
    
    /**
     * 最终金额
     */
    private BigDecimal finalAmount;
    
    /**
     * 使用的优惠券信息
     */
    private CouponInfo usedCoupon;
    
    /**
     * 使用的券码信息
     */
    private VoucherInfo usedVoucher;
    
    /**
     * 折扣明细列表（包含限时立减、优惠券、券码、一口价等）
     */
    private List<DiscountDetail> discountDetails;
    
    /**
     * 可用但未使用的优惠列表（预览时使用）
     */
    private List<DiscountInfo> availableDiscounts;
    
    /**
     * 商品明细列表
     */
    private List<ProductItem> productDetails;
}