import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
public class ApiOuterResponse {
public String apiErrorMsg;
public String apiResponseID;
public String apiResultCode;
public String apiResultData; // 是字符串,需要手动二次解析成 ApiResultData
// 内部类,解析apiResultData字段对应的JSON结构
public static class ApiResultData {
public boolean success;
public String errorCode;
public String errorMsg;
public MsgData msgData;
public static class MsgData {
public List<RouteResp> routeResps;
public static class RouteResp {
public String mailNo;
public List<Route> routes;
public static class Route {
public String acceptAddress;
public String acceptTime;
public String remark;
public String opCode;
}
}
}
}
}
import java.util.List;
public class ApiResponse {
public boolean success;
public String errorCode;
public String errorMsg;
public MsgData msgData;
public static class MsgData {
public String orderId;
public String originCode;
public String destCode;
public Integer filterResult;
public String remark;
public String url;
public String paymentLink;
public Boolean isUpstairs;
public Boolean isSpecialWarehouseService;
public String mappingMark;
public String agentMailno;
public List<Object> returnExtraInfoList; // 未明确结构,定义为Object列表
public List<WaybillNoInfo> waybillNoInfoList;
public List<RouteLabelInfo> routeLabelInfo;
public List<Object> contactInfoList; // 未明确结构,定义为Object列表
public String sendStartTm;
public String customerRights;
public String expressTypeId;
}
public static class WaybillNoInfo {
public Integer waybillType;
public String waybillNo;
public String boxNo;
public Double length;
public Double width;
public Double height;
public Double weight;
public Double volume;
}
public static class RouteLabelInfo {
public String code;
public RouteLabelData routeLabelData;
public String message;
}
public static class RouteLabelData {
public String waybillNo;
public String sourceTransferCode;
public String sourceCityCode;
public String sourceDeptCode;
public String sourceTeamCode;
public String destCityCode;
public String destDeptCode;
public String destDeptCodeMapping;
public String destTeamCode;
public String destTeamCodeMapping;
public String destTransferCode;
public String destRouteLabel;
public String proName;
public String cargoTypeCode;
public String limitTypeCode;
public String expressTypeCode;
public String codingMapping;
public String codingMappingOut;
public String xbFlag;
public String printFlag;
public String twoDimensionCode;
public String proCode;
public String printIcon;
public String abFlag;
public String destPortCode;
public String destCountry;
public String destPostCode;
public String goodsValueTotal;
public String currencySymbol;
public String cusBatch;
public String goodsNumber;
public String errMsg;
public String checkCode;
public String proIcon;
public String fileIcon;
public String fbaIcon;
public String icsmIcon;
public String destGisDeptCode;
public String newIcon; // JSON中为null,使用String类型,需根据实际可改为Object
public String sendAreaCode;
public String destinationStationCode;
public String sxLabelDestCode;
public String sxDestTransferCode;
public String sxCompany;
public String newAbFlag;
public String destAddrKeyWord;
public String rongType;
public String waybillIconList; // JSON中为null,定义为String或Object,具体视需求
}
}
import java.util.List;
/**
* 订单响应包装类
*/
public class OrderResponse {
/**
* 是否成功
*/
public boolean success;
/**
* 错误码
*/
public String errorCode;
/**
* 错误信息
*/
public String errorMsg;
/**
* 具体业务数据
*/
public MsgData msgData;
public static class MsgData {
/**
* 客户订单号
*/
public String orderId;
/**
* 原寄地区域代码,可用于顺丰电子运单标签打印
*/
public String originCode;
/**
* 目的地区域代码,可用于顺丰电子运单标签打印
*/
public String destCode;
/**
* 筛单结果:1=人工确认 2=可收派 3=不可以收派
*/
public Integer filterResult;
/**
* 如果filterResult=3时为必填,不可以收派的原因代码:
* 1=收方超范围 2=派方超范围 3=其它原因
* 高峰管控提示信息【数字】:【高峰管控提示信息】
*/
public String remark;
/**
* 二维码URL(用于CX退货操作的URL)
*/
public String url;
/**
* 用于第三方支付运费的URL
*/
public String paymentLink;
/**
* 是否送货上楼 1=是
*/
public String isUpstairs;
/**
* 包含特殊仓库增值服务,true/false
*/
public String isSpecialWarehouseService;
/**
* 下单补充的增值服务信息
*/
public List<ServiceInfo> serviceList;
/**
* 返回信息扩展属性,具体结构未知,暂定义Object
*/
public List<Object> returnExtraInfoList;
/**
* 顺丰运单号列表
*/
public List<WaybillNoInfo> waybillNoInfoList;
/**
* 路由标签列表(必填)
*/
public List<RouteLabelInfo> routeLabelInfo;
/**
* 联系信息列表,具体结构未知,暂定义Object
*/
public List<Object> contactInfoList;
/**
* 发送开始时间
*/
public String sendStartTm;
/**
* 客户权益,具体结构未知,暂定义Object或String
*/
public Object customerRights;
/**
* 快递类型ID
*/
public Object expressTypeId;
/**
* 乡村件不上门标签,1表示是不上门
*/
public String noToDoorPayment;
}
public static class ServiceInfo {
// 这里根据实际情况定义服务信息的字段
// 你可以补充字段和注释
}
public static class WaybillNoInfo {
/**
* 运单类型
*/
public Integer waybillType;
/**
* 运单号
*/
public String waybillNo;
/**
* 箱号
*/
public String boxNo;
/**
* 长度
*/
public Double length;
/**
* 宽度
*/
public Double width;
/**
* 高度
*/
public Double height;
/**
* 重量
*/
public Double weight;
/**
* 体积
*/
public Double volume;
}
public static class RouteLabelInfo {
/**
* 返回调用结果,1000调用成功,其他失败
*/
public String code;
/**
* 路由标签详细数据
*/
public RouteLabelData routeLabelData;
/**
* 失败异常描述
*/
public String message;
}
public static class RouteLabelData {
public String waybillNo;
public String sourceTransferCode;
public String sourceCityCode;
public String sourceDeptCode;
public String sourceTeamCode;
public String destCityCode;
public String destDeptCode;
public String destDeptCodeMapping;
public String destTeamCode;
public String destTeamCodeMapping;
public String destTransferCode;
/**
* 若返回路由标签,则必填。路由标签信息,不同配置结果不同,不能简单用"-"分割
*/
public String destRouteLabel;
public String proName;
public String cargoTypeCode;
public String limitTypeCode;
public String expressTypeCode;
/**
* 入港映射码,必填
*/
public String codingMapping;
public String codingMappingOut;
/**
* XB标志 0:不需要打印XB 1:需要打印XB
*/
public String xbFlag;
/**
* 打印标志,共9位,0和1组合,表示面单各字段是否打印
*/
public String printFlag;
/**
* 二维码字符串,格式示例:
* MMM={'k1':'020W','k2':'020ND','k3':'053','k4':'T801','k5':'SF7444497151060','k6':'','k7':'35656b83'}
*/
public String twoDimensionCode;
/**
* 时效类型:二维码中的K4值
*/
public String proCode;
/**
* 打印图标,8位0/1标记,表示各种托寄物图标是否展示
*/
public String printIcon;
/**
* AB标
*/
public String abFlag;
/**
* 面单图标列表,具体字段结构未知,暂定义Object
*/
public List<Object> waybillIconList;
/**
* 查询异常时返回的错误信息
*/
public String errMsg;
public String destPortCode;
public String destCountry;
public String destPostCode;
public String goodsValueTotal;
public String currencySymbol;
public String goodsNumber;
public String destAddrKeyWord;
}
}