package com.hzs.sale.order.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.hzs.common.core.annotation.Excel;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.Data;

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

/**
 * @Description:
 * @Author: yuhui
 * @Time: 2023/1/31 14:09
 * @Classname: WaresOrderVo
 * @PackageName: com.hzs.sale.order.vo
 */
@Data
public class  WaresOrderVo {

    /**
     * 产品主图
     */
    //  @Excel(name = "产品主图")
    private String cover1;

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


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

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

    /**
     * 订单编号
     */
    @Excel(name = "订单编号")
    private String orderCode;

    /**
     * 商品编号
     */
    private String commodityCode;
    /**
     * 商品名称
     */
    private String commodityName;

    @Transaction(transactionKey = EnumsPrefixConstants.ORDER_TYPE)
    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 phone;

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

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

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


    /**
     * 产品翻译
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_PRO)
    private Integer productTransacTion;


    private String productTransacTionVal;
    /**
     * 商品翻译
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_SPEC)
    private Integer waresTransacTion;


    private String waresTransacTionVal;


    /**
     * 物流单号（用逗号间隔）
     */
  //  @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;
    /**
     * 店铺名称
     */
    @Excel(name = "所属店铺")
    private String storeName;

    /**
     * 所属店铺主键
     */
    private Integer pkStore ;

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

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


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

    @Excel(name = "商品数量")
    private Integer waresQuantity;
    /**
     * 发货方式 值
     */

    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;

    @Excel(name = "订单推荐人编号")
    private String orderParentCode;
    /**
     * 订单推荐人
     */
    @Excel(name = "订单推荐人")
    private String orderParentName;
    /**
     * 重量
     */
    private BigDecimal weight;
    /**
     * 展示汇率
     */
    private BigDecimal inExchangeRate;
    /**
     * 产品订单明细列表
     */
    private List<MyOrderItemsVO> productList;
    /**
     * 是否赠品
     */
    private Integer isGift;

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

    /**
     * 产品单价
     */
    private BigDecimal productPrice;
    /**
     * 产品总价
     */
    private BigDecimal productPriceTotal;


}
