涉及接口 hotel.order.cancel
demo语言: Java
开发环境:
前端 jQuery类库、layui、 bootstrap
后端 jdk1.7以上、 tomcat8以上、 springmvc + spring + mybatis
根据担保规则或预付规则,可以取消订单
订单取消
如果客人取消订单,则需调用订单取消接口
public class HotelOrderCancelApi {
private static double version = 1.50;
private static EnumLocal locale = EnumLocal.zh_CN;
private static boolean isHttps = true; // 测试环境换为false
...
...
/**
* 通过http工具类调用艺龙接口,将前端参数拼接为URL
*/
public OrderCancelResult cancelOrder(CancelOrderCondition condition,
String userName, String appKey, String secretKey) {
OrderCancelResult result = new OrderCancelResult();
String url = "";
String responseData = "";
try{
//产生签名
Long epoch = System.currentTimeMillis()/1000;
if (condition.getCreditCard() != null) {
condition.getCreditCard().setNumber(CipherUtil.desEncrypt(epoch.toString()
+"#"+condition.getCreditCard().getNumber(),
appKey.substring(appKey.length()-8)));
}
BaseRequest<CancelOrderCondition> req = new BaseRequest<CancelOrderCondition>();
req.Version = version;
req.Local = locale;
req.Request = condition;
//请求参数转换为Json字符串
String str = JsonUtil.entity2Json(req);
String sig = Tool.md5(epoch + Tool.md5(str + appKey) + secretKey);
//产生请求链接
url = "http"+(this.isHttps ? "s": "")+ "://"
+ serverHost + "/rest?format=json&method=hotel.order.cancel";
url += "&user="+ userName +"×tamp=";
url += epoch;
url += "&signature=";
url += sig;
url += "&data=" + Tool.encodeUri(str);
log.info(url);
//发送请求
responseData = HttpUtil.Send("GET", url, "", "application/json");
//返回值处理
result = JsonUtil.jsonToObject(responseData, OrderCancelResult.class);
} catch (Exception e) {
log.info("[HotelOrderCancelApi] 异常: " + e);
log.info("发送的url: " + url);
log.info("返回值: " + responseData);
}
return result;
}
...
...
}效果展示
调用订单取消接口api,若取消成功,则效果如下图

