package com.fs.his.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 FsStoreOrderExportVO implements Serializable
{
    private static final long serialVersionUID = 1L;

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

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

    @Excel(name = "所属公司")
    private String companyName;
    @Excel(name = "所属销售")
    private String companyUserNickName;

    @Excel(name = "店铺名称")
    private String storeName;



    @Excel(name = "订单类型", dictType = "sys_store_order_type")
    private String orderType;



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

    /** 用户电话 */
    @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 payRemain;




//    /** 支付邮费 */
//    private BigDecimal payPostage;

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

//    /** 优惠券id */
//    private Long couponId;

//    /** 支付状态 */
//    private Integer paid;

    @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 = "sys_store_pay_type")
    private String payType;

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

//    /** 0 未退款 1 申请中 2 已退款 */
////    @Excel(name = "0 未退款 1 申请中 2 已退款")
//    private Integer refundStatus;
//
//    /** 退款图片 */
////    @Excel(name = "退款图片")
//    private String refundReasonWapImg;
//
//    /** 退款用户说明 */
////    @Excel(name = "退款用户说明")
//    private String refundReasonWapExplain;

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

//    /** 前台退款原因 */
////    @Excel(name = "前台退款原因")
//    private String refundReasonWap;
//
//    /** 不退款的理由 */
////    @Excel(name = "不退款的理由")
//    private String refundReason;

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

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

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

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

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

    @Excel(name = "物流代收结算状态", dictType = "sys_store_delivery_pay_status")
    private Integer deliveryPayStatus;

    @Excel(name = "快递账单日期" )
    private String deliveryTime;

    @Excel(name = "快递结算日期")
    private String deliveryPayTime;

    @Excel(name = "物流结算费用")
    private BigDecimal deliveryPayMoney;

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

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

    @Excel(name = "套餐名称")
    private String packageName;

    @Excel(name = "套餐包别名")
    private String packageSecondName;

    @Excel(name = "订单购买类型" , dictType = "sys_store_order_buy_type")
    private Long orderBuyType;

    @Excel(name = "公众号/渠道")
    private String channel;

    @Excel(name = "档期归属")
    private String scheduleName;

    @Excel(name = "推广佣金状态" , dictType = "sys_tui_money_status")
    private String tuiMoneyStatus;

    @Excel(name = "渠道", dictType = "sys_store_channel")
    private String orderChannel;

    @Excel(name = "企微主体", dictType = "sys_store_qw_subject")
    private String qwSubject;

    @Excel(name = "疗程天数")
    private Integer cycle;

    @Excel(name = "随访频率")
    private Integer followFrequency;

    @Excel(name = "随访次数")
    private Integer followCount;


    @Excel(name = "就诊人")
    private String patientName;
    @Excel(name = "与本人关系")
    private String relation;
    @Excel(name = "会员")
    private String user;
    @Excel(name = "医生")
    private String doctorName;
    @Excel(name = "套餐包分类")
    private String packageCateName;
    @Excel(name = "年龄")
    private String age;
    @Excel(name = "性别", dictType = "sys_patient_sex")
    private String sex;

    @Excel(name = "订单来源" , dictType = "sys_order_source")
    private Integer source;
}
