示例#1
0
        /// <summary>
        /// 直采订单取消
        /// </summary>
        /// <param name="orderid"></param>
        /// <returns></returns>
        public DataResult OrderCancel(string orderid)
        {
            var result     = new DataResult();
            var orderquery = new XiWanOrderQueryRequest {
                OrderNo = orderid
            };
            //日志
            var logmodel = new HO_HotelOrderLogModel
            {
                HOLOrderId       = orderid,
                HOLLogType       = 1,//订单日志
                HOLAddId         = 0,
                HOLRemark        = "直采订单取消",
                HOLAddName       = "系统",
                HOLAddDepartId   = 0,
                HOLAddDepartName = "系统",
                HOLAddTime       = DateTime.Now,
            };

            OrderLogBll.AddOrderModel(logmodel);
            var rtn = OrderBll.SetOrder(orderid, 3);

            if (rtn.IsSuccess == 1)
            {
                result.Code = DataResultType.Sucess;
            }
            else
            {
                result.Code    = DataResultType.Fail;
                result.Message = rtn?.Msg;
            }
            return(result);
        }
示例#2
0
        /// <summary>
        /// 喜玩操作订单
        /// </summary>
        /// <returns></returns>
        public DataResult XiWanCancelOrder(string orderid)
        {
            var result     = new DataResult();
            var orderquery = new XiWanOrderQueryRequest {
                OrderNo = orderid
            };
            //日志
            var logmodel = new HO_HotelOrderLogModel
            {
                HOLOrderId       = orderid,
                HOLLogType       = 1,//订单日志
                HOLAddId         = 0,
                HOLAddName       = "系统",
                HOLAddDepartId   = 0,
                HOLAddDepartName = "系统",
                HOLAddTime       = DateTime.Now,
            };
            var rtn = XiWanAPI.XiWanPost <XiWanCancelOrderResponse, XiWanOrderQueryRequest>(orderquery, HotelCancelOrderUrl);

            logmodel.HOLRemark = "喜玩取消请求:" + JsonConvert.SerializeObject(orderquery) + "||喜玩取消接口返回:" + JsonConvert.SerializeObject(rtn);
            OrderLogBll.AddOrderModel(logmodel);
            var order = rtn?.Result;

            if (rtn.Code == "0")
            {
                result.Code = DataResultType.Sucess;
                OrderBll.UpdatesSataus(orderid, 6);
            }
            else
            {
                result.Code    = DataResultType.Fail;
                result.Message = rtn?.Msg;
            }
            return(result);
        }
示例#3
0
        /// <summary>
        /// 喜玩查询订单
        /// </summary>
        /// <param name="orderid"></param>
        /// <returns></returns>
        public DataResult XiWanSearchOrder(string orderid)
        {
            var result     = new DataResult();
            var ordermodel = OrderBll.GetModel(orderid);
            //日志
            var logmodel = new HO_HotelOrderLogModel
            {
                HOLOrderId       = orderid,
                HOLLogType       = 1,//订单日志
                HOLAddId         = 0,
                HOLAddName       = "系统",
                HOLAddDepartId   = 0,
                HOLAddDepartName = "系统",
                HOLAddTime       = DateTime.Now
            };

            if (ordermodel.Id > 0 && !string.IsNullOrWhiteSpace(ordermodel.HOSupplierSerialId))
            {
                var orderquery = new XiWanOrderQueryRequest {
                    OrderNo = ordermodel.HOSupplierSerialId
                };

                var rtn = XiWanAPI.XiWanPost <XiWanOrderQueryResponse, XiWanOrderQueryRequest>(orderquery, HotelOrderQueryUrl);
                if (rtn.Code == "0")
                {
                    var order = rtn?.Result;
                    if (order.Status >= 0)
                    {
                        result.Code = DataResultType.Sucess;
                        var oldstatus = GetStatus(ordermodel.HOStatus);
                        var up        = OrderBll.UpdatesSataus(orderid, order.Status);
                        var neworder  = OrderBll.GetModel(orderid);
                        var newstatus = GetStatus(neworder.HOStatus);
                        if (oldstatus != newstatus)
                        {
                            logmodel.HOLRemark = "喜玩查询订单接口返回:" + JsonConvert.SerializeObject(rtn);
                            OrderLogBll.AddOrderModel(logmodel);
                            logmodel.HOLRemark = "喜玩订单更新:喜玩返回订单状态" + order.Status + "(喜玩状态备注:处理中 = 1,取消 = 2,已确认 = 3,已入住 = 4,不确认 = 5,取消中 = 6)" + "我方订单状态:" + oldstatus;
                            OrderLogBll.AddOrderModel(logmodel);
                            logmodel.HOLRemark = "我方订单更新:更新结果=" + (up > 0 ? "更新成功" : "更新失败") + "当前订单状态:" + newstatus;
                            OrderLogBll.AddOrderModel(logmodel);
                        }
                    }
                    else
                    {
                        result.Code        = DataResultType.Fail;
                        result.Message     = rtn?.Msg;
                        logmodel.HOLRemark = "喜玩订单更新:接口返回失败,失败原因:" + rtn?.Msg;
                        OrderLogBll.AddOrderModel(logmodel);
                    }
                }
                else
                {
                    result.Code        = DataResultType.Fail;
                    result.Message     = rtn?.Msg;
                    logmodel.HOLRemark = "喜玩订单更新:接口返回失败,失败原因:" + rtn?.Msg;
                    OrderLogBll.AddOrderModel(logmodel);
                }
            }
            else
            {
                result.Code        = DataResultType.Fail;
                result.Message     = "未查询到相关订单,当前查询订单流水号:" + orderid + ",供应商流水号:" + ordermodel.HOSupplierSerialId;
                logmodel.HOLRemark = result.Message;
                //OrderLogBll.AddOrderModel(logmodel);
            }
            return(result);
        }