
package com.tmerclub.cloud.common.mongodb.bo.order;

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

/**
 * @author YXF
 * @date 2022/8/23
 */
public class MongoOrderItemBO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    /**
     * 商品图片
     */
    private String pic;

    /**
     * 商品数量
     */
    private Integer count;

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

    /**
     * 产品购买花费积分
     */
    private Long useScore;

    /**
     * skuId
     */
    private Long skuId;

    /**
     * 订单项id
     */
    private Long orderItemId;

    /**
     * 商品id
     */
    private Long spuId;

    /**
     * 平台一级分类id
     */
    private Long primaryCategoryId;

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

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

    /**
     * 中文商品名称
     */
    private String spuNameZh;

    /**
     * 英文商品名称
     */
    private String spuNameEn;

    /**
     * 中文sku名称
     */
    private String skuNameZh;

    /**
     * 英文sku名称
     */
    private String skuNameEn;

    /**
     * 商品图片
     */
    private String supplierPic;

    /**
     * 中文供应商商品名称
     */
    private String supplierSpuNameZh;

    /**
     * 英文供应商商品名称
     */
    private String supplierSpuNameEn;

    /**
     * 中文供应商sku名称
     */
    private String supplierSkuNameZh;

    /**
     * 英文供应商sku名称
     */
    private String supplierSkuNameEn;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    /**
     * 商品编码
     */
    private String spuCode;

    /**
     * sku编码
     */
    private String partyCode;

    /**
     * 赠品金额
     */
    private Long giveawayAmount;

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

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

    /**
     * 平台供应商佣金
     */
    private Long purchasePlatformCommission;


    public String getSupplierPic() {
        return supplierPic;
    }

    public void setSupplierPic(String supplierPic) {
        this.supplierPic = supplierPic;
    }

    public String getSupplierSpuNameZh() {
        return supplierSpuNameZh;
    }

    public void setSupplierSpuNameZh(String supplierSpuNameZh) {
        this.supplierSpuNameZh = supplierSpuNameZh;
    }

    public String getSupplierSpuNameEn() {
        return supplierSpuNameEn;
    }

    public void setSupplierSpuNameEn(String supplierSpuNameEn) {
        this.supplierSpuNameEn = supplierSpuNameEn;
    }

    public String getSupplierSkuNameZh() {
        return supplierSkuNameZh;
    }

    public void setSupplierSkuNameZh(String supplierSkuNameZh) {
        this.supplierSkuNameZh = supplierSkuNameZh;
    }

    public String getSupplierSkuNameEn() {
        return supplierSkuNameEn;
    }

    public void setSupplierSkuNameEn(String supplierSkuNameEn) {
        this.supplierSkuNameEn = supplierSkuNameEn;
    }

    public String getPic() {
        return pic;
    }

    public void setPic(String pic) {
        this.pic = pic;
    }

    public Integer getCount() {
        return count;
    }

    public void setCount(Integer count) {
        this.count = count;
    }

    public Long getPrice() {
        return price;
    }

    public void setPrice(Long price) {
        this.price = price;
    }

    public Long getUseScore() {
        return useScore;
    }

    public void setUseScore(Long useScore) {
        this.useScore = useScore;
    }

    public Long getSkuId() {
        return skuId;
    }

    public void setSkuId(Long skuId) {
        this.skuId = skuId;
    }

    public Long getOrderItemId() {
        return orderItemId;
    }

    public void setOrderItemId(Long orderItemId) {
        this.orderItemId = orderItemId;
    }

    public Long getSpuId() {
        return spuId;
    }

    public void setSpuId(Long spuId) {
        this.spuId = spuId;
    }

    public Long getPrimaryCategoryId() {
        return primaryCategoryId;
    }

    public void setPrimaryCategoryId(Long primaryCategoryId) {
        this.primaryCategoryId = primaryCategoryId;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getFinalRefundId() {
        return finalRefundId;
    }

    public void setFinalRefundId(Long finalRefundId) {
        this.finalRefundId = finalRefundId;
    }

    public Long getDistributionUserId() {
        return distributionUserId;
    }

    public void setDistributionUserId(Long distributionUserId) {
        this.distributionUserId = distributionUserId;
    }

    public Integer getIsComm() {
        return isComm;
    }

    public void setIsComm(Integer isComm) {
        this.isComm = isComm;
    }

    public Date getCommTime() {
        return commTime;
    }

    public void setCommTime(Date commTime) {
        this.commTime = commTime;
    }

    public Integer getRefundStatus() {
        return refundStatus;
    }

    public void setRefundStatus(Integer refundStatus) {
        this.refundStatus = refundStatus;
    }

    public Integer getBeDeliveredNum() {
        return beDeliveredNum;
    }

    public void setBeDeliveredNum(Integer beDeliveredNum) {
        this.beDeliveredNum = beDeliveredNum;
    }

    public Integer getDeliveryType() {
        return deliveryType;
    }

    public void setDeliveryType(Integer deliveryType) {
        this.deliveryType = deliveryType;
    }

    public Date getShopCartTime() {
        return shopCartTime;
    }

    public void setShopCartTime(Date shopCartTime) {
        this.shopCartTime = shopCartTime;
    }

    public Long getSpuTotalAmount() {
        return spuTotalAmount;
    }

    public void setSpuTotalAmount(Long spuTotalAmount) {
        this.spuTotalAmount = spuTotalAmount;
    }

    public Long getActualTotal() {
        return actualTotal;
    }

    public void setActualTotal(Long actualTotal) {
        this.actualTotal = actualTotal;
    }

    public Long getShareReduce() {
        return shareReduce;
    }

    public void setShareReduce(Long shareReduce) {
        this.shareReduce = shareReduce;
    }

    public Long getPlatformShareReduce() {
        return platformShareReduce;
    }

    public void setPlatformShareReduce(Long platformShareReduce) {
        this.platformShareReduce = platformShareReduce;
    }

    public Long getDistributionAmount() {
        return distributionAmount;
    }

    public void setDistributionAmount(Long distributionAmount) {
        this.distributionAmount = distributionAmount;
    }

    public Long getDistributionParentAmount() {
        return distributionParentAmount;
    }

    public void setDistributionParentAmount(Long distributionParentAmount) {
        this.distributionParentAmount = distributionParentAmount;
    }

    public Long getGainScore() {
        return gainScore;
    }

    public void setGainScore(Long gainScore) {
        this.gainScore = gainScore;
    }

    public Long getShopChangeFreeAmount() {
        return shopChangeFreeAmount;
    }

    public void setShopChangeFreeAmount(Long shopChangeFreeAmount) {
        this.shopChangeFreeAmount = shopChangeFreeAmount;
    }

    public Long getFreeFreightAmount() {
        return freeFreightAmount;
    }

    public void setFreeFreightAmount(Long freeFreightAmount) {
        this.freeFreightAmount = freeFreightAmount;
    }

    public String getSpuNameZh() {
        return spuNameZh;
    }

    public void setSpuNameZh(String spuNameZh) {
        this.spuNameZh = spuNameZh;
    }

    public String getSpuNameEn() {
        return spuNameEn;
    }

    public void setSpuNameEn(String spuNameEn) {
        this.spuNameEn = spuNameEn;
    }

    public String getSkuNameZh() {
        return skuNameZh;
    }

    public void setSkuNameZh(String skuNameZh) {
        this.skuNameZh = skuNameZh;
    }

    public String getSkuNameEn() {
        return skuNameEn;
    }

    public void setSkuNameEn(String skuNameEn) {
        this.skuNameEn = skuNameEn;
    }

    public Long getScoreFee() {
        return scoreFee;
    }

    public void setScoreFee(Long scoreFee) {
        this.scoreFee = scoreFee;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public String getSpuCode() {
        return spuCode;
    }

    public void setSpuCode(String spuCode) {
        this.spuCode = spuCode;
    }

    public String getPartyCode() {
        return partyCode;
    }

    public void setPartyCode(String partyCode) {
        this.partyCode = partyCode;
    }

    public Long getGiveawayAmount() {
        return giveawayAmount;
    }

    public void setGiveawayAmount(Long giveawayAmount) {
        this.giveawayAmount = giveawayAmount;
    }

    public Long getActivityId() {
        return activityId;
    }

    public void setActivityId(Long activityId) {
        this.activityId = activityId;
    }

    public Integer getActivityType() {
        return activityType;
    }

    public void setActivityType(Integer activityType) {
        this.activityType = activityType;
    }

    public Long getPurchasePlatformCommission() {
        return purchasePlatformCommission;
    }

    public void setPurchasePlatformCommission(Long purchasePlatformCommission) {
        this.purchasePlatformCommission = purchasePlatformCommission;
    }

    @Override
    public String toString() {
        return "MongoOrderItemBO{" +
                "pic='" + pic + '\'' +
                ", count=" + count +
                ", price=" + price +
                ", useScore=" + useScore +
                ", skuId=" + skuId +
                ", orderItemId=" + orderItemId +
                ", spuId=" + spuId +
                ", primaryCategoryId=" + primaryCategoryId +
                ", orderId=" + orderId +
                ", scoreFee=" + scoreFee +
                ", spuNameZh='" + spuNameZh + '\'' +
                ", spuNameEn='" + spuNameEn + '\'' +
                ", skuNameZh='" + skuNameZh + '\'' +
                ", skuNameEn='" + skuNameEn + '\'' +
                ", supplierSpuNameZh='" + supplierSpuNameZh + '\'' +
                ", supplierSpuNameEn='" + supplierSpuNameEn + '\'' +
                ", supplierSkuNameZh='" + supplierSkuNameZh + '\'' +
                ", supplierSkuNameEn='" + supplierSkuNameEn + '\'' +
                ", supplierPic=" + supplierPic + '\'' +
                ", shopId=" + shopId +
                ", userId=" + userId +
                ", finalRefundId=" + finalRefundId +
                ", distributionUserId=" + distributionUserId +
                ", isComm=" + isComm +
                ", commTime=" + commTime +
                ", refundStatus=" + refundStatus +
                ", beDeliveredNum=" + beDeliveredNum +
                ", deliveryType=" + deliveryType +
                ", shopCartTime=" + shopCartTime +
                ", spuTotalAmount=" + spuTotalAmount +
                ", actualTotal=" + actualTotal +
                ", shareReduce=" + shareReduce +
                ", platformShareReduce=" + platformShareReduce +
                ", distributionAmount=" + distributionAmount +
                ", distributionParentAmount=" + distributionParentAmount +
                ", gainScore=" + gainScore +
                ", shopChangeFreeAmount=" + shopChangeFreeAmount +
                ", freeFreightAmount=" + freeFreightAmount +
                ", spuCode='" + spuCode + '\'' +
                ", partyCode='" + partyCode + '\'' +
                ", giveawayAmount=" + giveawayAmount +
                ", activityId=" + activityId +
                ", activityType=" + activityType +
                ", purchasePlatformCommission=" + purchasePlatformCommission +
                '}';
    }
}
