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;

@Data
public class WaresOrderInfoVo implements Serializable {

    /**
     * 产品编号
     */
    @Excel(name = "产品编号")
    private String waresCode;

    /**
     * 产品名称
     */
    @Excel(name = "产品名称")
    private String waresName;

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

    /**
     * sku编码
     */
    @Excel(name = "sku编码")
    private String skuCode;
    /**
     * 重量
     */
    @BigDecimalFormat
    @Excel(name = "重量(KG)")
    private BigDecimal weight;
    /**
     * 产品单价
     */
    @Excel(name = "产品单价")
    private BigDecimal productPrice;

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

    /**
     * 产品总价
     */
    @Excel(name = "产品总价")
    private BigDecimal productTotalPrice;

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

    /**
     * 商品数量
     */
    @Excel(name = "商品数量")
    private Integer waresQuantity;
    /**
     * 订单编号
     */
    @Excel(name = "订单编号")
    private String orderCode;

    private Integer orderType;

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


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

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

    /**
     * 隶属体系
     */
    @Excel(name = "隶属体系")
    private String vertexName;

    /**
     * 联系方式
     */
    @Excel(name = "联系方式")
    private String phone;

    /**
     * 发货类型
     */

    private Integer shippingChannel;

    /**
     * 发货类型 字符
     */
    @Excel(name = "发货类型")
    private String shippingChannelStr;


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

    /**
     * 收货电话
     */
    @Excel(name = "收货电话")
    private String recPhone;

    /**
     * 购买人编号
     */
    @Excel(name = "购买人编号")
    private String buyMemberCode;

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

    /**
     * 省外键
     */
    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;

    /**
     * 供应方式
     */
    @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 logisticsCode;
    /**
     * 物流公司
     */
    @Excel(name = "物流公司")
    private String logisticsCompany;

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

    /**
     * 系统类型（0=会员系统，1=海圣优选）
     */
    private Integer systemType;

    /**
     * 商品类型
     */
    private Integer isMakerGift;
    @Excel(name = "商品类型")
    private String isMakerGiftVal;

    /**
     * 创建时间
     */
    @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;

}
