package com.hzs.sale.order.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.math.BigDecimal;
import java.util.Date;

/**
 * @Description: 查询商品订单VO
 * @Author: jiang chao
 * @Time: 2023/5/29 17:48
 * @Classname: SaTOrderQueryVO
 * @PackageName: com.hzs.sale.order.vo
 */
@Data
public class SaTOrderQueryVO {

    /**
     * 订单ID
     */
    private Long pkOrder;
    /**
     * 订单明细ID
     */
    private Long pkOrderItems;

    /**
     * 产品名称
     */
    @Excel(name = "产品名称")
    private String productName;
    /**
     * 产品规格
     */
    @Excel(name = "产品规格")
    private String specsName;
    /**
     * 产品单价
     */
    @Excel(name = "产品单价(¥)")
    private BigDecimal price;
    /**
     * 产品业绩
     */
    @Excel(name = "产品业绩($)")
    private BigDecimal achievement;

    /**
     * 订单状态 (0=待付款,1=已付款,2=已合单,3=待收货,4=已撤单,5=已收货)
     */
    @Transaction(transactionKey = EnumsPrefixConstants.ORDER_STATUS)
    private Integer orderStatus;
    /**
     * 订单状态显示
     */
    @Excel(name = "发货状态")
    private String orderStatusVal;

    /**
     * 物流单号
     */
    @Excel(name = "物流单号")
    private String logisticsCode;
    /**
     * 物流公司
     */
    @Excel(name = "物流公司")
    private String logisticsCompany;
    /**
     * 产品数量
     */
    @Excel(name = "产品数量")
    private Integer quantity;

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

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

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

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

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

    /**
     * 省
     */
    private Integer recProvince;
    /**
     * 省显示
     */
    @Excel(name = "省")
    private String recProvinceVal;

    /**
     * 市
     */
    private Integer recCity;
    /**
     * 市显示
     */
    @Excel(name = "市")
    private String recCityVal;

    /**
     * 县
     */
    private Integer recCounty;
    /**
     * 县显示
     */
    @Excel(name = "区/县")
    private String recCountyVal;

    /**
     * 收货地址
     */
    @Excel(name = "详细地址")
    private String recAddress;

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

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

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

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

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


}
