public GrabTicketResponseModel RequestGrabTicketInterface(AddTraGrabTicketModel addTraGrabTicketModel)
        {
            #region 组装请求接口对象
            GrabTicketRequestModel grabTicketRequestModel = new GrabTicketRequestModel();
            grabTicketRequestModel.qorderid          = addTraGrabTicketModel.OrderId.ToString();
            grabTicketRequestModel.qorder_start_time = addTraGrabTicketModel.GrabBeginTime.ToString("yyyy-MM-dd HH:mm");
            grabTicketRequestModel.qorder_end_time   = addTraGrabTicketModel.GrabEndTime.ToString("yyyy-MM-dd HH:mm");
            grabTicketRequestModel.from_station_code = addTraGrabTicketModel.StartCode;
            grabTicketRequestModel.from_station_name = addTraGrabTicketModel.StartCodeName;
            grabTicketRequestModel.to_station_code   = addTraGrabTicketModel.EndCode;
            grabTicketRequestModel.to_station_name   = addTraGrabTicketModel.EndCodeName;
            grabTicketRequestModel.start_date        = addTraGrabTicketModel.StartTime.ToString("yyyyMMdd");
            grabTicketRequestModel.train_codes       = addTraGrabTicketModel.TrainNo;
            grabTicketRequestModel.train_type        = addTraGrabTicketModel.TrainType;
            grabTicketRequestModel.seat_type         = addTraGrabTicketModel.SeatType;
            grabTicketRequestModel.hasseat           = addTraGrabTicketModel.IsNeedNoSeatTicket;

            grabTicketRequestModel.passengers = new List <GrabTicketPassengerRequestModel>();
            for (var i = 0; i < addTraGrabTicketModel.PassengerList.Count; i++)
            {
                GrabTicketPassengerRequestModel p = new GrabTicketPassengerRequestModel();
                p.passengerid      = i + 1;
                p.passengersename  = addTraGrabTicketModel.PassengerList[i].PassengerName;
                p.passportseno     = addTraGrabTicketModel.PassengerList[i].CardNo;
                p.passporttypeseid = addTraGrabTicketModel.PassengerList[i].KongTieCardType;
                p.piaotype         = addTraGrabTicketModel.PassengerList[i].KongTieTicketType;
                grabTicketRequestModel.passengers.Add(p);
            }
            #endregion

            return(_requestGrabTicketBll.RunGrabTicketInterface(grabTicketRequestModel));
        }
Exemplo n.º 2
0
        /// <summary>
        /// 访问抢票接口
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public GrabTicketResponseModel RunGrabTicketInterface(GrabTicketRequestModel request)
        {
            try
            {
                string postData = JsonConvert.SerializeObject(request);
                postData = "jsonStr=" + postData;
                LogHelper.WriteLog("请求抢票接口:" + postData, "TraGrabTicketCallBack");
                string isServer = AppSettingsHelper.GetAppSettings(AppSettingsEnum.IsAllowTrainGrabTicket);
                if (isServer != "T")
                {
                    throw new Exception("测试");
                }
                string responseData = PostHelper.PostUrl(Url, postData, Encoding.UTF8);
                LogHelper.WriteLog("抢票接口同步响应:" + responseData, "TraGrabTicketCallBack");
                if (string.IsNullOrEmpty(responseData))
                {
                    return new GrabTicketResponseModel()
                           {
                               msg     = "请求接口失败",
                               success = false,
                               code    = "-1"
                           }
                }
                ;

                GrabTicketResponseModel responseModel =
                    JsonConvert.DeserializeObject <GrabTicketResponseModel>(responseData);
                return(responseModel);
            }
            catch (Exception ex) //直接捕获一下异常,不返回到前端
            {
                return(new GrabTicketResponseModel()
                {
                    msg = ex.Message,
                    success = false,
                    code = "-1"
                });
            }
        }