package com.tzy.base.dto;

import com.tzy.common.annotation.Excel;
import lombok.Data;
import lombok.ToString;

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

/**
 * 订单基础表
 */
@Data
@ToString
public class OrderBaseInfoDto implements Serializable {

    /** id */
    private Long id;

    /** 组团信息id */
    @Excel(name = "组团信息id")
    private Long groupInfoId;

    /** 商家id */
    @Excel(name = "商家id")
    private Long merchantId;
    /**商家名*/
    private String merchantName;

    /** 用户id */
    @Excel(name = "用户id")
    private Long userId;

    @Excel(name = "用户昵称",sort = 6)
    private String nickname;

    /** 收货地址id */
    @Excel(name = "收货地址id")
    private Long shippingAddressId;

    /** 购买数量 */
    @Excel(name = "购买数量")
    private Long purchaseCount;

    /** 订单编码 */
    @Excel(name = "订单编码")
    private String orderNo;

    /** 应付款 */
    @Excel(name = "应付款")
    private BigDecimal accountsPayable;

    /** 实付款 */
    @Excel(name = "实付款")
    private BigDecimal actualPayment;

    /** 支付方式-交易类型 */
    @Excel(name = "支付方式-交易类型")
    private String paymentType;

    /** 支付流水号-微信支付订单号 */
    @Excel(name = "支付流水号-微信支付订单号")
    private String paymentNum;

    /** 支付时间 */
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date paymentTime;

    /** 优惠券 */
    @Excel(name = "优惠券")
    private Long coupon;

    /** 折扣 */
    @Excel(name = "折扣")
    private BigDecimal discount;

    /** 订单状态 */
    @Excel(name = "订单状态")
    private Long status;

    /** 预支付交易会话标识:支付时用 */
    @Excel(name = "预支付交易会话标识:支付时用")
    private String prepayId;

    /** 支付通知id */
    @Excel(name = "支付通知id")
    private String paymentEvid;

    /** 交易状态 */
    @Excel(name = "交易状态")
    private String paymentStatus;

    /** 交易状态描述 */
    @Excel(name = "交易状态描述")
    private String paymentStatusDesc;

    /** 付款银行 */
    @Excel(name = "付款银行")
    private String paymentBankType;

    /** 支付完成时间 */
    @Excel(name = "支付完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date paymentSuccessTime;

    /** 姓名 */
    @Excel(name = "姓名")
    private String shippingAddressLinkname;

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

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

    /** 删除标记：0=正常，1=删除 */
    @Excel(name = "删除标记：0=正常，1=删除")
    private Long delFlg;

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

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

    /** 商户退款单号 */
    @Excel(name = "商户退款单号")
    private String outRefundNo;

    /** 微信退款id */
    @Excel(name = "微信退款id")
    private String refundId;

    /** 退款金额 */
    @Excel(name = "退款金额")
    private BigDecimal refundFee;

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

    /** 是否匿名 */
    @Excel(name = "是否匿名")
    private Boolean anonymous;

    /** 提货方式 */
    @Excel(name = "提货方式")
    private String pickUpType;

    /** 发货时间 */
    @Excel(name = "发货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date shipTime;

    /** 退款成功时间 */
    @Excel(name = "退款成功时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date refundSuccessTime;

    /** 退款入账账户 */
    @Excel(name = "退款入账账户")
    private String refundRecvAccout;

    /** 退款资金来源 */
    @Excel(name = "退款资金来源")
    private String refundAccount;

    /** 退款发起来源 */
    @Excel(name = "退款发起来源")
    private String refundRequestSource;

    /** 单价 */
    @Excel(name = "单价")
    private BigDecimal cardPrice;

    /** 活动价 */
    @Excel(name = "活动价")
    private BigDecimal actPrice;

    /** 价格json */
    @Excel(name = "价格json")
    private String goodsPriceJson;

    /**  */
    @Excel(name = "支付 子分类：杉德支付", readConverterExp = "微信")
    private String paymentSubType;

    /** 买队优先订单 */
    @Excel(name = "买队优先订单")
    private String teamFirst;

    /** 是否接受累积发货 */
    @Excel(name = "是否接受累积发货")
    private Long refuseStatus;

    /** 备用 */
    @Excel(name = "备用")
    private String prop1;

    /** 备用 */
    @Excel(name = "备用")
    private String prop2;

    /** 备用 */
    @Excel(name = "备用")
    private String prop3;

    /** 备用 */
    @Excel(name = "备用")
    private String prop4;

    /** 支付编号 qm */
    @Excel(name = "支付编号")
    private String tradeNo;

    /** 消耗积分 */
    @Excel(name = "消耗积分")
    private Long point;

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

    /** 订单类型 */
    @Excel(name = "订单类型")
    private String orderType;

    /** 仅退款refund_amount,退货退款refund_goods,换货change */
    @Excel(name = "仅退款refund_amount,退货退款refund_goods,换货change")
    private String refundType;

    /** 订单退换原因 */
    @Excel(name = "订单退换原因")
    private String refundReason;

    /** 订单评价 */
    @Excel(name = "订单评价")
    private String evaluation;

    /** 退换物流公司 */
    @Excel(name = "退换物流公司")
    private String refundCurierCompany;

    /** 退换物流单号 */
    @Excel(name = "退换物流单号")
    private String refundCourierNum;

    /** 退换申请时间 */
    @Excel(name = "退换申请时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date userRefundTime;

    /** 1:申请  2同意 3拒绝 ,4退回货物  5商家收到货 */
    @Excel(name = "1:申请  2同意 3拒绝 ,4退回货物  5商家收到货")
    private Long refundStatus;

    /** 退换物流时间 */
    @Excel(name = "退换物流时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date refundShipTime;

    /** 商家拒绝原因 */
    @Excel(name = "商家拒绝原因")
    private String merchantRefundReason;

    private String remark;

    private Date createTime;

    private String createBy;

    private Date updateTime;

    private String updateBy;


}
