package com.ylx.massage.domain.dto;

import lombok.Data;

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

/**
 * 商品订单创建请求DTO
 */
@Data
public class ProductOrderCreateRequest implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 用户ID
     */
    private String openId;

    /**
     * 用户姓名
     */
    private String userName;

    /**
     * 用户电话
     */
    private String userPhone;

    /**
     * 用户地址
     */
    private String userAddress;

    /**
     * 商品ID
     */
    private Long productId;

    /**
     * 商品名称
     */
    private String name;

    /**
     * 商品主图URL
     */
    private String productMainImage;

    /**
     * 选中的SKU ID
     */
    private Long skuId;

    /**
     * SKU列表（规格组合明细）
     */
    private List<SpecNameValue> specNameValueList;

    /**
     * 购买数量
     */
    private Integer quantity;

    /**
     * 支付方式：1微信支付 2账户余额
     */
    private Integer payType;

    /**
     * 运费
     */
    private BigDecimal freightAmount;

    /**
     * 总金额
     */
    private BigDecimal totalAmount;

    /**
     * 支付金额
     */
    private BigDecimal payAmount;

    /**
     * 使用的积分
     */
    private Integer pointsUsed;

    /**
     * 买家备注信息
     */
    private String buyerRemark;

    /**
     * SKU规格名称值对象
     */
    @Data
    public static class SpecNameValue implements Serializable {
        private static final long serialVersionUID = 1L;

        /**
         * 规格名称
         */
        private String specName;

        /**
         * 规格值
         */
        private String specValue;
    }
}