涉及接口 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,若取消成功,则效果如下图
