diff --git a/yami-shop-bean/src/main/java/com/yami/shop/bean/app/dto/DeliveryDto.java b/yami-shop-bean/src/main/java/com/yami/shop/bean/app/dto/DeliveryDto.java new file mode 100644 index 0000000..160bbf2 --- /dev/null +++ b/yami-shop-bean/src/main/java/com/yami/shop/bean/app/dto/DeliveryDto.java @@ -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 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 data; + +} diff --git a/yami-shop-bean/src/main/java/com/yami/shop/bean/app/dto/DeliveryInfoDto.java b/yami-shop-bean/src/main/java/com/yami/shop/bean/app/dto/DeliveryInfoDto.java new file mode 100644 index 0000000..8991d36 --- /dev/null +++ b/yami-shop-bean/src/main/java/com/yami/shop/bean/app/dto/DeliveryInfoDto.java @@ -0,0 +1,68 @@ +/* + * 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; + +/** + * `DeliveryInfoDto`类是一个数据传输对象(DTO),在电商系统的物流相关业务场景中发挥着重要作用, + * 主要用于在不同的业务组件或模块之间传递快递物流过程中的具体信息,以便实现诸如向用户展示物流详情、 + * 系统内部记录物流轨迹等功能,确保物流信息的传递清晰、规范且完整。 + + * @author lanhai + */ +@Data +public class DeliveryInfoDto { + + /** + * `context`属性用于承载快递物流的详细描述信息,这是一个非常关键的属性,涵盖了包裹运输过程中的诸多重要情况。 + * 例如,它可能包含包裹当前所处的具体状态,像“已揽收”表示快递员已经接收了包裹开始运输流程,“运输中”说明包裹正在运往目的地的途中, + * “派送中”意味着快递即将送到收件人手中,“已签收”则代表收件人已成功接收包裹等;同时还可能包含一些额外的详细说明, + * 比如“因恶劣天气原因,派送可能延迟”或者“包裹在中转站点进行分拣”之类的特殊情况备注。无论是在前端页面展示给用户查看, + * 还是在系统后台用于记录和分析物流状态,这个属性都提供了最为核心的文字描述内容。 + * 通过 `@Schema` 注解明确其描述为“详细信息”且标记为必填项(`required = true`),以此确保在物流信息传递过程中, + * 该关键的详细情况能够完整无误地传达,使得各方都能准确知晓快递的具体进展和相关特殊情况。 + */ + @Schema(description = "详细信息", required = true) + private String context; + + /** + * `ftime`属性用于存放快递预计送达时间相关的信息,其具体的表现形式和含义通常会依据系统的业务设定有所不同。 + * 它有可能是一个遵循特定日期时间格式(比如常见的 `yyyy-MM-dd HH:mm:ss`)的精确时间,表示预计包裹将会在这个时间点送达收件人处; + * 也可能是一种相对模糊但通俗易懂的时间范围描述,例如“明天上午”“后天下午”等,目的是为用户提供一个大致的心理预期, + * 方便用户提前安排好接收包裹的相关事宜。不过,与其他必填属性不同,该属性并非强制要求每次都必须提供具体值, + * 因为在某些情况下,物流信息可能暂时无法准确预估送达时间,所以可根据实际掌握的物流数据完整性来决定是否填充该属性内容。 + */ + private String ftime; + + /** + * `location`属性主要记录快递包裹当前所在的区域信息,这对于用户追踪包裹位置以及了解其运输路线具有重要意义。 + * 具体而言,它可以精确到城市、区县等地理范围,比如“北京市朝阳区”“上海市浦东新区”;也有可能进一步细化到具体的快递站点名称, + * 像“XX快递XX街道营业点”,或者是更宽泛一点的配送区域划分,例如“XX小区配送范围”等。通过明确快递所在的区域, + * 用户能够对包裹的大致地理位置有较为直观清晰的了解,从而更好地预估包裹到达自己手中的时间等情况。 + * 借助 `@Schema` 注解将其描述为“快递所在区域”并设定为必填项,确保在物流数据传递过程中, + * 始终能准确传达包裹的所在位置信息,方便展示给用户知晓其运输轨迹。 + */ + @Schema(description = "快递所在区域", required = true) + private String location; + + /** + * `time`属性用于记录物流信息的更新时间,通常采用标准的日期时间格式(如 `yyyy-MM-dd HH:mm:ss`)来准确表示。 + * 这个时间点明确了当前这条物流信息是在何时被记录或者更新的,其重要性体现在多个方面。对于用户来说, + * 可以依据更新时间判断所看到的物流信息是否是最新的,从而了解包裹运输状态的时效性;而在系统内部, + * 开发人员可以基于更新时间对物流数据进行排序、筛选等操作,以便更有序地管理和展示物流信息,或者进行数据分析等工作。 + * 通过 `@Schema` 注解标记为“物流更新时间”且设为必填项,保证了物流数据的及时性和准确性能够在各个业务环节得以准确体现, + * 维持整个物流信息管理的有序性和可靠性。 + */ + @Schema(description = "物流更新时间", required = true) + private String time; +} \ No newline at end of file diff --git a/yami-shop-bean/src/main/java/com/yami/shop/bean/model/Delivery.java b/yami-shop-bean/src/main/java/com/yami/shop/bean/model/Delivery.java new file mode 100644 index 0000000..63b2d32 --- /dev/null +++ b/yami-shop-bean/src/main/java/com/yami/shop/bean/model/Delivery.java @@ -0,0 +1,73 @@ +/* + * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved. + * + * https://www.mall4j.com/ + * + * 未经允许,不可做商业用途! + * + * 版权所有,侵权必究! + */ + +package com.yami.shop.bean.model; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import java.io.Serializable; +import java.util.Date; + +/** + * `Delivery`类是一个实体类,用于表示物流公司相关的信息,在电商系统等业务场景中有着重要的作用, + * 主要负责在数据库层面记录物流公司的各项关键数据,方便后续进行与物流相关的业务操作, + * 例如查询物流信息、展示可用的物流公司列表、根据物流公司配置进行快递单号查询等操作。 + + * @author lanhai + */ +@Data +@TableName("tz_delivery") +public class Delivery implements Serializable { + + /** + * `dvyId`属性作为该类的主键,是每条物流公司记录在数据库中的唯一标识符。 + * 它具有唯一性,通过这个 `dvyId`,系统能够在数据库中精准地定位、操作某一条具体的物流公司相关记录, + * 比如在更新、删除特定物流公司信息或者根据该ID查询其详细属性时,都要依赖这个唯一标识来确保操作的准确性和针对性, + * 是整个物流公司数据管理中的关键标识字段。 + */ + @TableId + private Long dvyId; + + /** + * `dvyName`属性用于存储物流公司的名称,例如“顺丰速运”“中通快递”“圆通速递”等常见的物流公司称谓。 + * 在电商系统中,用户在选择快递配送方式或者查看订单物流信息时,会看到这个名称展示出来, + * 便于直观地识别是哪家物流公司负责包裹的运输,同时也是关联到具体物流服务的重要标识信息。 + */ + private String dvyName; + + /** + * `companyHomeUrl`属性存放物流公司的公司主页网址,即用户可以通过访问这个网址了解该物流公司的更多详细信息, + * 比如公司的服务范围、业务介绍、客服联系方式等内容,在电商系统中,可能会为用户提供链接跳转功能, + * 使其能够方便地访问物流公司官网获取相关资讯,不过该属性也可能存在部分物流公司未提供网址而为空值的情况。 + */ + private String companyHomeUrl; + + /** + * `recTime`属性代表物流公司相关信息的建立时间,通常记录的是这条物流公司记录首次被创建并录入系统的日期和时间, + * 以 `Date` 类型存储,格式一般遵循系统默认的时间格式(例如 `yyyy-MM-dd HH:mm:ss`), + * 它可以用于数据的溯源、统计分析等操作,比如查看不同时间段内新增了哪些物流公司等业务场景中会用到该时间信息。 + */ + private Date recTime; + + /** + * `modifyTime`属性用于记录物流公司信息的最后修改时间,同样是以 `Date` 类型呈现具体的时间点, + * 每次对该物流公司的相关属性(如名称、网址、物流查询接口等)进行更新操作后,这个时间会随之更新, + * 方便在数据管理中知晓该条记录最近一次的变动情况,也有助于进行数据版本控制、审计等相关业务处理。 + */ + private Date modifyTime; + + /** + * `queryUrl`属性存放的是物流公司的物流查询接口网址,在电商系统需要获取某个订单的物流实时状态时, + * 可以通过调用该网址对应的接口(按照接口规定的请求参数、方式等)来获取相应的物流信息, + * 例如快递包裹的当前位置、运输状态等关键数据,是实现物流信息查询功能的重要配置信息。 + */ + private String queryUrl; +} \ No newline at end of file