Ejemplo n.º 1
0
        public void Test_TicketByBigPnr_Invoke1()
        {
            // TicketByBigPnr请求对象
            Command <JetermEntity.Request.TicketByBigPnr> cmd = new Command <JetermEntity.Request.TicketByBigPnr>();

            // 设置应用程序编号
            cmd.AppId = 900630;

            //// 根据各自的业务需求,设置缓存时长
            cmd.CacheTime = EtermCommand.CacheTime.none;

            //cmd.officeNo = "SHA243";

            cmd.request = new JetermEntity.Request.TicketByBigPnr();

            #region TicketByBigPnr请求参数

            // 第2种格式的指令返回结果:
            // 只有1个航段+只有到达航站楼:
            // (已测)返回结果:
            // {"PassengerList":[{"name":"谢煜琳","idtype":-1,"cardno":"","PassType":-1,"Ename":"","BabyBirthday":"\/Date(-62135596800000+0800)\/","ChildBirthday":"\/Date(-62135596800000+0800)\/","TicketNo":"7842172138302"}],"FlightList":[{"FlightNo":"CZ6509","Airline":"CZ","Cabin":"V","SCity":"SHE","ECity":"PVG","DepTerminal":"","ArrTerminal":"T2","DepDate":"\/Date(1429872600000+0800)\/","ArrDate":"\/Date(-62135596800000+0800)\/"}],"Price":{"FacePrice":630.00,"Tax":50.00,"Fuel":0.0,"TotalPrice":680.00},"TicketStatus":5}
            //cmd.request.BigPnr = "PCZ0SX";
            //cmd.request.FlightNo = "CZ6509";
            //cmd.request.SCity = "SHE";
            //cmd.request.ECity = "PVG";

            // 只有1个航段+有出发和到达航站楼:
            // (已测)返回结果:
            // {"PassengerList":[{"name":"刘国平","idtype":-1,"cardno":"","PassType":-1,"Ename":"","BabyBirthday":"\/Date(-62135596800000+0800)\/","ChildBirthday":"\/Date(-62135596800000+0800)\/","TicketNo":"7312382483125"}],"FlightList":[{"FlightNo":"MF8154","Airline":"MF","Cabin":"T","SCity":"TYN","ECity":"XMN","DepTerminal":"T2","ArrTerminal":"T3","DepDate":"\/Date(1432869600000+0800)\/","ArrDate":"\/Date(-62135596800000+0800)\/"}],"Price":{"FacePrice":650.00,"Tax":50.00,"Fuel":0.0,"TotalPrice":700.00},"TicketStatus":1}
            //cmd.request.BigPnr = "NVF1WW";
            //cmd.request.FlightNo = "MF8154";
            //cmd.request.SCity = "TYN";
            //cmd.request.ECity = "XMN";

            // 只有1个航段+姓名是全英文的情况:
            // (已测)返回结果:
            // {"PassengerList":[{"name":"LIU/JOANNE","idtype":-1,"cardno":"","PassType":-1,"Ename":"","BabyBirthday":"\/Date(-62135596800000+0800)\/","ChildBirthday":"\/Date(-62135596800000+0800)\/","TicketNo":"7847589111741"}],"FlightList":[{"FlightNo":"CZ6178","Airline":"CZ","Cabin":"Y","SCity":"CGQ","ECity":"HFE","DepTerminal":null,"ArrTerminal":null,"DepDate":"\/Date(1429162800000+0800)\/","ArrDate":"\/Date(-62135596800000+0800)\/"}],"Price":{"FacePrice":246.00,"Tax":8.20,"Fuel":0.0,"TotalPrice":254.20},"TicketStatus":5}
            cmd.request.BigPnr   = "NK9Y8G";
            cmd.request.FlightNo = "CZ6178";
            cmd.request.SCity    = "CGQ";
            cmd.request.ECity    = "HFE";

            // 有2个航段的情况:
            // (已测)(已测)求第1航段的航班信息+符合条件:
            // 返回结果:
            // {"PassengerList":[{"name":"邹丽媛","idtype":-1,"cardno":"","PassType":-1,"Ename":"","BabyBirthday":"\/Date(-62135596800000+0800)\/","ChildBirthday":"\/Date(-62135596800000+0800)\/","TicketNo":"7812192001934"}],"FlightList":[{"FlightNo":"MU5511","Airline":"MU","Cabin":"R","SCity":"TAO","ECity":"MDG","DepTerminal":null,"ArrTerminal":null,"DepDate":"\/Date(1443762000000+0800)\/","ArrDate":"\/Date(-62135596800000+0800)\/"}],"Price":{"FacePrice":1220.00,"Tax":100.00,"Fuel":0.0,"TotalPrice":1320.00},"TicketStatus":1}
            //cmd.request.BigPnr = "PG5ZRE";
            //cmd.request.FlightNo = "MU5511";
            //cmd.request.SCity = "TAO";
            //cmd.request.ECity = "MDG";

            // 求第1航段的航班信息+不符合条件:
            // (已测)返回结果:没有符合查询条件的记录
            //cmd.request.BigPnr = "PG5ZRE";
            //cmd.request.FlightNo = "MU5511";
            //cmd.request.SCity = "TAO";
            //cmd.request.ECity = "TAO";

            // 求第2航段的航班信息+符合条件:
            // (已测)(已测)返回结果:
            // {"PassengerList":[{"name":"邹丽媛","idtype":-1,"cardno":"","PassType":-1,"Ename":"","BabyBirthday":"\/Date(-62135596800000+0800)\/","ChildBirthday":"\/Date(-62135596800000+0800)\/","TicketNo":"7812192001934"}],"FlightList":[{"FlightNo":"MU5522","Airline":"MU","Cabin":"R","SCity":"MDG","ECity":"TAO","DepTerminal":null,"ArrTerminal":null,"DepDate":"\/Date(1444377600000+0800)\/","ArrDate":"\/Date(-62135596800000+0800)\/"}],"Price":{"FacePrice":1220.00,"Tax":100.00,"Fuel":0.0,"TotalPrice":1320.00},"TicketStatus":1}
            //cmd.request.BigPnr = "PG5ZRE";
            //cmd.request.FlightNo = "MU5522";
            //cmd.request.SCity = "MDG";
            //cmd.request.ECity = "TAO";

            // 求第2航段的航班信息+不符合条件:
            // (已测)返回结果:没有符合查询条件的记录
            //cmd.request.BigPnr = "PG5ZRE";
            //cmd.request.FlightNo = "MU5522";
            //cmd.request.SCity = "MDG";
            //cmd.request.ECity = "SHA";

            // (未测)选个票号不存在的情况:


            // 第1种格式的指令返回结果:
            // (已测)一个人中有2个航程的情况:
            // 返回结果:
            // {"PassengerList":[{"name":"肖苏城","idtype":0,"cardno":"450221197705161938","PassType":-1,"Ename":"","BabyBirthday":"\/Date(-62135596800000+0800)\/","ChildBirthday":"\/Date(-62135596800000+0800)\/","TicketNo":"7812191996969"},{"name":"吴乐","idtype":0,"cardno":"452501197510263267","PassType":-1,"Ename":"","BabyBirthday":"\/Date(-62135596800000+0800)\/","ChildBirthday":"\/Date(-62135596800000+0800)\/","TicketNo":"7812191996967"}],"FlightList":[{"FlightNo":"MU5767","Airline":"","Cabin":"","SCity":"KMG","ECity":"NNG","DepTerminal":null,"ArrTerminal":null,"DepDate":"\/Date(1432051200000+0800)\/","ArrDate":"\/Date(-62135596800000+0800)\/"}],"Price":{"FacePrice":0.0,"Tax":0.0,"Fuel":0.0,"TotalPrice":0.0},"TicketStatus":1}
            //cmd.request.BigPnr = "NDYJVW";
            //cmd.request.FlightNo = "MU5767";
            //cmd.request.SCity = "KMG";
            //cmd.request.ECity = "NNG";

            // (已测)返回结果:
            // {"PassengerList":[{"name":"肖苏城","idtype":0,"cardno":"450221197705161938","PassType":-1,"Ename":"","BabyBirthday":"\/Date(-62135596800000+0800)\/","ChildBirthday":"\/Date(-62135596800000+0800)\/","TicketNo":"7812191996968"},{"name":"吴乐","idtype":0,"cardno":"452501197510263267","PassType":-1,"Ename":"","BabyBirthday":"\/Date(-62135596800000+0800)\/","ChildBirthday":"\/Date(-62135596800000+0800)\/","TicketNo":"7812191996966"}],"FlightList":null,"Price":{"FacePrice":0.0,"Tax":0.0,"Fuel":0.0,"TotalPrice":0.0},"TicketStatus":2}
            //cmd.request.BigPnr = "NDYJVW";
            //cmd.request.FlightNo = "VOID";
            //cmd.request.SCity = "KMG";
            //cmd.request.ECity = "DLU";

            // (已测)找不到结果
            //cmd.request.BigPnr = "NDYJVW";
            //cmd.request.FlightNo = "MU8888";
            //cmd.request.SCity = "KMG";
            //cmd.request.ECity = "DLU";

            // (已测)一个人中有1个航程的情况(票号已找不到):
            // 返回结果:
            //cmd.request.BigPnr = "NE8SJT";
            //cmd.request.FlightNo = "MU5522";
            //cmd.request.SCity = "MDG";
            //cmd.request.ECity = "TAO";

            #endregion

            #region 调用Invoke以处理业务

            //EtermClient client = new EtermClient();
            //cmd.officeNo = "SHA243";
            //cmd.ConfigName = "O77124B1";
            //CommandResult<JetermEntity.Response.TicketByBigPnr> result = client.Invoke<JetermEntity.Request.TicketByBigPnr, JetermEntity.Response.TicketByBigPnr>(cmd);

            EtermProxy.BLL.TicketByBigPnr logic = new EtermProxy.BLL.TicketByBigPnr(IntPtr.Zero, IntPtr.Zero, string.Empty, string.Empty);
            logic.OfficeNo = "SHA243";
            logic.config   = "O77124B1";
            CommandResult <JetermEntity.Response.TicketByBigPnr> result = logic.BusinessDispose(cmd.request);

            #endregion

            #region 业务处理

            if (result == null)
            {
                Console.WriteLine("没有返回结果");
                //Console.ReadLine();
                return;
            }
            if (!result.state)
            {
                string cmdResult2 = result.error.CmdResultBag;
                Console.WriteLine(string.Format("返回有错误,错误信息为:{0}{1}。{2}", Environment.NewLine, result.error.ErrorMessage, string.IsNullOrWhiteSpace(cmdResult2) ? string.Empty : string.Format("{0}TicketByBigPnr指令返回结果为:{1}{2}", Environment.NewLine, Environment.NewLine, cmdResult2)));
                //Console.ReadLine();
                return;
            }
            if (result.result == null)
            {
                Console.WriteLine("没有返回结果");
                //Console.ReadLine();
                return;
            }

            string parseResult = Newtonsoft.Json.JsonConvert.SerializeObject(result.result);
            Console.WriteLine("解析结果:" + Environment.NewLine + parseResult);

            //Console.ReadLine();

            #endregion
        }
Ejemplo n.º 2
0
        public void Test_BusinessDispose()
        {
            JetermEntity.Request.TicketByBigPnr request = new JetermEntity.Request.TicketByBigPnr();

            // 解析第1种返回结果的请求参数:
            //// 例3:
            //request.BigPnr = "NK9Y8G";
            //request.FlightNo = "MU5633";
            //request.SCity = "URC";
            //request.ECity = "KHG";
            ////request.FlightNo = "CA1303";
            ////request.SCity = "PEK";
            ////request.ECity = "SZX";

            // 例4:
            //request.BigPnr = "PDNL7K";
            //request.FlightNo = "MF8108";
            //request.SCity = "PEK";
            //request.ECity = "FOC";

            // 例6:
            //PCZ0SX
            //request.BigPnr = "PCZ0SX";
            //request.FlightNo = "8L9801";
            //request.SCity = "KMG";
            ////request.SCity = "KMA";
            //request.ECity = "LJG";

            //// 解析第2种返回结果的请求参数:
            // 例1:
            //request.BigPnr = "PCZ0SX";
            //request.FlightNo = "HU7639";
            //request.SCity = "XIY";
            //request.ECity = "NKG";

            //request.BigPnr = "NK9Y8G";
            //request.FlightNo = "CA1254";
            //string flightCode = "URCPEK";
            //if (!string.IsNullOrEmpty(flightCode))
            //{
            //    if (flightCode.Length > 3)
            //    {
            //        request.SCity = flightCode.Substring(0, 3);
            //    }

            //    if (flightCode.Length > 5)
            //    {
            //        request.ECity = flightCode.Substring(3, 3);
            //    }
            //}

            // 测试是否能取到票号
            // 测试是否能成功换页
            // 返回结果:
            // {"PassengerList":[{"name":"许涛","idtype":0,"cardno":"330203197209250317","PassType":-1,"Ename":"","BabyBirthday":"\/Date(-62135596800000+0800)\/","ChildBirthday":"\/Date(-62135596800000+0800)\/","TicketNo":"9992363707999"},{"name":"朱汉民","idtype":0,"cardno":"330227196812169018","PassType":-1,"Ename":"","BabyBirthday":"\/Date(-62135596800000+0800)\/","ChildBirthday":"\/Date(-62135596800000+0800)\/","TicketNo":"9992363708000"},{"name":"吴开封","idtype":0,"cardno":"330222197312078235","PassType":-1,"Ename":"","BabyBirthday":"\/Date(-62135596800000+0800)\/","ChildBirthday":"\/Date(-62135596800000+0800)\/","TicketNo":"9992363707998"},{"name":"王勇","idtype":0,"cardno":"330203197201180318","PassType":-1,"Ename":"","BabyBirthday":"\/Date(-62135596800000+0800)\/","ChildBirthday":"\/Date(-62135596800000+0800)\/","TicketNo":"9992363707997"},{"name":"李军","idtype":0,"cardno":"330204197412261034","PassType":-1,"Ename":"","BabyBirthday":"\/Date(-62135596800000+0800)\/","ChildBirthday":"\/Date(-62135596800000+0800)\/","TicketNo":"9992363707996"},{"name":"曹敏君","idtype":0,"cardno":"330224197210074316","PassType":-1,"Ename":"","BabyBirthday":"\/Date(-62135596800000+0800)\/","ChildBirthday":"\/Date(-62135596800000+0800)\/","TicketNo":"9992363707995"}],"FlightList":[{"FlightNo":"CA1765","Airline":"CA","Cabin":"","SubCabin":"","SCity":"HGH","ECity":"LHW","DepTerminal":null,"ArrTerminal":null,"DepDate":"\/Date(1433433600000+0800)\/","ArrDate":"\/Date(-62135596800000+0800)\/","PNRState":null}],"Price":{"FacePrice":0.0,"Tax":0.0,"Fuel":0.0,"TotalPrice":0.0},"TicketStatus":1}
            //request.BigPnr = "NHG4VK";
            //request.FlightNo = "CA1765";
            //request.SCity = "HGH";
            //request.ECity = "LHW";

            // 测试第1种情况的返回结果为什么只解析到了只有1个人的信息

            /*
             * 黑屏返回结果:
             * ?DETR:CN/NTX3P7,C
             * ?DETR:TN/880-9289078641 ?             NAME: 刘建立
             * FOID:PF18810983674                      HU7225 /20JUN15/PEKWEF OPEN
             * ?DETR:TN/880-9289078642 ?             NAME: 刘文玲
             * FOID:PF18810983674                      HU7225 /20JUN15/PEKWEF OPEN
             */
            //  返回结果:
            // {"PassengerList":[{"name":"刘建立","idtype":-1,"cardno":"","PassType":-1,"Ename":"","BabyBirthday":"\/Date(-62135596800000+0800)\/","ChildBirthday":"\/Date(-62135596800000+0800)\/","TicketNo":"8809289078641"},{"name":"刘文玲","idtype":-1,"cardno":"","PassType":-1,"Ename":"","BabyBirthday":"\/Date(-62135596800000+0800)\/","ChildBirthday":"\/Date(-62135596800000+0800)\/","TicketNo":"8809289078642"}],"FlightList":[{"FlightNo":"HU7225","Airline":"HU","Cabin":"","SubCabin":"","SCity":"PEK","ECity":"WEF","DepTerminal":null,"ArrTerminal":null,"DepDate":"\/Date(1434729600000+0800)\/","ArrDate":"\/Date(-62135596800000+0800)\/","PNRState":null}],"Price":{"FacePrice":0.0,"Tax":0.0,"Fuel":0.0,"TotalPrice":0.0},"TicketStatus":1}
            //request.BigPnr = "NTX3P7";
            //request.FlightNo = "HU7225";
            //request.SCity = "PEK";
            //request.ECity = "WEF";

            /*
             * 黑屏返回结果:
             * ?DETR:CN/NDYJVW,C
             * ?DETR:TN/781-2191996969 ?             NAME: 肖苏城
             * FOID:NI450221197705161938               MU5757 /20MAY15/DLUKMG FLOW
             * FOID:NI450221197705161938               MU5767 /20MAY15/KMGNNG FLOW
             * ?DETR:TN/781-2191996968 ?             NAME: 肖苏城
             * FOID:NI450221197705161938               MU5768 /16MAY15/NNGKMG FLOW
             * FOID:NI450221197705161938                 VOID/VOID   /KMGDLU VOID
             * ?DETR:TN/781-2191996967 ?             NAME: 吴乐
             * FOID:NI452501197510263267               MU5757 /20MAY15/DLUKMG FLOW
             * FOID:NI452501197510263267               MU5767 /20MAY15/KMGNNG FLOW
             * ?DETR:TN/781-2191996966 ?             NAME: 吴乐
             * FOID:NI452501197510263267               MU5768 /16MAY15/NNGKMG FLOW        +
             *
             * FOID:NI452501197510263267                 VOID/VOID   /KMGDLU VOID        -
             */
            // 返回结果:
            // {"PassengerList":[{"name":"肖苏城","idtype":0,"cardno":"450221197705161938","PassType":-1,"Ename":"","BabyBirthday":"\/Date(-62135596800000+0800)\/","ChildBirthday":"\/Date(-62135596800000+0800)\/","TicketNo":"7812191996969"},{"name":"吴乐","idtype":0,"cardno":"452501197510263267","PassType":-1,"Ename":"","BabyBirthday":"\/Date(-62135596800000+0800)\/","ChildBirthday":"\/Date(-62135596800000+0800)\/","TicketNo":"7812191996967"}],"FlightList":[{"FlightNo":"MU5767","Airline":"MU","Cabin":"","SubCabin":"","SCity":"KMG","ECity":"NNG","DepTerminal":null,"ArrTerminal":null,"DepDate":"\/Date(1432051200000+0800)\/","ArrDate":"\/Date(-62135596800000+0800)\/","PNRState":null}],"Price":{"FacePrice":0.0,"Tax":0.0,"Fuel":0.0,"TotalPrice":0.0},"TicketStatus":5}
            request.BigPnr   = "NDYJVW";
            request.FlightNo = "MU5767";
            request.SCity    = "KMG";
            request.ECity    = "NNG";

            EtermProxy.BLL.TicketByBigPnr logic = new EtermProxy.BLL.TicketByBigPnr(IntPtr.Zero, IntPtr.Zero, "o72fe261", string.Empty);
            CommandResult <JetermEntity.Response.TicketByBigPnr> result = logic.BusinessDispose(request);

            if (result != null && result.state)
            {
                // 运行结果:
                // 第1种返回结果的解析结果:
                // 例3:
                // {"PassengerList":[{"name":"斯坎迪尔穆提拉","idtype":0,"cardno":"653121199401031919","PassType":-1,"Ename":"","BirthDayString":"","TicketNo":"7812180622791"}],"Price":{"FacePrice":0,"TotalPrice":0,"Tax":0,"Fuel":0}}
                // {"PassengerList":[{"name":"徐速","idtype":-1,"cardno":"","PassType":-1,"Ename":"","BirthDayString":"","TicketNo":"9991952037851"}],"Price":{"FacePrice":0,"TotalPrice":0,"Tax":0,"Fuel":0}}
                // 例4:
                // {"PassengerList":[{"name":"陈国辉","idtype":-1,"cardno":"","PassType":-1,"Ename":"","BirthDayString":"","TicketNo":"7312381150793"},{"name":"周井源","idtype":0,"cardno":"132622197911195210","PassType":-1,"Ename":"","BirthDayString":"","TicketNo":"7312381150794"}],"Price":{"FacePrice":0,"TotalPrice":0,"Tax":0,"Fuel":0}}
                // 第2种返回结果的解析结果:
                // 例1:
                // {"PassengerList":[{"name":"茅威涛","idtype":-1,"cardno":"","PassType":-1,"Ename":"","BirthDayString":"","TicketNo":"8802323065499"}],"Price":{"FacePrice":760.00,"TotalPrice":870.00,"Tax":50.00,"Fuel":60.00}}
                // {"PassengerList":[{"name":"茅威涛","idtype":-1,"cardno":"","PassType":-1,"Ename":"","BirthDayString":"","TicketNo":"8802323065499"}],"Price":{"FacePrice":0,"TotalPrice":0,"Tax":0,"Fuel":0}}
                string str = Newtonsoft.Json.JsonConvert.SerializeObject(result.result);
                Console.WriteLine("运行结果:" + Newtonsoft.Json.JsonConvert.SerializeObject(result.result));
                return;
            }
            if (result.error != null)
            {
                Console.WriteLine("运行错误,错误信息:" + result.error.ErrorMessage);
            }
        }