package com.fs.store.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fs.common.annotation.Excel;
import lombok.Data;

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

/**
 * 订单对象 fs_store_order
 *
 * @author fs
 * @date 2022-03-15
 */

@Data
public class FsStoreOrderScrmPromotionExportVO implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** 订单ID */
    private Long id;

    /** 订单号 */
    @Excel(name = "订单号")
    private String orderCode;
    @Excel(name = "会员ID")
    private Long userId;
    /** 额外订单号 */
    @Excel(name = "管易云订单号")
    private String extendOrderId;

    //发起人
    @Excel(name = "发起人")
    private String initiator;

    //推广人昵称
    @Excel(name = "推广人昵称")
    private String tuiNickName;

    /** 用户昵称 */
    @Excel(name = "用户昵称")
    private String userNickName;

    /** 用户姓名 */
    @Excel(name = "收货人姓名")
    private String realName;

    /** 用户电话 */
    @Excel(name = "收货人电话")
    private String userPhone;
    /** 详细地址 */
    @Excel(name = "详细地址")
    private String userAddress;

    /** 订单总价 */
    @Excel(name = "商品金额",cellType= Excel.ColumnType.NUMERIC)
    private BigDecimal totalPrice;

    /** 实际支付金额 */
    @Excel(name = "应付金额",cellType= Excel.ColumnType.NUMERIC)
    private BigDecimal payPrice;

    @Excel(name = "实付金额",cellType= Excel.ColumnType.NUMERIC)
    private BigDecimal payMoney;

    /** 优惠券金额 */
    @Excel(name = "优惠券金额",cellType= Excel.ColumnType.NUMERIC)
    private BigDecimal couponPrice;

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

    /** 支付方式 */
    @Excel(name = "支付方式" ,dictType = "store_pay_type")
    private String payType;

    /** 订单状态（-1 : 申请退款 -2 : 退货成功 0：待发货；1：待收货；2：已收货；3：已完成；-1：已退款） */
    @Excel(name = "订单状态", dictType = "store_order_status")
    private String status;

    @Excel(name = "一级佣金")
    private BigDecimal brokerage;

    @Excel(name = "二级佣金")
    private BigDecimal brokerageTwo;

    @Excel(name = "三级佣金")
    private BigDecimal brokerageThree;

    /** 退款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "退款时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date refundReasonTime;

    /** 退款金额 */
    @Excel(name = "退款金额",cellType= Excel.ColumnType.NUMERIC)
    private BigDecimal refundPrice;

    /** 快递公司编号 */
    @Excel(name = "快递公司编号")
    private String deliverySn;

    /** 快递名称/送货人姓名 */
    @Excel(name = "快递公司")
    private String deliveryName;

    /** 快递单号/手机号 */
    @Excel(name = "快递单号")
    private String deliveryId;

    @Excel(name = "备注")
    private String mark;

    @Excel(name = "物流状态" , dictType = "store_order_delivery_status")
    private String deliveryStatus;

    @Excel(name = "物流跟踪状态" , dictType = "store_order_delivery_type")
    private String deliveryType;

    @Excel(name = "客户编码")
    private String customerCode;

    @Excel(name = "套餐名称",width = 60)
    private String packageTitle;

    /** 成本价 */
    @Excel(name = "订单成本价")
    private BigDecimal cost;

    private String phone;

    private String packageJson;




}
