package com.ycwl.basic.pricing.dto;

import lombok.Data;

import java.util.List;

/**
 * 移动端价格计算请求DTO
 */
@Data
public class MobilePriceCalculationRequest {
    
    /**
     * 商品列表
     */
    private List<ProductItem> products;
    
    /**
     * 人脸ID（必填，用于权限验证）
     */
    private Long faceId;
    
    /**
     * 是否自动使用优惠券
     */
    private Boolean autoUseCoupon = true;
    
    /**
     * 用户输入的券码
     */
    private String voucherCode;
    
    /**
     * 是否自动使用券码优惠
     */
    private Boolean autoUseVoucher = true;
    
    /**
     * 是否仅预览优惠（不实际使用）
     */
    private Boolean previewOnly = false;
    
    /**
     * 转换为标准价格计算请求
     * 
     * @param userId 用户ID
     * @param scenicId 景区ID
     * @return 标准价格计算请求
     */
    public PriceCalculationRequest toStandardRequest(Long userId, Long scenicId) {
        PriceCalculationRequest request = new PriceCalculationRequest();
        request.setProducts(this.products);
        request.setUserId(userId);
        request.setScenicId(scenicId);
        request.setFaceId(this.faceId);
        request.setAutoUseCoupon(this.autoUseCoupon);
        request.setVoucherCode(this.voucherCode);
        request.setAutoUseVoucher(this.autoUseVoucher);
        request.setPreviewOnly(true);
        return request;
    }
}