
package com.tmerclub.cloud.order.model;

import com.tmerclub.cloud.common.model.BaseModel;
import lombok.Data;
import lombok.ToString;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 订单项
 *
 * @author tmerclub
 * @date 2020-12-04 11:27:35
 */
@Data
@ToString
public class OrderItem extends BaseModel implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    /**
     * 订单项ID
     */
    private Long orderItemId;

    /**
     * 店铺id
     */
    private Long shopId;

    /**
     * 订单id
     */
    private Long orderId;

    /**
     * 分类id
     */
    private Long categoryId;

    /**
     * 产品ID
     */
    private Long spuId;

    /**
     * 产品SkuID
     */
    private Long skuId;

    /**
     * 用户Id
     */
    private Long userId;

    /**
     * 最终的退款id
     */
    private Long finalRefundId;

    /**
     * 推广员id
     */
    private Long distributionUserId;

    /**
     * 库存点id 自提：自提点id， 其他：仓库id
     */
    private Long stockPointId;

    /**
     * 购物车产品个数
     */
    private Integer count;

    /**
     * 产品名称
     */
    private String spuName;

    /**
     * sku名称
     */
    private String skuName;

    /**
     * 产品主图片路径
     */
    private String pic;

    /**
     * 是否以评价(0.未评价1.已评价)
     */
    private Integer isComm;

    /**
     * 评论时间
     */
    private Date commTime;

    /**
     * 订单项退款状态（1:申请退款 2:退款成功 3:部分退款成功 4:退款失败）
     */
    private Integer refundStatus;

    /**
     * -1待发货 0全部发货 其他数量为剩余待发货数量
     */
    private Integer beDeliveredNum;

    /**
     * 单个orderItem的配送类型 1:快递 2:自提 3：无需快递 4:同城配送
     */
    private Integer deliveryType;

    /**
     * 加入购物车时间
     */
    private Date shopCartTime;

    /**
     * 产品价格
     */
    private Long price;

    /**
     * 商品总金额
     */
    private Long spuTotalAmount;

    /**
     * 商品实际金额 = 商品总金额 - 分摊的优惠金额
     */
    private Long actualTotal;

    /**
     * 分摊的优惠金额
     */
    private Long shareReduce;

    /**
     * 平台优惠金额
     */
    private Long platformShareReduce;

    /**
     * 推广员佣金
     */
    private Long distributionAmount;

    /**
     * 上级推广员佣金
     */
    private Long distributionParentAmount;

    /**
     * 积分价格（单价）
     */
    private Long scoreFee;

    /**
     * 使用积分
     */
    private Long useScore;

    /**
     * 获得积分
     */
    private Long gainScore;

    /**
     * 分账比例
     */
    private Double rate;

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

    /**
     * 积分抵扣金额
     */
    private Long scoreAmount;

    /**
     * 会员折扣金额
     */
    private Long memberAmount;

    /**
     * 平台优惠券优惠金额
     */
    private Long platformCouponAmount;

    /**
     * 商家优惠券优惠金额
     */
    private Long shopCouponAmount;

    /**
     * 满减优惠金额
     */
    private Long discountAmount;


    /**
     * 商家运费减免金额
     */
    private Long freeFreightAmount;

    /**
     * 平台运费减免金额
     */
    private Long platformFreeFreightAmount;

    /**
     * 店铺改价优惠金额
     */
    private Long shopChangeFreeAmount;


    /**
     * 供应商商品发货方式 1.供应商发货 2.仓库发货
     */
    private Long itemPurchaseAmount;

    /**
     * 是否待采购 1.是 0.否
     */
    private Long waitPurchase;
    /**
     * 供应商id
     */
    private Long supplierId;
    /**
     * 供应商佣金比例
     */
    private Double supplierRate;
    /**
     * 供应商佣金金额
     */
    private Long purchasePlatformCommission;
    /**
     * 订单项国际化信息
     */
    private List<OrderItemLang> orderItemLangList;
    /**
     * 商品编码
     */
    private String spuCode;
    /**
     * sku编码
     */
    private String partyCode;
    /**
     * 供应商商品id
     */
    private Long supplierSpuId;
    /**
     * 供应商规格id
     */
    private Long supplierSkuId;
    /**
     * 商品类别 0.实物商品 1. 虚拟商品 2.组合商品
     */
    private Integer spuMold;
    /**
     * 是否可以退款 1.可以 0不可以
     */
    private Integer isRefund;
    /**
     * 虚拟商品的留言备注
     */
    private String virtualRemark;
    /**
     * 赠品金额
     */
    private Long giveawayAmount;
    /**
     * 主赠品 1：主赠品 0：赠品
     */
    private Integer mainGiveaway;

    /**
     * 套餐优惠金额
     */
    private Long comboAmount;

    /**
     * 活动id
     */
    private Long activityId;

    /**
     * 活动类型 OrderActivityType
     */
    private Integer activityType;

    /**
     * 供应商主商品图片
     */
    private String supplierPic;

    /**
     * 供应商主商品名称
     */
    private String supplierSpuName;

    /**
     * 供应商sku名称
     */
    private String supplierSkuName;

    /**
     * 核销次数 -1.多次核销 0.无需核销 1.单次核销
     */
    private Integer writeOffNum;

    /**
     * 多次核销次数 -1.无限次
     */
    private Integer writeOffMultipleCount;

    /**
     * 核销开始时间
     */
    private Date writeOffStart;

    /**
     * 核销结束时间
     */
    private Date writeOffEnd;
//
//    /**
//     * 主商品组合订单项id
//     */
//    private Long mainComboItemId;



}
