package org.dromara.system.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.system.domain.TblDzbcCargoOrder;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = TblDzbcCargoOrder.class)
public class TblDzbcCargoOrderVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @ExcelProperty(value = "编号")
    private Long id;

    @ExcelProperty(value = "订单编号")
    private String orderNo;

    @ExcelProperty(value = "司机任务ID")
    private Long tripId;

    @ExcelProperty(value = "任务编号")
    private String tripNo;

    @ExcelProperty(value = "用户ID")
    private Long userId;

    @ExcelProperty(value = "用户姓名")
    private String userName;

    @ExcelProperty(value = "用户电话")
    private String userPhone;

    @ExcelProperty(value = "发货人姓名")
    private String senderName;

    @ExcelProperty(value = "发货人电话")
    private String senderPhone;

    @ExcelProperty(value = "收货人姓名")
    private String receiverName;

    @ExcelProperty(value = "收货人电话")
    private String receiverPhone;

    @ExcelProperty(value = "起始站点ID")
    private Long fromSiteId;

    @ExcelProperty(value = "起始站点名称")
    private String fromSiteName;

    @ExcelProperty(value = "送达站点ID")
    private Long toSiteId;

    @ExcelProperty(value = "送达站点名称")
    private String toSiteName;

    @ExcelProperty(value = "价格（分）")
    private Integer price;

    @ExcelProperty(value = "支付状态 0-待支付 1-已支付")
    private Integer payStatus;

    @ExcelProperty(value = "支付时间")
    private LocalDateTime payTime;

    @ExcelProperty(value = "支付交易号")
    private String payTradeNo;

    @ExcelProperty(value = "订单状态 0-待发货 1-已取货 2-运输中 3-已送达 4-已取消")
    private Integer status;

    @ExcelProperty(value = "货物数量")
    private Integer cargoCount;

    @ExcelProperty(value = "货物重量（kg）")
    private BigDecimal cargoWeight;

    @ExcelProperty(value = "货物价值（元）")
    private BigDecimal cargoValue;

    @ExcelProperty(value = "备注")
    private String remark;

    @ExcelProperty(value = "扩展1")
    private String ext1;

    @ExcelProperty(value = "扩展2")
    private String ext2;

    private List<TblDzbcCargoItemVo> items;
}
