package com.liquidnet.service.goblin.dto.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

@Data
@ApiModel
public class GoblinMailVo implements Serializable, Cloneable {

    @ApiModelProperty(value = "快递id（系统生成，查物流轨迹请传此字段）")
    private String mailId;
    @ApiModelProperty(value = " 订单id")
    private String orderId;
    @ApiModelProperty(value = "快递单号（运单号）")
    private String mailNo;
    @ApiModelProperty(value = " 发货时间")
    private String deliveryTime;
    @ApiModelProperty(value = " 物流公司姓名")
    private String logisticsCompany;
    @ApiModelProperty(value = " 物流公司code[物流公司id]")
    private String logisticsCode;
    @ApiModelProperty(value = "orderSkuId")
    private List<String> orderSkuVoIds;
    @ApiModelProperty(value = "orderSkuVo")
    private List<GoblinOrderSkuVo> orderSkuVos;

    @ApiModelProperty(value = "物流状态值(快递100高级状态)：0-在途|1-揽收|2-疑难|3-签收|4-退签|5-派件|6-退回|7-转投|8-清关|10-待清关|11-清关中|12-已清关|13-清关异常|14-拒签")
    private String state;
    @ApiModelProperty(value = "物流状态文案(由 state 映射)")
    private String stateText;
    @ApiModelProperty(value = "最新物流描述")
    private String latestContext;
    @ApiModelProperty(value = "最新物流时间")
    private String latestTime;
    @ApiModelProperty(value = "轨迹地图链接")
    private String trailUrl;
    @ApiModelProperty(value = "是否签收 0/1")
    private String ischeck;

    private static final GoblinMailVo obj = new GoblinMailVo();

    public static GoblinMailVo getNew() {
        try {
            return (GoblinMailVo) obj.clone();
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
        return new GoblinMailVo();
    }

}
