⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 itravelservice.java

📁 有关webserive的interface的讲述 我觉得面向对象编程最重要的优势就是 在于接口和多态
💻 JAVA
字号:
package net.seproject.ws.travel;

/**
 * 综合查询/预订/日程安排服务
 * 
 * @author shufang
 *
 */
public interface ITravelService {

	/**
	 * 查询并生成可行的“机票+客房+就餐”出行方案
	 * 
	 * <br/><br/>
	 * 根据若干条件查询已发布的“酒店/机票/餐饮”服务, 并计算生成可行的“机票+客房+就餐”出行方案.<br/>
	 * 
	 * 具体要求:<br/>
	 * (1) 从注册中心获取已发布的“酒店/机票/餐饮”Web服务列表,得到各个Web服务的WSDL或URL,动态绑定和访问这些Web服务<br/>
	 * (2) 在“酒店/机票/餐饮”Web服务上调用regUser()接口为当前用户注册一个帐号(使用输入参数username作为帐号名称和密码)<br/>
	 * (3) 查询时,首先在可用的Web服务上查询某日(startDate)从城市A(fromCity)飞抵城市B(toCity)的航班机票情况<br/>
	 * (4) 然后根据航班到达时间和其他条件分别查询城市B(toCity)的酒店客房和餐厅餐位情况, 并计算生成各种可行的“机票+客房+就餐”出行方案<br/>
	 * (5) 返回结果是各种可行的“机票+客房+就餐”出行方案的数组。作为可选要求,可按照最节省(即,机票+住宿+就餐三项的消费总额最少)方式排序。<br/>
	 * 
	 * <br/>
	 *  注1:仅考虑出发城市(fromCity)和到达城市(toCity)之间有直飞航班的情况.<br/>
	 *  注2:仅查询截至"出发日期/时间"当天(即到晚上12:00为止)的航班/机票信息. <br/>
	 *  注3:计算消费总额时,按折扣后的价格计算,由于餐厅预订服务只有折扣信息,所以我们假设就餐消费为1000元/人,在此基础上打折。<br/>
	 *  注4:应分别缓存每个用户的查询结果,直至该用户执行新的查询(可用新的查询结果覆盖旧的结果)<br/>
	 * <br/>
	 * 
	 * @param username   用户名称, 不应为空
	 * @param fromCity   出发城市名称, 精确匹配
	 * @param toCity     到达城市名称, 精确匹配
	 * @param startDate  出发日期/时间, 格式: yyyy-MM-dd hh:mm
	 * @param flightCabin     指定航班舱段(0: 任意; 1: 头等舱; 2: 商务舱; 3: 经济舱, 其他: 无效)
	 * @param hotelCategory   指定客房类别(0: 任意; 1: 高级套间; 2: 商务间; 3: 标准间, 其他: 无效)
	 * @param restaCategory   指定餐位类别(0: 任意; 1~3有效, 各小组自行定义含义, 其他: 无效)
	 * @param numbers    准备预订的数量( >0指预订的数量,其他: 无效)
	 * 
	 * @return 各种可行的“机票+客房+就餐”出行方案的数组; 如果没有任何符合条件的信息,则返回null(空值).
	 * 
	 * @see net.seproject.ws.travel.Plan
	 * @see #reserve(String, String, int)
	 * 
	 */
	public Plan[] search( String username,
			String fromCity,
			String toCity,
			String startDate,
			int flightCabin,
			int hotelCategory,
			int restaCategory,
			int numbers
			);

	/**
	 * 预订
	 * 
	 * <br/><br/>
	 * 按照该用户查询得到的某个“机票+客房+就餐”出行方案,在指定的Web服务上预订相应的机票/客房/餐位.<br/>
	 * <br/>
	 * 由于每个出行方案不但包含了“机票+客房+餐位”信息,还指明了这些信息是从哪个Web服务获取的,<br/>
	 * 这个方法就是调用那些Web服务的"预订"(reserve)接口分别完成预订。<br/>
	 * <br/>
	 * 
	 * @param username 用户名称, 不应为空
	 * @param planId   出行方案号, 即Plan.id字段
	 * @param numbers  准备预订的数量( >0指预订的数量,其他: 无效).
	 * 
	 * @return 如果预订成功, 返回"机票+客房+餐位"三种服务的订单号(字串格式,用';'分割), 否则, 返回null(空值). 如果其中某个订单没有成功,则那个订单号是空字串。
	 * 
	 * @see #search(String, String, String, String, int, int, int, int)
	 * 
	 */
	public String reserve( String username, String planId, int numbers );

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -