package com.hzs.sale.order.controller.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
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.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class OrderVo implements Serializable {

    private Long pkId;
    /**
     * 订单编号
     */

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


    /**
     * 订单类型 来源于专区设置
     */
    @Transaction(transactionKey = EnumsPrefixConstants.ORDER_TYPE)
    private Integer orderType;

    /**
     * 订单类型 来源于专区设置
     */

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

    /**
     * 订单金额
     */
    @Excel(name = "订单金额")
    private BigDecimal orderAmount;
    /**
     * 支付编号
     */
    @Excel(name = "支付编号")
    private String creatorCode;
    /**
     * 支付时间
     */
    @Excel(name = "支付时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;

    /**
     * 创建人姓名（支付姓名）
     */
    @Excel(name = "支付姓名")
    private String creatorName;

    /**
     * 店铺名称
     */
    @Excel(name = "店铺名称")
    private String storeName;
    /**
     * 店铺编号
     */
    @Excel(name = "店铺编号")
    private String storeCode;

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

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

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

    @Transaction(transactionKey = EnumsPrefixConstants.ORDER_STATUS)
    private Integer orderStatus;
    /**
     * 订单状态
     */
    @Excel(name = "订单状态")
    private String orderStatusVal;

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

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

    /**
     * 收货省
     */
    @Excel(name = "省")
    private String recProvince;
    /**
     * 收货市
     */
    @Excel(name = "市")
    private String recCity;
    /**
     * 收货县
     */
    //  @Excel(name = "县")
    private String recCounty;
    /**
     * 地址
     */
    @Excel(name = "详细地址")
    private String recAddress;


    /**
     * 店铺名称
     */
    private String storeLevelName;

    @Transaction
    private List<OrderItemVO> orderItemVOList;
}
