|
|
|
@ -0,0 +1,110 @@
|
|
|
|
|
/*
|
|
|
|
|
* Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved.
|
|
|
|
|
*
|
|
|
|
|
* https://www.mall4j.com/
|
|
|
|
|
*
|
|
|
|
|
* 未经允许,不可做商业用途!
|
|
|
|
|
*
|
|
|
|
|
* 版权所有,侵权必究!
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
package com.yami.shop.bean.app.dto;
|
|
|
|
|
|
|
|
|
|
import io.swagger.v3.oas.annotations.media.Schema;
|
|
|
|
|
import lombok.Data;
|
|
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @author lanhai
|
|
|
|
|
*//*
|
|
|
|
|
* * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved.
|
|
|
|
|
* *
|
|
|
|
|
* * https://www.mall4j.com/
|
|
|
|
|
* *
|
|
|
|
|
* * 未经允许,不可做商业用途!
|
|
|
|
|
* *
|
|
|
|
|
* * 版权所有,侵权必究!
|
|
|
|
|
* */
|
|
|
|
|
*
|
|
|
|
|
*package com.yami.shop.bean.app.dto;
|
|
|
|
|
*
|
|
|
|
|
*import io.swagger.v3.oas.annotations.media.Schema;
|
|
|
|
|
*import lombok.Data;
|
|
|
|
|
*import java.util.List;
|
|
|
|
|
*
|
|
|
|
|
* /**
|
|
|
|
|
* * `DeliveryDto`类是一个数据传输对象(DTO),主要用于在电商系统应用层不同组件或模块之间传递与物流配送相关的综合信息。
|
|
|
|
|
* * 它将涉及物流公司、物流订单以及对应的详细物流信息等多方面的数据进行整合封装,以便在诸如订单物流查询结果展示、
|
|
|
|
|
* * 向用户反馈物流状态等业务场景下进行规范、清晰的数据传递,使得各业务环节能基于这些完整的物流数据进行相应操作,
|
|
|
|
|
* * 提升用户体验以及保障物流相关业务流程的顺畅进行。
|
|
|
|
|
*
|
|
|
|
|
* * @author lanhai
|
|
|
|
|
* */
|
|
|
|
|
*@Data
|
|
|
|
|
*
|
|
|
|
|
|
|
|
|
|
public class DeliveryDto {
|
|
|
|
|
*
|
|
|
|
|
* /**
|
|
|
|
|
* * `companyName`属性用于存储物流公司的名称,它明确指出了负责当前物流配送的公司具体称谓,
|
|
|
|
|
* * 例如“顺丰速运”“申通快递”“京东物流”等常见的物流公司名称。在向用户展示物流信息或者在系统内部区分不同物流服务提供商时,
|
|
|
|
|
* * 这个属性起着关键的标识作用,并且通过 `@Schema` 注解标记其描述为“物流公司名称”且为必填项(`required = true`),
|
|
|
|
|
* * 确保在数据传递过程中该重要信息不会缺失,保证物流信息展示的完整性和准确性。
|
|
|
|
|
* */
|
|
|
|
|
*
|
|
|
|
|
@Schema(description = "物流公司名称", required = true)
|
|
|
|
|
*
|
|
|
|
|
private String companyName;
|
|
|
|
|
*
|
|
|
|
|
* /**
|
|
|
|
|
* * `companyHomeUrl`属性存放的是物流公司的官方网站网址,即用户可以通过访问这个网址获取该物流公司更详细全面的信息,
|
|
|
|
|
* * 比如公司的服务介绍、业务范围、客服联系方式以及快递查询入口等内容。在电商系统中,有时候可能会为用户提供链接跳转功能,
|
|
|
|
|
* * 方便用户直接从订单物流界面跳转到物流公司官网进一步了解相关情况,通过 `@Schema` 注解将其描述为“物流公司官网”且设为必填项,
|
|
|
|
|
* * 保证了在传递物流相关数据时该网址信息的完整性,有助于完善物流信息服务。
|
|
|
|
|
* */
|
|
|
|
|
*
|
|
|
|
|
@Schema(description = "物流公司官网", required = true)
|
|
|
|
|
*
|
|
|
|
|
private String companyHomeUrl;
|
|
|
|
|
*
|
|
|
|
|
* /**
|
|
|
|
|
* * `dvyFlowId`属性代表物流订单号,它是每个物流包裹在相应物流公司系统中的唯一标识符,
|
|
|
|
|
* * 通过这个订单号,物流公司可以准确查询到该包裹的具体运输情况、轨迹信息等,在电商系统中,
|
|
|
|
|
* * 用户查询自己订单的物流状态时,就是依靠这个订单号向物流公司的查询接口发起请求来获取物流详情的,
|
|
|
|
|
* * 借助 `@Schema` 注解标记其为“物流订单号”并设为必填项,确保在物流数据传递及后续查询操作中有准确的订单号依据。
|
|
|
|
|
* */
|
|
|
|
|
*
|
|
|
|
|
@Schema(description = "物流订单号", required = true)
|
|
|
|
|
*
|
|
|
|
|
private String dvyFlowId;
|
|
|
|
|
*
|
|
|
|
|
* /**
|
|
|
|
|
* * `data`属性是一个列表类型,其中的元素为 `DeliveryInfoDto` 类型,用于存放查询出的详细物流信息。
|
|
|
|
|
* * 它包含了诸如快递包裹的当前状态(已揽收、运输中、派送中、已签收等)、所在区域、更新时间等具体的物流动态数据,
|
|
|
|
|
* * 通过将这些详细信息整合在一个列表中,可以完整地展示物流的整个过程以及当前状态,方便用户全面了解自己包裹的运输情况。
|
|
|
|
|
* * 利用 `@Schema` 注解将其描述为“查询出的物流信息”并设为必填项,保证了在向用户或其他业务模块传递物流数据时,
|
|
|
|
|
* * 有完整且准确的详细物流内容可供使用,提升物流信息展示的质量和实用性。
|
|
|
|
|
* */
|
|
|
|
|
*
|
|
|
|
|
@Schema(description = "查询出的物流信息", required = true)
|
|
|
|
|
*
|
|
|
|
|
private List<DeliveryInfoDto> data;
|
|
|
|
|
*
|
|
|
|
|
}
|
|
|
|
|
@Data
|
|
|
|
|
public class DeliveryDto {
|
|
|
|
|
|
|
|
|
|
@Schema(description = "物流公司名称" ,required=true)
|
|
|
|
|
private String companyName;
|
|
|
|
|
|
|
|
|
|
@Schema(description = "物流公司官网" ,required=true)
|
|
|
|
|
private String companyHomeUrl;
|
|
|
|
|
|
|
|
|
|
@Schema(description = "物流订单号" ,required=true)
|
|
|
|
|
private String dvyFlowId;
|
|
|
|
|
|
|
|
|
|
@Schema(description = "查询出的物流信息" ,required=true)
|
|
|
|
|
private List<DeliveryInfoDto> data;
|
|
|
|
|
|
|
|
|
|
}
|