Skip to main content

elong_offline_sdk/
lib.rs

1//! # 艺龙离线数据 SDK
2//!
3//! 这是一个用于与艺龙离线数据交互的 SDK,提供了多种异步接口以获取静态和动态数据。
4//!
5//! ## 模块概览
6//!
7//! - `elong`: 提供与 Elong 平台交互的具体实现。
8//! - `network`: 处理网络请求的底层模块。
9//! - `request`: 定义了所有请求类型。
10//! - `response`: 定义了所有响应类型。
11//! - `types`: 定义了通用的数据类型和结构。
12//!
13//! ## Trait: Elong
14//!
15//! `Elong` trait 定义了与 Elong 平台交互的核心接口,所有方法均为异步方法。
16//!
17//!
18
19use async_trait::async_trait;
20use request::{
21    data_booking::DataBookingRequest, data_inventory::InventoryRequest, data_rate::DataRateRequest, data_rp::DataRpRequest, data_validate::DataValidateRequest, incr_id::IncrIdRequest, incr_inv::IncrInvRequest, incr_rate::IncrRateRequest, incr_state::IncrStateRequest, static_city::StaticCityRequest, static_grade::StaticGradeRequest, static_info::StaticInfoRequest, static_list::StaticListRequest
22};
23
24use types::*;
25
26mod network;
27mod types;
28pub mod elong;
29pub mod request;
30pub mod response;
31
32#[async_trait]
33pub trait Elong {
34    /// 城市列表
35    async fn get_static_city(&self, req: StaticCityRequest) -> RECityResp;
36
37    /// 酒店列表
38    async fn get_static_list(&self, req: StaticListRequest) -> REListResp;
39
40    /// 酒店详情
41    async fn get_static_info(&self, req: StaticInfoRequest) -> REInfoResp;
42
43    /// 点评评分
44    async fn get_static_grade(&self,req: StaticGradeRequest) -> REGradeResp;
45
46    /// 产品详情
47    async fn get_data_rp(&self, req: DataRpRequest) -> REDataRpResp;
48
49    /// 增量编号
50    async fn get_incr_id(&self, req: IncrIdRequest) -> REIncrIdResp;
51
52    /// 增量编号分片
53    async fn get_incr_sharding_id(&self, req: IncrIdRequest) -> REIncrIdResp;
54
55    /// 状态增量
56    async fn get_incr_state(&self, req: IncrStateRequest) -> REIncrStateResp;
57
58    /// 状态增量分片
59    async fn get_incr_sharding_state(&self, req: IncrStateRequest) -> REIncrStateResp;
60
61    /// 库存全量
62    async fn get_inventory(&self, req: InventoryRequest) -> REInvResp;
63
64    /// 库存增量
65    async fn get_incr_inv(&self, req: IncrInvRequest) -> REIncrInvResp;
66
67    /// 库存增量分片
68    async fn get_incr_sharding_inv(&self, req: IncrInvRequest) -> REIncrInvResp;
69
70    /// 价格全量
71    async fn get_data_rate(&self, req: DataRateRequest) -> RERateResp;
72
73    /// 价格增量
74    async fn get_incr_rate(&self, req: IncrRateRequest) -> REIncrRateResp;
75
76    /// 价格增量分片
77    async fn get_incr_sharding_rate(&self, req: IncrRateRequest) -> REIncrRateResp;
78
79    /// 数据验证
80    async fn data_validate(&self, req: DataValidateRequest) -> REDataValidateResp;
81
82    /// 预订数据
83    async fn data_booking(&self, req: DataBookingRequest) -> REDataBookingResp;
84}