
package com.tmerclub.cloud.order.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;

import java.io.Serial;
import java.io.Serializable;

/**
 * @author Pineapple
 * @date 2021/6/9 9:25
 */
@Data
@ToString
public class OrderItemDetailVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(description = "订单项id")
    private Long orderItemId;

    @Schema(description = "店铺名称")
    private String shopName;

    @Schema(description = "商品名称")
    private String spuName;

    @Schema(description = "规格名称")
    private String skuName;

    @Schema(description = "分类名称")
    private String categoryName;

    @Schema(description = "分类id")
    private Long categoryId;

    @Schema(description = "购物车产品个数")
    private Integer count;

    @Schema(description = "商品供货价(采购价)")
    private Long itemPurchaseAmount;

    @Schema(description = "商品总金额")
    private Long spuTotalAmount;

    /**
     * 商品实际金额 = 商品总金额 - 分摊的优惠金额
     */
    @Schema(description = "商品实际金额")
    private Long actualTotal;

    /**
     * 商家优惠金额[shareReduce-platformShareReduce]
     */
    @Schema(description = "商家优惠金额")
    private Long multishopReduce;

    @Schema(description = "平台优惠金额")
    private Long platformShareReduce;

    /**
     * 分销金额[推广员佣金+上级推广员佣金]
     */
    @Schema(description = "分销金额")
    private Long distributionAmount;

    @Schema(description = "使用积分")
    private Long useScore;

    @Schema(description = "分账比例")
    private Double rate;

    /**
     * 平台佣金(商品实际金额 * 分账比例)
     */
    @Schema(description = "平台佣金")
    private Long platformCommission;

    @Schema(description = "积分抵扣金额")
    private Long scoreAmount;

    @Schema(description = "会员折扣金额")
    private Long memberAmount;

    @Schema(description = "平台优惠券优惠金额")
    private Long platformCouponAmount;

    @Schema(description = "商家优惠券优惠金额")
    private Long shopCouponAmount;

    @Schema(description = "满减优惠金额")
    private Long discountAmount;

    @Schema(description = "商家运费减免金额")
    private Long freeFreightAmount;

    @Schema(description = "平台运费减免金额")
    private Long platformFreeFreightAmount;

    @Schema(description = "店铺改价优惠金额")
    private Long shopChangeFreeAmount;

    @Schema(description = "退款金额")
    private Long refundAmount;

    @Schema(description = "退货数量")
    private Integer refundCount;

    @Schema(description = "秒杀优惠金额")
    private Long seckillAmount;

    @Schema(description = "分账比例")
    private Double supplierRate;

    @Schema(description = "平台佣金")
    private Long purchasePlatformCommission;

    @Schema(description = "拼团优惠金额")
    private Long groupAmount;

    @Schema(description = "供货价")
    private Long supplyPriceFee;

    @Schema(description = "供应商图片")
    private String supplierPic;

    @Schema(description = "供应商商品名称")
    private String supplierSpuName;

    @Schema(description = "供应商sku名称")
    private String supplierSkuName;

    @Schema(description = "活动类型 具体类型参考枚举类:OrderActivityType")
    private Integer activityType;

}
