package cn.iocoder.yudao.module.trade.framework.delivery.core.client.dto.kdniao;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import tools.jackson.databind.annotation.JsonDeserialize;
import tools.jackson.databind.ext.javatime.deser.LocalDateTimeDeserializer;
import java.time.LocalDateTime;
import java.util.List;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT;
/**
* 快递鸟快递查询 Resp DTO
*
* 参见 快递鸟接口文档
*
* @author jason
*/
@Data
public class KdNiaoExpressQueryRespDTO {
/**
* 快递公司编码
*/
@JsonProperty("ShipperCode")
private String shipperCode;
/**
* 快递单号
*/
@JsonProperty("LogisticCode")
private String logisticsNo;
/**
* 订单编号
*/
@JsonProperty("OrderCode")
private String orderNo;
/**
* 用户 ID
*/
@JsonProperty("EBusinessID")
private String businessId;
/**
* 普通物流状态
*
* 0 - 暂无轨迹信息
* 1 - 已揽收
* 2 - 在途中
* 3 - 签收
* 4 - 问题件
* 5 - 转寄
* 6 - 清关
*/
@JsonProperty("State")
private String state;
/**
* 成功与否
*/
@JsonProperty("Success")
private Boolean success;
/**
* 失败原因
*/
@JsonProperty("Reason")
private String reason;
/**
* 轨迹数组
*/
@JsonProperty("Traces")
private List tracks;
@Data
public static class ExpressTrack {
/**
* 发生时间
*/
@JsonProperty("AcceptTime")
@JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
private LocalDateTime acceptTime;
/**
* 轨迹描述
*/
@JsonProperty("AcceptStation")
private String acceptStation;
}
}