/// <summary> /// 订单实时状态查询 /// </summary> /// <param name="condition"></param> /// <returns></returns> public HotelOrderStatus GetOrderStatus(OrderDetailCondition condition) { HotelOrderStatus response = HotelOrderStatus.B3; try { if (!IsInstantConfirmOrder(condition.OrderId)) { var result = HotelApiAccess.Query <OrderDetailCondition, OrderDetailResponse>(condition, "hotel.order.detail"); if (result.Code == "0") { response = (HotelOrderStatus)Enum.Parse(typeof(HotelOrderStatus), result.Result.Status); } else { throw new Exception("接口请求失败:" + result.Code); } } else { response = HotelOrderStatus.A; } } catch (Exception ex) { throw ex; } return(response); }
/// <summary> /// 是否为即时确认订单-即时确认订单是艺龙提高订单快速确认所提供的一项服务,当此订单为即时确认订单时,即是订单状态未变成“已确认“状态,也可以先给客人进行订单确认; /// </summary> /// <param name="orderId">三方订单Id</param> /// <returns></returns> public bool IsInstantConfirmOrder(long orderId) { InstantOrderResponse response = new InstantOrderResponse(); try { OrderDetailCondition condition = new OrderDetailCondition() { OrderId = orderId }; var result = HotelApiAccess.Query <OrderDetailCondition, InstantOrderResponse>(condition, "hotel.order.instant"); if (result.Code == "0") { response = result.Result; } else { throw new Exception("接口请求失败:" + result.Code); } } catch (Exception ex) { throw ex; } return(response.InstantStatus == EnumInstantStatus.Instant); }
/// <summary> /// 订单详情 /// </summary> /// <param name="condition"></param> /// <returns></returns> public OrderDetailResponse GetOrderDetail(OrderDetailCondition condition) { OrderDetailResponse response = new OrderDetailResponse(); try { var result = HotelApiAccess.Query <OrderDetailCondition, OrderDetailResponse>(condition, "hotel.order.detail"); if (result.Code == "0") { response = result.Result; } else { throw new Exception("接口请求失败:" + result.Code); } } catch (Exception ex) { throw ex; } return(response); }