package com.hzs.sale.order.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.BigDecimalFormat;
import com.hzs.common.core.annotation.Excel;
import lombok.Data;

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

@Data
public class WaresOrderVo implements Serializable {

    /**
     * 产品主图
     */
    private String cover1;

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

    /**
     * 产品单价
     */
    @BigDecimalFormat
    private BigDecimal productPrice;

    /**
     * 产品总价
     */
    @BigDecimalFormat
    private BigDecimal productPriceTotal;
    /**
     * 产品编号
     */
    //   @Excel(name = "产品编号")
    private String waresCode;

    /**
     * 产品规格
     */
    //   @Excel(name = "产品规格")
    private String specsName;
    /**
     * 产品数量
     */
    //   @Excel(name = "产品数量")
    private Integer quantity;

    /**
     * 商品编号
     */
    private String commodityCode;
    /**
     * 商品名称
     */
    private String commodityName;
    /**
     * 订单编号
     */
    @Excel(name = "订单编号")
    private String orderCode;


    private Integer orderType;

    /**
     * 订单类型
     */
    @Excel(name = "订单类型")
    private String orderTypeVal;
    /**
     * 订单类型
     */

    private String orderTypeStr;
    /**
     * 会员编号
     */
    @Excel(name = "会员编号")
    private String memberCode;

    /**
     * 会员名称
     */
    @Excel(name = "会员姓名")
    private String memberName;

    /**
     * 隶属体系
     */
    @Excel(name = "隶属体系")
    private String vertexName;
    /**
     * 联系电话
     */
    @Excel(name = "联系方式")
    private String phone;

    /**
     * 收货人
     */
    @Excel(name = "收货人")
    private String recName;

    /**
     * 收货电话
     */
    @Excel(name = "收货电话")
    private String recPhone;
    /**
     * 购买人编号
     */
    @Excel(name = "购买人编号")
    private String buyMemberCode;

    /**
     * 购买人姓名
     */
    @Excel(name = "购买人姓名")
    private String buyMemberName;


    /**
     * 物流单号（用逗号间隔）
     */
    //  @Excel(name = "物流单号")
    private String logisticsCode;
    /**
     * 物流公司
     */
    // @Excel(name = "物流公司")
    private String logisticsCompany;

    /**
     * 省外键
     */
    private Integer recProvince;
    /**
     * 省名称
     */
    @Excel(name = "省")
    private String recProvinceName;
    /**
     * 市外键
     */
    private Integer recCity;

    /**
     * 市名称
     */
    @Excel(name = "市")
    private String recCityName;

    /**
     * 县外键
     */
    private Integer recCountry;

    /**
     * 县名称
     */
    @Excel(name = "区/县")
    private String recCountryName;
    /**
     * 详细地址
     */
    @Excel(name = "详细地址")
    private String recAddress;

    /**
     * 订单金额
     */
    @BigDecimalFormat
    @Excel(name = "订单金额")
    private BigDecimal orderAmount;


    /**
     * 订单业绩
     */
    @BigDecimalFormat
    @Excel(name = "订单业绩")
    private BigDecimal orderAchieve;


    /**
     * 订单考核业绩，原bv
     */
    @BigDecimalFormat
    @Excel(name = "订单bv")
    private BigDecimal orderAssAchieve;


    /**
     * 邮费
     */
    @BigDecimalFormat
    @Excel(name = "订单邮费")
    private BigDecimal postage;

    /**
     * 发货方式 值
     */
    private Integer deliveryWay;

    /**
     * 发货方式 label
     */
    @Excel(name = "发货方式")
    private String deliveryWayStr;

    /**
     * 发货类型
     */
    private Integer shippingChannel;

    /**
     * 发货类型 字符
     */
    private String shippingChannelVal;
    /**
     * 发货类型 字符
     */
    //   @Excel(name = "发货类型")
    private String shippingChannelStr;
    /**
     * 供应方式
     */
    //   @Excel(name = "供应方式")
    private String operateScope;

    /**
     * 运输方式
     */
    private Integer tranType;
    /**
     * 运输方式label
     */
    //   @Excel(name = "运输方式")
    private String tranTypeStr;

    /**
     * 预售状态 值
     */
    private Integer preSaleStatus;
    /**
     * 预售状态 字符
     */
    //   @Excel(name = "预售状态")
    private String preSaleStatusStr;
    /**
     * 订单状态
     */

    private Integer orderStatus;
    /**
     * 订单状态 label
     */
    //   @Excel(name = "订单状态")
    private String orderStatusStr;
    /**
     * 支付方式
     */
    private Integer payType;
    /**
     * 支付方式label
     */
    @Excel(name = "支付方式")
    private String payTypeStr;

    /**
     * 备注
     */
    @Excel(name = "备注")
    private String remark;

    /**
     * 开票备注
     */
    //  @Excel(name = "开票备注")
    private String remarks;

    /**
     * 创建时间
     */
    @Excel(name = "创建时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date creationTime;

    /**
     * 支付时间
     */
    @Excel(name = "支付时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;

    /**
     * 重量
     */
    private BigDecimal weight;
    /**
     * 展示汇率
     */
    private BigDecimal inExchangeRate;
    /**
     * 产品订单明细列表
     */
    private List<MyOrderItemsVO> productList;
    /**
     * 是否赠品（0=是，1=否）
     */
    private Integer isGift;
    /**
     * 是否换货（0=是，1=否）
     */
    private Integer exchangeGoods;

    /**
     * 商品id
     */
    private Integer pkWares;
    /**
     * 订单主键
     */
    private Long pkOrder;
    /**
     * 价格
     */
    private BigDecimal price;

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

    /**
     * SKU编码（产品编号+规格ID，以-间隔）
     */
    private String skuCode;

    /**
     * 订单套数
     */
    @Excel(name = "订单套数")
    private Integer boxNum;
}
