diff --git a/changelogs/2026-03/2026-03-25_1358_96c4b97_feat.md b/changelogs/2026-03/2026-03-25_1358_96c4b97_feat.md new file mode 100644 index 0000000..69ba7a3 --- /dev/null +++ b/changelogs/2026-03/2026-03-25_1358_96c4b97_feat.md @@ -0,0 +1,324 @@ +# 接口变更记录 — 2026-03-25 13:58 + +> **提交** `96c4b97` · **作者** wx · **时间** 2026-03-25 13:58:29 +0800 +> +> feat: 订单交通信息(接送站)— 对接飞常准航班/火车实时动态 + +## 变更总览 + +- **hl-transport-service** + - 🆕 InternalTransport (+2 接口) +- **小程序聚合服务** + - 🆕 MpOrderTransport (+2 接口) +- **订单服务** + - 🆕 AdminOrderTransport (+5 接口) + - 🆕 InternalOrderTransport (+2 接口) + +--- + +## hl-transport-service + +### 🆕 新增: InternalTransport + +### 📌 `GET` /internal/transport/flight — 按航班号查询航班动态 + +**参数** + + - `flightNo` (`String`) — 查询参数 + - `date` (`String`) — 查询参数 + +**响应** `Result>` + +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| `flightNo` | `String` | 航班号 | +| `airline` | `String` | 航空公司名称 | +| `category` | `String` | 航班属性:国内/国际/地区 | +| `departAirportCode` | `String` | 出发机场三字码 | +| `arriveAirportCode` | `String` | 到达机场三字码 | +| `departAirport` | `String` | 出发机场名称 | +| `arriveAirport` | `String` | 到达机场名称 | +| `departCity` | `String` | 出发城市 | +| `arriveCity` | `String` | 到达城市 | +| `planDepartTime` | `String` | 计划起飞时间(yyyy-MM-dd HH:mm:ss) | +| `planArriveTime` | `String` | 计划到达时间(yyyy-MM-dd HH:mm:ss) | +| `actualDepartTime` | `String` | 实际起飞时间(yyyy-MM-dd HH:mm:ss) | +| `actualArriveTime` | `String` | 实际到达时间(yyyy-MM-dd HH:mm:ss) | +| `status` | `String` | 航班状态:计划/起飞/到达/延误/取消/返航/备降等 | +| `stopFlag` | `String` | 是否经停:0不经停,1经停1次,n经停n次 | +| `shareFlag` | `String` | 是否共享航班:0否,1是 | +| `shareFlightNo` | `String` | 共享航班号(实际承运航班号) | +| `departTerminal` | `String` | 出发航站楼 | +| `arriveTerminal` | `String` | 到达航站楼 | +| `boardGate` | `String` | 登机口 | +| `arriveExit` | `String` | 到达出口 | +| `departTimezone` | `String` | 出发时区偏移(秒) | +| `arriveTimezone` | `String` | 到达时区偏移(秒) | + +### 📌 `GET` /internal/transport/train — 按车次查询火车动态 + +**参数** + + - `trainNo` (`String`) — 查询参数 + - `date` (`String`) — 查询参数 + +**响应** `Result>` + +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| `trainNo` | `String` | 车次 | +| `departStation` | `String` | 出发车站 | +| `arriveStation` | `String` | 到达车站 | +| `shutdown` | `String` | 是否停运:0否,1是 | +| `planDepartTime` | `String` | 计划出发时间 | +| `planArriveTime` | `String` | 计划到达时间 | +| `estimatedDepartTime` | `String` | 预计出发时间 | +| `estimatedArriveTime` | `String` | 预计到达时间 | +| `actualDepartTime` | `String` | 实际出发时间 | +| `actualArriveTime` | `String` | 实际到达时间 | +| `departStatus` | `String` | 出发状态:计划/正点/晚点/出发 | +| `arriveStatus` | `String` | 到达状态:计划/正点/晚点/到达 | +| `duration` | `Integer` | 运行时长(分钟) | +| `stops` | `List` | 经停站列表 | + +--- + +## 小程序聚合服务 + +### 🆕 新增: MpOrderTransport + +> 📖 **接口文档**: [http://192.168.100.236:8086/doc.html](http://192.168.100.236:8086/doc.html) → 标签 **「小程序-订单交通信息」** + +### 📌 `GET` /mp/order/{orderId}/transports — 查看订单交通信息(含实时动态) + +> 返回订单的去程/回程交通信息,自动从飞常准查询实时航班/火车状态 + +**参数** + + - `{orderId}` (`Long`) — 路径参数:订单ID + +**响应** `Result>>` + +### 📌 `POST` /mp/order/{orderId}/transport — 填写交通信息 + +> 用户填写去程/回程的航班或火车信息。 + +**参数** + + - `{orderId}` (`Long`) — 路径参数:订单ID + +**响应** `Result>` + +--- + +## 订单服务 + +### 🆕 新增: AdminOrderTransport + +> 📖 **接口文档**: [http://192.168.100.236:8084/doc.html](http://192.168.100.236:8084/doc.html) → 分组 **「3.1 订单管理」** → 标签 **「订单交通信息(接送站)」** + +### 📌 `GET` /admin/order/admin/order + +### 📌 `POST` /admin/order/{orderId}/transport — 添加交通信息 + +> 为订单添加去程/回程的航班或火车信息,用于安排接送站。 + +**参数** + + - `{orderId}` (`Long`) — 路径参数:订单ID + +**请求体** `OrderTransportRequest` + +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| `legType` | `String` | 行程段:OUTBOUND=去程接站, RETURN=回程送站 | +| `transportType` | `String` | 交通类型:FLIGHT=航班, TRAIN=火车 | +| `transportNo` | `String` | 航班号或车次 | +| `departureStation` | `String` | 出发站/机场 | +| `arrivalStation` | `String` | 到达站/机场 | +| `travelDate` | `LocalDate` | 乘坐日期 | +| `remark` | `String` | 备注 | + +**响应** `Result` + +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| `transportId` | `String` | 交通信息ID | +| `orderId` | `String` | 订单ID | +| `legType` | `String` | 行程段:OUTBOUND=去程接站, RETURN=回程送站 | +| `transportType` | `String` | 交通类型:FLIGHT=航班, TRAIN=火车 | +| `transportNo` | `String` | 航班号或车次 | +| `departureStation` | `String` | 出发站/机场 | +| `arrivalStation` | `String` | 到达站/机场 | +| `travelDate` | `LocalDate` | 乘坐日期 | +| `remark` | `String` | 备注 | +| `createdByType` | `String` | 填写人类型:ADMIN/USER | +| `createdAt` | `LocalDateTime` | 创建时间 | +| `planDepartTime` | `String` | 计划出发时间 | +| `planArriveTime` | `String` | 计划到达时间 | +| `actualDepartTime` | `String` | 实际/预计出发时间 | +| `actualArriveTime` | `String` | 实际/预计到达时间 | +| `liveStatus` | `String` | 状态(如:计划/起飞/到达/延误/晚点) | +| `extraInfo` | `Map` | 航班额外信息:航站楼/登机口/出口等 | + +### 📌 `PUT` /admin/order/transport/{transportId} — 编辑交通信息 + +**参数** + + - `{transportId}` (`Long`) — 路径参数:交通信息ID + +**请求体** `OrderTransportRequest` + +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| `legType` | `String` | 行程段:OUTBOUND=去程接站, RETURN=回程送站 | +| `transportType` | `String` | 交通类型:FLIGHT=航班, TRAIN=火车 | +| `transportNo` | `String` | 航班号或车次 | +| `departureStation` | `String` | 出发站/机场 | +| `arrivalStation` | `String` | 到达站/机场 | +| `travelDate` | `LocalDate` | 乘坐日期 | +| `remark` | `String` | 备注 | + +**响应** `Result` + +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| `transportId` | `String` | 交通信息ID | +| `orderId` | `String` | 订单ID | +| `legType` | `String` | 行程段:OUTBOUND=去程接站, RETURN=回程送站 | +| `transportType` | `String` | 交通类型:FLIGHT=航班, TRAIN=火车 | +| `transportNo` | `String` | 航班号或车次 | +| `departureStation` | `String` | 出发站/机场 | +| `arrivalStation` | `String` | 到达站/机场 | +| `travelDate` | `LocalDate` | 乘坐日期 | +| `remark` | `String` | 备注 | +| `createdByType` | `String` | 填写人类型:ADMIN/USER | +| `createdAt` | `LocalDateTime` | 创建时间 | +| `planDepartTime` | `String` | 计划出发时间 | +| `planArriveTime` | `String` | 计划到达时间 | +| `actualDepartTime` | `String` | 实际/预计出发时间 | +| `actualArriveTime` | `String` | 实际/预计到达时间 | +| `liveStatus` | `String` | 状态(如:计划/起飞/到达/延误/晚点) | +| `extraInfo` | `Map` | 航班额外信息:航站楼/登机口/出口等 | + +### 📌 `DELETE` /admin/order/transport/{transportId} — 删除交通信息 + +**参数** + + - `{transportId}` (`Long`) — 路径参数:交通信息ID + +**响应** `Result` + +### 📌 `GET` /admin/order/{orderId}/transports — 查询订单交通信息(含实时动态) + +> 返回订单的去程/回程交通信息,自动从飞常准API查询实时航班/火车状态。 + +**参数** + + - `{orderId}` (`Long`) — 路径参数:订单ID + +**响应** `Result>` + +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| `transportId` | `String` | 交通信息ID | +| `orderId` | `String` | 订单ID | +| `legType` | `String` | 行程段:OUTBOUND=去程接站, RETURN=回程送站 | +| `transportType` | `String` | 交通类型:FLIGHT=航班, TRAIN=火车 | +| `transportNo` | `String` | 航班号或车次 | +| `departureStation` | `String` | 出发站/机场 | +| `arrivalStation` | `String` | 到达站/机场 | +| `travelDate` | `LocalDate` | 乘坐日期 | +| `remark` | `String` | 备注 | +| `createdByType` | `String` | 填写人类型:ADMIN/USER | +| `createdAt` | `LocalDateTime` | 创建时间 | +| `planDepartTime` | `String` | 计划出发时间 | +| `planArriveTime` | `String` | 计划到达时间 | +| `actualDepartTime` | `String` | 实际/预计出发时间 | +| `actualArriveTime` | `String` | 实际/预计到达时间 | +| `liveStatus` | `String` | 状态(如:计划/起飞/到达/延误/晚点) | +| `extraInfo` | `Map` | 航班额外信息:航站楼/登机口/出口等 | + +### 🆕 新增: InternalOrderTransport + +> 📖 **接口文档**: [http://192.168.100.236:8084/doc.html](http://192.168.100.236:8084/doc.html) → 标签 **「【内部接口】订单交通信息(Feign调用)」** + +### 📌 `GET` /internal/order/transport/{orderId} — 查询订单交通信息(含实时动态) + +**参数** + + - `{orderId}` (`Long`) — 路径参数 + +**响应** `Result>` + +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| `transportId` | `String` | 交通信息ID | +| `orderId` | `String` | 订单ID | +| `legType` | `String` | 行程段:OUTBOUND=去程接站, RETURN=回程送站 | +| `transportType` | `String` | 交通类型:FLIGHT=航班, TRAIN=火车 | +| `transportNo` | `String` | 航班号或车次 | +| `departureStation` | `String` | 出发站/机场 | +| `arrivalStation` | `String` | 到达站/机场 | +| `travelDate` | `LocalDate` | 乘坐日期 | +| `remark` | `String` | 备注 | +| `createdByType` | `String` | 填写人类型:ADMIN/USER | +| `createdAt` | `LocalDateTime` | 创建时间 | +| `planDepartTime` | `String` | 计划出发时间 | +| `planArriveTime` | `String` | 计划到达时间 | +| `actualDepartTime` | `String` | 实际/预计出发时间 | +| `actualArriveTime` | `String` | 实际/预计到达时间 | +| `liveStatus` | `String` | 状态(如:计划/起飞/到达/延误/晚点) | +| `extraInfo` | `Map` | 航班额外信息:航站楼/登机口/出口等 | + +### 📌 `POST` /internal/order/transport/{orderId} — 添加交通信息(小程序用户) + +**参数** + + - `{orderId}` (`Long`) — 路径参数 + - `userId` (`Long`) — 查询参数 + +**响应** `Result` + +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| `transportId` | `String` | 交通信息ID | +| `orderId` | `String` | 订单ID | +| `legType` | `String` | 行程段:OUTBOUND=去程接站, RETURN=回程送站 | +| `transportType` | `String` | 交通类型:FLIGHT=航班, TRAIN=火车 | +| `transportNo` | `String` | 航班号或车次 | +| `departureStation` | `String` | 出发站/机场 | +| `arrivalStation` | `String` | 到达站/机场 | +| `travelDate` | `LocalDate` | 乘坐日期 | +| `remark` | `String` | 备注 | +| `createdByType` | `String` | 填写人类型:ADMIN/USER | +| `createdAt` | `LocalDateTime` | 创建时间 | +| `planDepartTime` | `String` | 计划出发时间 | +| `planArriveTime` | `String` | 计划到达时间 | +| `actualDepartTime` | `String` | 实际/预计出发时间 | +| `actualArriveTime` | `String` | 实际/预计到达时间 | +| `liveStatus` | `String` | 状态(如:计划/起飞/到达/延误/晚点) | +| `extraInfo` | `Map` | 航班额外信息:航站楼/登机口/出口等 | + +--- + +
+📁 全部变更文件 (点击展开) + +``` +A hl-mp-service/src/main/java/com/hulalv/mp/controller/MpOrderTransportController.java +M hl-mp-service/src/main/java/com/hulalv/mp/feign/MpOrderFeignClient.java +M hl-mp-service/src/main/java/com/hulalv/mp/feign/MpOrderFeignFallbackFactory.java +A hl-order-service/src/main/java/com/hulalv/order/controller/AdminOrderTransportController.java +A hl-order-service/src/main/java/com/hulalv/order/controller/InternalOrderTransportController.java +A hl-order-service/src/main/java/com/hulalv/order/dto/OrderTransportRequest.java +A hl-order-service/src/main/java/com/hulalv/order/entity/OrderTransport.java +A hl-order-service/src/main/java/com/hulalv/order/feign/TransportFeignClient.java +A hl-order-service/src/main/java/com/hulalv/order/feign/TransportFeignFallbackFactory.java +A hl-order-service/src/main/java/com/hulalv/order/mapper/OrderTransportMapper.java +A hl-order-service/src/main/java/com/hulalv/order/service/OrderTransportService.java +A hl-order-service/src/main/java/com/hulalv/order/vo/OrderTransportVO.java +A hl-transport-service/src/main/java/com/hulalv/transport/controller/InternalTransportController.java +A sql/order_transport.sql +``` +
\ No newline at end of file