package com.yami.shop.bean.dto.hb;

import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 订单商品明细信息
 * 海博
 *
 * @author
 * @version 1.0.0
 * @since 2025-09-XX
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
public class OrderProduct {

    /**
     * 渠道商品编码
     */
    private String channelSkuId;

    /**
     * 商家商品编码
     */
    private String outSkuId;

    /**
     * 海博商品编码
     */
    private Long hbSkuId;

    /**
     * 商品是否预售
     * 0：非预售（默认）
     * 1：预售
     */
    private Integer preSale;

    /**
     * 商品UPC编码。如不传值，以海博系统为准
     */
    private String skuUpc;

    /**
     * 商品名称。如不传值，以海博系统为准
     */
    private String skuName;

    /**
     * 商品单品重量，单位g。如不传值，以海博系统为准
     */
    private Double skuWeight;

    /**
     * 商品销售单位。如不传值，以海博系统为准
     */
    private String unit;

    /**
     * 销售个数或份数
     */
    private Long count;

    /**
     * 单位分，商品原价
     */
    private Long originSkuPrice;

    /**
     * 单位分，商品活动价/优惠价（商品原价-商品补贴）
     */
    private Long activitySkuPrice;

    /**
     * 商品规格。如不传值，以海博系统为准
     */
    private String skuBasicSpec;

    /**
     * 商品图片。如不传值，以海博系统为准
     */
    private String skuImg;

    /**
     * 单位分，商家单品补贴金额
     */
    private Long businessSingleProductSubsidy;

    /**
     * 单位分，平台单品补贴金额
     */
    private Long platformSingleProductSubsidy;

    /**
     * 单位分，分摊商家整单补贴金额
     */
    private Long businessOrderSubsidy;

    /**
     * 单位分，分摊平台整单补贴金额
     */
    private Long platformOrderSubsidy;

    /**
     * 商品交易id，用于订单商品调整或退款标识唯一商品
     */
    private String transId;

    /**
     * 海博父类商品编码，用于标记赠品父子关系
     */
    private Long parentHBSkuId;

    /**
     * 促销类型
     * 1101:买赠
     * 1102:满赠
     */
    private String promotionType;

    /**
     * 商品属性，多个用英文逗号分隔，长度不超过450
     */
    private String productFeatures;
}
