/// <summary> /// 指派中 /// 等待服务返回消息送达标识 /// 30秒未确认或拒绝订单这发送取消此设备订单 /// </summary> public static void SetAssigning(string deviceId, string orderID, string carNo, string parkNo) { Task task = new TaskFactory().StartNew(() => { var dev = deviceId; var order = orderID; /// ///1.等待消息送达 /// N 秒后如果未收到响应数据则再次发送, /// M 秒后如果再次未收到,则发送取消命令,并向服务器汇报 ///2.等到按钮响应 /// N 秒后如未收到响应数据,则发送取消命令,并向服务器汇报 /// Stopwatch sw = new Stopwatch(); sw.Start(); while (true) { Thread.Sleep(1000); if (OrderConf.Where(x => x.Key == dev && x.Value == order).Count() > 0) { //N 秒未接收则告知服务器 if (sw.ElapsedMilliseconds > 30000) { //告知后推出循环 { //var url = "http://www.chupiao.xyz/api/Servermessage"; var url = "http://www.chupiao.xyz/api/Servermessage"; Dictionary <string, string> dic = new Dictionary <string, string>(); dic.Add("deviceid", deviceId); dic.Add("order_number", orderID); var res = Helper.HttpClientHelper.PostResponse(url, dic); Console.WriteLine(res); } ZHHelper.ConsoleOut($"{DateTime.Now.ToString("hh:mm:ss,fff")} while 告知后推出循环"); sw.Restart(); } } else { break; } } }); }
public OrderConf SubeCompra(string laip, string _sesionToken, Cart carro, Address direccion, Address bussines) { var result = new OrderConf(); //resultList _area; // string token = GetToken(laip).activeToken; //string de url principal //depurar y revisar alguno de ellos va vacio... string urlPath = "https://riews.reinfoempresa.com:8443"; string nombre = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(carro.Customer.FullName)); string Comercial = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(bussines.ContactName)); string calle = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(direccion.AddressLine1)); string calle2 = string.Empty; if (direccion.AddressLine2 != null) { calle2 = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(direccion.AddressLine2)); } else { calle2 = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(" ")); } string poblacion = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(direccion.City)); string provincia = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(direccion.StateOrProvinceId.ToString())); string cp = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(direccion.ZipCode)); //cambiar aqui para un campo nif string nif = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes("44455589q")); string pais = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(direccion.CountryId.ToString())); string web = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(" ")); string tfn1 = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(direccion.Phone)); string tfn2 = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(direccion.Phone)); string email = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(carro.Customer.Email)); string pin = "1"; //string de la url del método de llamada //https://riews.reinfoempresa.com:8443/RIEWS/webapi/PrivateServices/articles1 string request2 = urlPath + "/RIEWS/webapi/PrivateServices/basketlines7W"; //creamos un webRequest con el tipo de método. WebRequest webRequest = WebRequest.Create(request2); //definimos el tipo de webrequest al que llamaremos webRequest.Method = "POST"; //definimos content\ webRequest.ContentType = "application/json; charset=utf-8"; //cargamos los datos a enviar using (var streamWriter = new StreamWriter(webRequest.GetRequestStream())) { //string json = "{\"token\":\"" + token + "\",\"ipbase64\":\"" + laip +"}"; string json = "{\"token\":\"" + _sesionToken + "\",\"ipbase64\":\"" + laip + "\",\"name\":\"" + nombre + "\",\"commercialname\":\"" + Comercial + "\",\"address\":\"" + calle + "\",\"address2\":\"" + calle2 + "\",\"population\":\"" + poblacion + "\",\"postalcode\":\"" + cp + "\",\"province\":\"" + provincia + "\"" + ",\"identitydocument\":\"" + nif + "\",\"country\":\"" + pais + "\",\"email\":\"" + email + "\",\"web\":\"" + web + "\",\"phone\":\"" + tfn1 + "\",\"movil\":\"" + tfn2 + "\",\"sendpin\":\"" + pin + "\"}"; streamWriter.Write(json.ToString()); //" " } //obtenemos la respuesta del servidor var httpResponse = (HttpWebResponse)webRequest.GetResponse(); //leemos la respuesta y la tratamos using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { var result2 = streamReader.ReadToEnd(); //traducimos el resultado // result = JsonSerializer.Deserialize<DataCollectionSingle<producto>>(result2); result = JsonConvert.DeserializeObject <OrderConf>(result2); } // //if (_area == null) //{ // _area = new resultList(); // _area.result = new List<result>(); // _area.result[0].areaname = "vacia"; //} return(result); }