package com.cpxt.biz.domain.vo;

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

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

/**
 * 订单导入模板对象（调度员）
 *
 * @author YIN
 * @date 2024-12-16
 */
@Data
public class BizOrderVo
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

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

    /** 订单状态 */
    private String orderStatus;

    /** 订单类型 */
    private String orderType;

    /** 客户ID */
    private Long customerId;

    /** 客户名称 */
    @Excel(name = "客户名称")
    private String customerName;

    /** 路线ID */
    private Long routeId;

    /** 路线名称 */
    @Excel(name = "路线名称")
    private String routeName;

    /** 仓库ID */
    private Long warehouseId;

    /** 仓库名称 */
    @Excel(name = "仓库名称")
    private String warehouseName;

    /** 店铺ID */
    private Long shopId;

    /** 店铺名称 */
    @Excel(name = "店铺名称")
    private String shopName;

    /** 配送车辆ID */
    private Long carId;

    /** 配送车牌号 */
    @Excel(name = "配送车牌号")
    private String carNo;

    /** 配送司机ID */
    private Long driverId;

    /** 配送司机名称 */
    @Excel(name = "配送司机名称")
    private String driverName;

    /** 副驾司机ID */
    private Long copilotId;

    /** 副驾司机名称 */
    @Excel(name = "副驾司机名称")
    private String copilotName;

    /** 发件人名称 */
    private String senderName;

    /** 发件联系人 */
    private String senderLinkman;

    /** 发件人电话 */
    private String senderPhone;

    /** 发件人地址 */
    private String senderAddress;

    /** 发件人经度 */
    private BigDecimal senderLng;

    /** 发件人纬度 */
    private BigDecimal senderLat;

    /** 发件人公司名称 */
    private String senderCompany;

    /** 收件人名称 */
    private String receiverName;

    /** 收件联系人 */
    private String receiverLinkman;

    /** 收件人电话 */
    private String receiverPhone;

    /** 收件人地址 */
    private String receiverAddress;

    /** 收件人经度 */
    private BigDecimal receiverLng;

    /** 收件人纬度 */
    private BigDecimal receiverLat;

    /** 收件人公司名称 */
    private String receiverCompany;

    /** 物品类型 */
    @Excel(name = "物品类型",dictType = "sys_goods_type")
    private String goodsType;

    /** 物品名称 */
    @Excel(name = "物品名称")
    private String goodsName;

    /** 重量 */
    @Excel(name = "重量")
    private BigDecimal weight;

    /** 体积 */
    private BigDecimal volume;

    /** 长（米） */
    @Excel(name = "长")
    private BigDecimal length;

    /** 宽（米） */
    @Excel(name = "宽")
    private BigDecimal width;

    /** 高（米） */
    @Excel(name = "高")
    private BigDecimal height;

    /** 包裹总件数 */
    private Integer totalQuantity;

    /** 是否保价 */
    private Integer insured;

    /** 保价金额 */
    private BigDecimal insuredMoney;

    /** 保价费用 */
    private BigDecimal insuredFee;

    /** 订单费用 */
    private BigDecimal orderFee;

    /** 是否取消 */
    private Integer isCancel;

    /** 取消原因 */
    private String cancelReason;

    /** 取消时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date cancelTime;

    /** 支付类型 寄付，到付，月结 */
    private String payType;

    /** 支付方式 支付宝，微信 */
    private String payMode;

    /** 支付系统订单号 */
    private String payId;

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

    /** 支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;

    /** 状态 */
    private Integer status;

    /** 开始配送时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /** 到达时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date arriveTime;

    /** 到达备注 */
    private String arriveRemark;

    /** 到达经度 */
    private BigDecimal arriveLng;

    /** 到达纬度 */
    private BigDecimal arriveLat;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

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