public IHttpActionResult Receive311Order([FromBody] Order order) { API_Message message = new API_Message(); message.MessageCode = "1"; string reStr = ""; _logger.WriteLog_Info <custom311Controller>(JsonConvert.SerializeObject(order), null, null, null); if (ModelState.IsValid) { string username = User.Identity.Name; UserInfo userinfo = new UserInfo();// _IUserRepository.UserInfos.Where(t => t.UserName == username).FirstOrDefault(); try { userinfo = _IUserRepository.UserInfos.Where(t => t.userId == (order.OrderItems?[0].OrderItemDetails?[0].CustomsChannelId.ToString() ?? order.OrderItems[0].CustomsChannelId.ToString())).FirstOrDefault(); if (userinfo == null) { message.MessageCode = "2"; message.ErrorMsg = "没有查询到相应的报关通道!"; return(Json(message)); } order.OrderGuid = Guid.NewGuid(); order.api_type = 1; //reStr = Custom_GuangZhou(order, userinfo); if (userinfo.PortCode.ToLower().Contains("tianjin")) { reStr = Custom_TianJin(order, userinfo); } else if (userinfo.PortCode.ToLower().Contains("guangzhou")) { reStr = Custom_GuangZhou(order, userinfo); } _logger.WriteLog_Info <custom311Controller>(reStr, null, null, null); } catch (Exception ex) { message.MessageCode = "2"; _logger.WriteLog_Error <custom311Controller>(reStr, null, null, ex); } } else { //return BadRequest(ModelState).ToString(); var modelstate = BadRequest(ModelState); string returestr = ""; foreach (var item in modelstate.ModelState.Keys) { returestr += "Key:" + item + "value:" + (modelstate.ModelState[item].Errors != null ? (modelstate.ModelState?[item].Errors?[0].ErrorMessage + " " + modelstate.ModelState?[item].Errors?[0].Exception?.Message) : "");// item.Errors != null ? item.Errors[0].ErrorMessage + "\r\n" : ""; } message.MessageCode = "2"; message.ErrorMsg = returestr; } return(Json(message)); }
public IHttpActionResult Post([FromBody] WarehouseViewModel value) { API_Message api_message = new API_Message(); api_message.Method = "ReceiveWarehouse"; _ILog4netHelper.WriteLog_Info <WarehouseController>(JsonConvert.SerializeObject(value), null, null, value.ClientGuid.ToString(), value.ClientName, null); if (ModelState.IsValid) { try { _ILog4netHelper.WriteLog_Info <WarehouseController>(JsonConvert.SerializeObject(value), null, null, value.ClientGuid.ToString(), value.ClientName, null); string post = JsonConvert.SerializeObject(value); WebClient client = new WebClient(); client.Headers.Add("Content-Type", "application/json"); byte[] reByte = client.UploadData(_ISetting.ecmall.Base_Url + "/appserver/index.php?m=api&c=stock&a=addStock", Encoding.UTF8.GetBytes(post));//http://192.0.1.188:15536/api/vendor/receivevendor string reStr = Encoding.UTF8.GetString(reByte); value.Warehouse.ClientGuid = value.ClientGuid; value.Warehouse.ClientName = value.ClientName; _IWarehouseRepository.SaveWarehouse(value.Warehouse); _ILog4netHelper.WriteLog_Info <WarehouseController>(reStr, null, null, null); api_message = JsonConvert.DeserializeObject <API_Message>(reStr); } catch (Exception ex) { api_message.MessageCode = "2"; api_message.ErrorMsg = ex?.Message == null?ex?.TargetSite.ToString() : ex?.Message; _ILog4netHelper.WriteLog_Error <WarehouseController>(JsonConvert.SerializeObject(api_message), null, null, value.ClientGuid.ToString(), value.ClientName, ex); } } else { var modelstate = BadRequest(ModelState); string returestr = ""; foreach (var item in modelstate.ModelState.Values) { //item. //item.Value.Value.RawValue.ToString() returestr += item.Errors != null ? item.Errors[0].ErrorMessage + "\r\n" : ""; } foreach (var item in modelstate.ModelState.Keys) { //item. //item.Value.Value.RawValue.ToString() returestr += item != null?item.ToString() + "\r\n" : ""; } api_message.MessageCode = "2"; api_message.ErrorMsg = returestr; _ILog4netHelper.WriteLog_Waring <WarehouseController>(JsonConvert.SerializeObject(api_message), null, null, value.ClientGuid.ToString(), value.ClientName, null); } return(Json(api_message)); }
public HttpResponseMessage Post([FromBody] WMSStockViewModel value) { ApiJsonResult <object> message = new ApiJsonResult <object>(); string restr = ""; if (ModelState.IsValid) { try { _logger.WriteLog_Info <WMSSyncStockController>(JsonConvert.SerializeObject(value), null, "1", null); WebClient client = new WebClient(); client.Headers.Add("Content-Type", "application/json;charset=utf8"); IsoDateTimeConverter iso = new IsoDateTimeConverter(); iso.DateTimeFormat = "yyyy-MM-dd HH:mm:ss"; string update = JsonConvert.SerializeObject(value, iso); byte[] reByte_Api = client.UploadData(_ISetting.oms.Base_Url + "/api/stock/UpdateStockInOutStatus", "Post", Encoding.UTF8.GetBytes(update)); restr = Encoding.UTF8.GetString(reByte_Api); _logger.WriteLog_Info <WMSSyncStockController>(restr, null, "return", null); } catch (Exception ex) { _logger.WriteLog_Error <WMSSyncStockController>(JsonConvert.SerializeObject(value), null, "2", ex); message.success = false; message.msg = "oms连接错误"; restr = JsonConvert.SerializeObject(message); } } else { var modelstate = BadRequest(ModelState); string returestr = ""; foreach (var item in modelstate.ModelState.Keys) { returestr += "Key:" + item + "value:" + (modelstate.ModelState?[item].Errors != null ? (modelstate.ModelState?[item].Errors?[0].ErrorMessage + " " + modelstate.ModelState?[item].Errors?[0].Exception?.Message) : "");// item.Errors != null ? item.Errors[0].ErrorMessage + "\r\n" : ""; } message.msg = returestr; message.success = false; restr = JsonConvert.SerializeObject(message); _logger.WriteLog_Error <WMSSyncStockController>(JsonConvert.SerializeObject(value), null, "3", null); _logger.WriteLog_Error <WMSSyncStockController>(JsonConvert.SerializeObject(message), "4", null, null); } return(new HttpResponseMessage { Content = new StringContent(restr, Encoding.UTF8) }); }
public IHttpActionResult Post([FromBody] VendorViewModel value) { API_Message api_message = new API_Message(); api_message.MessageCode = ((int)m_Code.Success).ToString(); string restr = ""; if (ModelState.IsValid) { try { _logger.WriteLog_Info <WMSSyncVendorsController>(JsonConvert.SerializeObject(value), null, "update", null); string update = JsonConvert.SerializeObject(value); WebClient client = new WebClient(); client.Headers.Add("Content-Type", "application/json"); byte[] reByte_Api = client.UploadData(_ISetting.wms.Base_Url + "?parm=Vendor", "Post", Encoding.UTF8.GetBytes(update)); restr = Encoding.UTF8.GetString(reByte_Api); _logger.WriteLog_Info <WMSSyncVendorsController>(restr, null, "return", null); api_message = JsonConvert.DeserializeObject <API_Message>(restr); } catch (Exception ex) { _logger.WriteLog_Error <WMSSyncVendorsController>(JsonConvert.SerializeObject(value), null, null, ex); api_message.ErrorMsg = restr + ex.Message.ToString(); api_message.MessageCode = ((int)m_Code.Faile).ToString(); _logger.WriteLog_Error <WMSSyncVendorsController>(JsonConvert.SerializeObject(api_message), null, null, null); } } else { var modelstate = BadRequest(ModelState); string returestr = ""; foreach (var item in modelstate.ModelState.Values) { returestr += item.Errors != null ? item.Errors[0].ErrorMessage + "\r\n" : ""; } api_message.ErrorMsg = returestr; api_message.MessageCode = ((int)m_Code.Faile).ToString(); _logger.WriteLog_Error <WMSSyncVendorsController>(JsonConvert.SerializeObject(value), null, null, null); _logger.WriteLog_Error <WMSSyncVendorsController>(JsonConvert.SerializeObject(api_message), null, null, null); } return(Json(api_message)); }
public IHttpActionResult Post([FromBody] GoodsRegDocument value) { API_Message message = new API_Message(); message.MessageCode = "1"; string reStr = ""; _logger.WriteLog_Info <customgoodsController>(JsonConvert.SerializeObject(value), null, null, null); if (ModelState.IsValid) { try { WebClient client = new WebClient(); client.Headers.Add("Content-Type", "application/json"); string body = JsonConvert.SerializeObject(value); byte[] reByte = client.UploadData(_ISetting.custom.Base_Url + "/api/Custom/goods", Encoding.UTF8.GetBytes(body)); reStr = Encoding.UTF8.GetString(reByte); _logger.WriteLog_Info <customgoodsController>(reStr, null, null, null); } catch (Exception ex) { message.MessageCode = "2"; _logger.WriteLog_Error <customgoodsController>(reStr, null, null, ex); } } else { var modelstate = BadRequest(ModelState); string returestr = ""; foreach (var item in modelstate.ModelState.Values) { returestr += item.Errors != null ? item.Errors[0].ErrorMessage + "\r\n" : ""; } message.MessageCode = "2"; message.ErrorMsg = returestr; _logger.WriteLog_Error <customgoodsController>(JsonConvert.SerializeObject(message), null, null, null); } return(Json(message)); }
/// <summary> /// 提交用户报关信息 /// </summary> /// <param name="value"></param> /// <returns></returns> public IHttpActionResult Post([FromBody] UserInfo value) { API_Message message = new API_Message(); message.MessageCode = "1"; string name = User.Identity.Name; if (ModelState.IsValid) { try { //value.UserName = name; _iUserRepository.Save_UserInfos(value); _iLog4netHelper.WriteLog_Info <UserManagerController>(JsonConvert.SerializeObject(value), "", name, null); _iLog4netHelper.WriteLog_Info <UserManagerController>(JsonConvert.SerializeObject(message), "", name, null); } catch (Exception ex) { message.MessageCode = "2"; _iLog4netHelper.WriteLog_Error <UserManagerController>(JsonConvert.SerializeObject(value), "", name, ex); _iLog4netHelper.WriteLog_Error <UserManagerController>(JsonConvert.SerializeObject(message), "", name, ex); } } else { var modelstate = BadRequest(ModelState); string returestr = ""; foreach (var item in modelstate.ModelState.Values) { returestr += item.Errors != null ? item.Errors[0].ErrorMessage + "\r\n" : ""; } message.MessageCode = "2"; message.ErrorMsg = returestr; _iLog4netHelper.WriteLog_Error <UserManagerController>(JsonConvert.SerializeObject(value), "", name, null); _iLog4netHelper.WriteLog_Error <UserManagerController>(JsonConvert.SerializeObject(message), "", name, null); } return(Json(message)); }
public void Post([FromBody] OrderViewModel order) { API_Message api_message = new API_Message(); api_message.MessageCode = ((int)m_Code.Success).ToString(); IsoDateTimeConverter iso = new IsoDateTimeConverter(); iso.DateTimeFormat = "yyyy-MM-dd HH:mm:ss"; if (ModelState.IsValid) { try { order.OrderGuid = Guid.NewGuid(); order.api_type = 5; for (int i = 0; i < order.OrderItems.Count; i++) { order.OrderItems[i].ItemGuid = Guid.NewGuid(); } _iEcmOrder.Save_Orders(order); _IRabbitMQHelper.Publish <OrdersController_WMS>(JsonConvert.SerializeObject(order, iso)); _logger.WriteLog_Info <OrdersController_WMS>(JsonConvert.SerializeObject(order), null, null, null); } catch (Exception ex) { _logger.WriteLog_Error <OrdersController_WMS>(JsonConvert.SerializeObject(order), null, null, ex); } //return Json(api_message); } else { var modelstate = BadRequest(ModelState); string returestr = ""; foreach (var item in modelstate.ModelState.Values) { returestr += item.Errors != null ? item.Errors[0].ErrorMessage + "\r\n" : ""; } api_message.ErrorMsg = returestr; api_message.MessageCode = ((int)m_Code.Faile).ToString(); _logger.WriteLog_Error <OrdersController_WMS>(JsonConvert.SerializeObject(order), null, null, null); _logger.WriteLog_Error <OrdersController_WMS>(JsonConvert.SerializeObject(api_message), null, null, null); } }
public IHttpActionResult UpdateVendor([FromBody] VendorModel value) { API_Message api_message = new API_Message(); api_message.Method = "UpdateVendor"; if (ModelState.IsValid) { try { _ILog4netHelper.WriteLog_Info <UpdateVendor>(JsonConvert.SerializeObject(value), null, null, null); string post = JsonConvert.SerializeObject(value); WebClient client = new WebClient(); client.Headers.Add("Content-Type", "application/json"); byte[] reByte = client.UploadData(_ISetting.oms.Base_Url + "/api/vendor/updatevendor", Encoding.UTF8.GetBytes(post)); string reStr = Encoding.UTF8.GetString(reByte); _ILog4netHelper.WriteLog_Info <UpdateVendor>(reStr, null, null, null); api_message = JsonConvert.DeserializeObject <API_Message>(reStr); } catch (Exception ex) { api_message.MessageCode = "2"; api_message.ErrorMsg = ex.InnerException.Message.ToString(); _ILog4netHelper.WriteLog_Error <UpdateVendor>(JsonConvert.SerializeObject(api_message), null, null, null); } } else { var modelstate = BadRequest(ModelState); string returestr = ""; foreach (var item in modelstate.ModelState.Values) { returestr += item.Errors != null ? item.Errors[0].ErrorMessage + "\r\n" : ""; } api_message.MessageCode = "2"; api_message.ErrorMsg = returestr; _ILog4netHelper.WriteLog_Waring <UpdateVendor>(JsonConvert.SerializeObject(api_message), null, null, null); } return(Json(api_message)); }
public IHttpActionResult item_update([FromBody] Product value) { API_Message api_message = new API_Message(); api_message.MessageCode = ((int)m_Code.Success).ToString(); try { if (ModelState.IsValid) { if (value.ProductItems == null?true:value.ProductItems.Count <= 0) { api_message.MessageCode = ((int)m_Code.Faile).ToString(); api_message.ErrorMsg = "商品为空"; _logger.WriteLog_Info <InventoryController>(JsonConvert.SerializeObject(value), null, "oms请求", null); _logger.WriteLog_Waring <InventoryController>(JsonConvert.SerializeObject(api_message), null, null, null); return(Json(api_message)); } for (int i = 0; i < value.ProductItems.Count; i++) { value.ProductItems[i].ItemGuid = Guid.NewGuid(); for (int j = 0; j < value.ProductItems[i].SpecItems.Count; j++) { value.ProductItems[i].SpecItems[j].ItemGuid = value.ProductItems[i].ItemGuid; } } _iRabbitMQHelper.Publish <InventoryController>(JsonConvert.SerializeObject(value).ToString()); //_IProductRepository.Save_Product(value); _logger.WriteLog_Info <InventoryController>(JsonConvert.SerializeObject(value), null, "oms请求", null); } else { //var modelstate = BadRequest(ModelState); string returestr = ""; string re = ""; string pattern = @"(?is)(\[)(.d)?(\])"; Regex rgx = new Regex(pattern); foreach (var item in ModelState) { returestr += item.Key.ToString() + "--------" + item.Value.Errors[0].ErrorMessage.ToString() + "\r\n"; re += rgx.Match(item.Value.Errors[0].ErrorMessage.ToString()); } api_message.ErrorMsg = returestr; api_message.MessageCode = ((int)m_Code.Faile).ToString(); _logger.WriteLog_Waring <InventoryController>(JsonConvert.SerializeObject(api_message), null, null, null); _logger.WriteLog_Waring <InventoryController>(JsonConvert.SerializeObject(value), null, "oms请求", null); } } catch (Exception ex) { _logger.WriteLog_Error <InventoryController>(JsonConvert.SerializeObject(value), null, "oms请求", ex); } return(Json(api_message)); }
public IHttpActionResult Post([FromBody] PayOrder value) { string UserName = User.Identity.Name; PayOrder_Re response = new PayOrder_Re(); PayOrderViewModel viewmodel = new PayOrderViewModel(); try { if (ModelState.IsValid) { if (!string.IsNullOrEmpty(UserName)) { var userinfo = _IUserRepository.UserInfos.Where(t => t.UserName == UserName).FirstOrDefault(); if (userinfo == null) { response.success = "fail"; response.code = PayCode.fail; response.msg = "未查询到用户信息"; } else { viewmodel.payorder = value; viewmodel.userinfo = userinfo; _IRabbitMQHelper.Publish <OrdersController>(JsonConvert.SerializeObject(viewmodel)); _IPayOrderRepository.Save_PayOrder(value); _logger.WriteLog_Info <OrdersController>(JsonConvert.SerializeObject(viewmodel), null, null, null); } } else { _logger.WriteLog_Waring <OrdersController>(JsonConvert.SerializeObject(viewmodel), null, null, null); } } else { _logger.WriteLog_Error <OrdersController>(JsonConvert.SerializeObject(viewmodel), null, null, null); } } catch (Exception ex) { _logger.WriteLog_Error <OrdersController>(JsonConvert.SerializeObject(viewmodel), null, null, ex); } return(Json(response)); }
public HttpResponseMessage Post([FromBody] OpenReq_Data obj) { try { string[] _str; CEB312Message message = new CEB312Message(); Dictionary <string, string> dic = new Dictionary <string, string>(); Request.Content.ReadAsStreamAsync().Result.Seek(0, System.IO.SeekOrigin.Begin); string content = Request.Content.ReadAsStringAsync().Result; _ILog4netHelper.WriteLog_Info <customguangzhouController>(content, "1", "post", null); if (content.Contains("&")) { _str = content.Split('&'); foreach (var item in _str) { if (item.Contains("=")) { string[] str = item.Split('='); dic.Add(str[0], str[1]); } } } if (dic.Keys.Contains("messageText")) { using (StringReader sr = new StringReader(HttpUtility.UrlDecode(dic["messageText"]))) { try { XmlSerializer xmldes = new XmlSerializer(typeof(CEB312Message)); message = (CEB312Message)xmldes.Deserialize(sr); DeclarationReceipt ret_info = new DeclarationReceipt(); ret_info.OrderNo = message.OrderReturn?.orderNo == null?message.OrderReturn?.orderSerialNode.Substring(19) : message.OrderReturn?.orderNo; if (!string.IsNullOrEmpty(message.OrderReturn?.returnStatus)) { ret_info.Result = "T"; string status = message.OrderReturn.returnStatus; if (status == "2" || status == "3" || status == "120") { ret_info.Result = "T"; } else { ret_info.Result = "F"; } } ret_info.ResultMessage = message?.OrderReturn?.returnInfo; string request = ""; try { request = JsonConvert.SerializeObject(ret_info); WebClient client = new WebClient(); client.Headers.Add("Content-Type", "application/json"); //Uri _uri = new Uri("https://oms.jingjing.shop/api/Order/CustomsDeclarationReceipt"); Uri _uri = new Uri(_ISetting.oms.Base_Url + "/api/Order/CustomsDeclarationReceipt"); _ILog4netHelper.WriteLog_Info <customguangzhouController>(request, "3", null, null); string respone = Encoding.UTF8.GetString(client.UploadData(_uri, Encoding.UTF8.GetBytes(request)));//_uri.UploadData(Encoding.UTF8.GetBytes(request)); _ILog4netHelper.WriteLog_Info <customguangzhouController>(respone, "4", null, null); } catch (Exception ex) { _ILog4netHelper.WriteLog_Info <customguangzhouController>(request, "5", null, ex); } } catch (Exception ex) { _ILog4netHelper.WriteLog_Error <customguangzhouController>(content, "2", "post", ex); } } } } catch (Exception ex) { _ILog4netHelper.WriteLog_Error <customguangzhouController>("post", "6", "post", ex); } return(new HttpResponseMessage { Content = new StringContent("SUCCESS", Encoding.UTF8) }); // Json("SUCCESS"); }
public HttpResponseMessage AsaUpdatePriceList(PriceViewModel value) { ApiJsonResult <List <PriceModel> > message = new ApiJsonResult <List <PriceModel> >(); PriceViewModel model = new PriceViewModel(); model.ClientGuid = value.ClientGuid; model.ClientName = value.ClientName; message.data = new List <PriceModel>(); string restr = ""; if (ModelState.IsValid) { try { _ilog4netHelper.WriteLog_Info <Asa修改价格>(JsonConvert.SerializeObject(value), null, "请求", value?.ClientGuid, null, null); message.success = true; message.msg = "api接收成功"; foreach (var item in value.PriceListCollection) { try { if (item.Price == 0) { continue; } model.PriceListCollection = new List <PriceModel>() { item }; _IRabbitMQHelper.Publish <Asa修改价格>(JsonConvert.SerializeObject(model)); item.IsAvailable = true; message.data.Add(item); } catch (Exception ex) { item.IsAvailable = false; _ilog4netHelper.WriteLog_Error <Asa修改价格>(JsonConvert.SerializeObject(item), null, "2", value?.ClientGuid, null, ex); message.data.Add(item); } } _ilog4netHelper.WriteLog_Info <Asa修改价格>(JsonConvert.SerializeObject(message), null, "return", null); } catch (Exception ex) { _ilog4netHelper.WriteLog_Error <Asa修改价格>(JsonConvert.SerializeObject(value), null, "2", value?.ClientGuid, null, ex); message.success = false; message.msg = "查询erp地址连接错误"; restr = JsonConvert.SerializeObject(message); } } else { var modelstate = BadRequest(ModelState); string returestr = ""; foreach (var item in modelstate.ModelState.Keys) { returestr += "Key:" + item + "value:" + (modelstate.ModelState?[item].Errors != null ? (modelstate.ModelState?[item].Errors?[0].ErrorMessage + " " + modelstate.ModelState?[item].Errors?[0].Exception?.Message) : "");// item.Errors != null ? item.Errors[0].ErrorMessage + "\r\n" : ""; } message.msg = returestr; message.success = false; restr = JsonConvert.SerializeObject(message); _ilog4netHelper.WriteLog_Error <Asa修改价格>(JsonConvert.SerializeObject(value), null, "3", value?.ClientGuid, null, null); _ilog4netHelper.WriteLog_Error <Asa修改价格>(JsonConvert.SerializeObject(message), "4", null, value?.ClientGuid, null, null); } return(new HttpResponseMessage { Content = new StringContent(JsonConvert.SerializeObject(message), Encoding.UTF8) }); }
//public IHttpActionResult platDataOpen([FromBody]custom_order value) public IHttpActionResult platDataOpen([FromBody] string openReq) { custom_order value = new custom_order(); value = JsonConvert.DeserializeObject <custom_order>(openReq); custom_order_re re = new custom_order_re(); payExInfo_DTO dto = new payExInfo_DTO(); if (ModelState.IsValid) { try { dto = _IpayExInfoRepository.payExInfoes.Where(t => t.payguid == (t.payExchangeInfoLists.Where(x => x.orderNo == value.orderNo).Select(c => c.payguid).FirstOrDefault()) && t.type == 1).FirstOrDefault(); Guid guid = Guid.NewGuid(); //_IRabbitMQHelper.Publish<custom_order>(value, JsonConvert.SerializeObject(value)); value.guid = guid; _ICustomsRepository.Save_Custom(value); _ILog4netHelper.WriteLog_Info <customrealpayController>(JsonConvert.SerializeObject(value), null, User.Identity.Name, null); re.code = "10000"; re.message = ""; re.serviceTime = (long)(DateTime.Now - TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1))).TotalMilliseconds; re.guid = guid; if (dto != null) { //Task.Run(() => //{ payExInfo info = new payExInfo(); info.sessionID = re.serviceTime.ToString(); // "fe2374-8fnejf97-5561612455562"; info.serviceTime = re.serviceTime; Guid guids = Guid.NewGuid(); info.payguid = guids; //string test = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; info.payExchangeInfoHead = new payExchangeInfoHead { guid = guids, //Guid.NewGuid(),// "9D55BA71-55DE-41F4-8B50-C36C83B3B419", initalRequest = dto.payExchangeInfoHead[0].initalRequest, // @"https://openapi.alipay.com/gateway.do?timestamp=2013-01-0108:08:08&method=alipay.trade.pay&app_id=13580&sign_type=RSA2&sign=ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE&version=1.0&charset=GBK\", initalResponse = dto.payExchangeInfoHead[0].initalResponse, //"ok", // "ok", ebpCode = "121096080H", payCode = "31222699S7", // payTransactionId = dto.payExchangeInfoHead[0].payTransactionId, //"2018121222001354081010726129",// totalAmount = dto.payExchangeInfoHead[0].totalAmount, // currency = "142", verDept = "3", payType = "1", // tradingTime = dto.payExchangeInfoHead[0].tradingTime, // note = " ", payguid = guids }; // "head"; info.payExchangeInfoLists = new List <payExchangeInfoList>() { new payExchangeInfoList { orderNo = dto.payExchangeInfoLists[0].orderNo, goodsInfo = dto.payExchangeInfoLists[0].goodsInfo, //goodsInfo=new List<goodsInfo>() { //new goodsInfo { listguid=guids, gname="lhy-gnsku3",itemLink=@"http://m.yunjiweidian.com/yunjibuyer/static/vue-buyer/idc/index.html#/detail?itemId=999761&shopId=453"}, //new goodsInfo { listguid=guids, gname="lhy-gnsku2",itemLink=@"http://m.yunjiweidian.com/yunjibuyer/static/vue-buyer/idc/index.html#/detail?itemId=999760&shopId=453" }, //new goodsInfo { listguid=guids, gname="lhy-gnsku3",itemLink=@"http://m.yunjiweidian.com/yunjibuyer/static/vue-buyer/idc/index.html#/detail?itemId=999761&shopId=453"}, //new goodsInfo { listguid=guids, gname="lhy-gnsku2",itemLink=@"http://m.yunjiweidian.com/yunjibuyer/static/vue-buyer/idc/index.html#/detail?itemId=999760&shopId=453" }, //new goodsInfo { listguid=guids, gname="lhy-gnsku3",itemLink=@"http://m.yunjiweidian.com/yunjibuyer/static/vue-buyer/idc/index.html#/detail?itemId=999761&shopId=453"}, //new goodsInfo { listguid=guids, gname="lhy-gnsku2",itemLink=@"http://m.yunjiweidian.com/yunjibuyer/static/vue-buyer/idc/index.html#/detail?itemId=999760&shopId=453" }, //new goodsInfo { listguid=guids, gname="lhy-gnsku3",itemLink=@"http://m.yunjiweidian.com/yunjibuyer/static/vue-buyer/idc/index.html#/detail?itemId=999761&shopId=453"}, //}, recpAccount = "62005876123654", recpCode = "121096080H", recpName = "天津智信通电子商务有限公司", payguid = guids, listguid = guids } }; // "list"; //MessageHelper.Helper(info); //var hub = GlobalHost.ConnectionManager.GetHubContext<MessageHub>(); //hub.Clients.User("*****@*****.**").Send(info); //hub.Clients.All.Send(info); _IRabbitMQHelper.Publish <customrealpayController>(JsonConvert.SerializeObject(info)); //_IpayExInfoRepository.payExInfo_Save(info); //}); _ICustomsRepository.Save_Custom_Re(re); } else { re.code = "20000"; _ILog4netHelper.WriteLog_Error <customrealpayController>(JsonConvert.SerializeObject(value), null, User.Identity.Name, null); } } catch (Exception ex) { re.code = "20000"; _ILog4netHelper.WriteLog_Error <customrealpayController>(JsonConvert.SerializeObject(value), null, User.Identity.Name, ex); } } else { var modelstate = BadRequest(ModelState); string returestr = ""; foreach (var item in modelstate.ModelState.Values) { returestr += item.Errors != null ? item.Errors[0].ErrorMessage + "\r\n" : ""; } _ILog4netHelper.WriteLog_Error <customrealpayController>(returestr, null, null, null); } return(Json(re)); }
public IHttpActionResult GetWrap([FromBody] ClientViewModel value) { List <WrapInfoItemsViewModel> model = new List <WrapInfoItemsViewModel>(); string post = ""; if (ModelState.IsValid) { try { post = JsonConvert.SerializeObject(value); _ilog4netHelper.WriteLog_Info <ERP包装代码>(post, null, null, value?.ClientGuid, value?.ClientName, null); string id = User.Identity.GetUserId(); if (string.IsNullOrEmpty(id) || _iUserRepository.GetClient(id, value.ClientGuid) == null) { return(Json(model)); } WebClient client = new WebClient(); client.Headers.Add("Content-Type", "application/json"); byte[] reByte = client.UploadData(_ISetting.oms.Base_Url + "/api/basedata/GetWrap", Encoding.UTF8.GetBytes(post));//http://192.0.1.188:15536/api/vendor/receivevendor string reStr = Encoding.UTF8.GetString(reByte); _ilog4netHelper.WriteLog_Info <ERP包装代码>(post, null, null, value?.ClientGuid, value?.ClientName, null); _ilog4netHelper.WriteLog_Info <ERP包装代码>(reStr, null, null, value?.ClientGuid, value?.ClientName, null); model = JsonConvert.DeserializeObject <List <WrapInfoItemsViewModel> >(reStr); } catch (Exception ex) { _ilog4netHelper.WriteLog_Error <ERP包装代码>(post, null, null, value?.ClientGuid, value?.ClientName, ex); } } else { //re.code = 0; //re.msg = "ERP包装代码数据格式错误"; //var modelstate = BadRequest(ModelState); //string returestr = ""; //foreach (var item in modelstate.ModelState.Values) //{ // //item. // //item.Value.Value.RawValue.ToString() // returestr += item.Errors != null ? item.Errors[0].ErrorMessage + item.Errors[0].Exception.Message + "\r\n" : ""; //} //re.success = false; //re.data = returestr; _ilog4netHelper.WriteLog_Waring <ERP包装代码>(JsonConvert.SerializeObject(post), null, null, value.ClientGuid?.ToString(), value.ClientName, null); } return(Json(model)); }
/// <summary> /// /// </summary> public void Order311FromOMS_GuangZhou() { try { ConcurrentQueue <BasicDeliverEventArgs> queue1 = new ConcurrentQueue <BasicDeliverEventArgs>(); ConnectionFactory factory = new ConnectionFactory(); factory.UserName = "******"; factory.Password = "******"; factory.HostName = "127.0.0.1"; factory.Port = 5672; factory.AutomaticRecoveryEnabled = true; factory.TopologyRecoveryEnabled = true; RabbitMQ.Client.IConnection conn = factory.CreateConnection(); conn.ConnectionShutdown += (o, e) => { }; IModel channel = conn.CreateModel(); channel.ExchangeDeclare("ENT311Message_GuangZhou", "direct"); channel.QueueDeclare("ENT311Message_GuangZhou", false, false, false, null); channel.QueueBind("ENT311Message_GuangZhou", "ENT311Message_GuangZhou", "ENT311Message_GuangZhou", null); EventingBasicConsumer c = new EventingBasicConsumer(channel); c.Received += (ch, ea) => { queue1.Enqueue(ea); }; string consumerTag = channel.BasicConsume("ENT311Message_GuangZhou", false, c); Task.Factory.StartNew(() => { BasicDeliverEventArgs bdea = null; while (true) { if (queue1.TryDequeue(out bdea)) { try { _ILog4netHelper.WriteLog_Info <MessageHub>(Encoding.UTF8.GetString(bdea.Body), dic.Count.ToString(), null, null); if (dic.Keys.Contains("*****@*****.**")) { Clients.User("*****@*****.**").Send_Order311_GuangZhou(Encoding.UTF8.GetString(bdea.Body)); //_ILog4netHelper.WriteLog_Info<MessageHub>(re, dic.Count.ToString(), null, null); channel.BasicAck(bdea.DeliveryTag, false); } else { channel.BasicNack(bdea.DeliveryTag, false, true); //channel.BasicAck(bdea.DeliveryTag, true); } } catch (Exception ex) { _ILog4netHelper.WriteLog_Info <MessageHub>(Encoding.UTF8.GetString(bdea.Body), dic.Count.ToString(), null, ex); try { channel.BasicNack(bdea.DeliveryTag, false, true); } catch (Exception exe) { //Order311FromOMS_GuangZhou(); } } } Thread.Sleep(100); } }); } catch (Exception ex) { Order311FromOMS_GuangZhou(); } }
public IHttpActionResult paycustom([FromBody] Order order) { UserInfo user = new UserInfo(); //报关通道实体 AliPayOrder aliorder = new AliPayOrder(); //支付报关实体 alipay alipay_reponse = new alipay(); wxpay wxpay = new wxpay(); wxpay_re wxpay_re = new wxpay_re(); WxpayViewModel wxpayviewmodel = new WxpayViewModel(); API_Message message = new API_Message(); message.MessageCode = "1"; if (ModelState.IsValid) { try { string userid = order.OrderItems?[0].OrderItemDetails?[0].CustomsChannelId.ToString(); user = _IUserRepository.UserInfos.Where(t => t.userId == (order.OrderItems?[0].OrderItemDetails?[0].CustomsChannelId.ToString() ?? order.OrderItems[0].CustomsChannelId.ToString())).FirstOrDefault(); if (user != null && userid != null) { order.OrderGuid = Guid.NewGuid(); order.api_type = 3;//类型:支付报关 for (int i = 0; i < order.OrderItems.Count; i++) { order.OrderItems[i].ItemGuid = Guid.NewGuid(); } _iEcmOrder.Save_Orders(order);//保存接收order信息 if ((order?.PaymentMethodSystemName).Contains("支付宝")) { aliorder.partner = user.alipayAppId; aliorder.out_request_no = order.SubOrderNo ?? "" + order.OrderNo.ToString(); //aliorder.trade_no = "2019052222001497581037471813";// order.PayTransactionId; aliorder.trade_no = order.PayTransactionId; //"2019052322001491491036394115";// order.PayTransactionId; aliorder.merchant_customs_code = user.ebpCode; // user.cebCode; aliorder.amount = order.OrderTotal.ToString("f2"); //"0.01";// order.OrderTotal.ToString(".00"); aliorder.alipaySec = user.alipaySec; aliorder.customs_place = user?.AlipayPortCode;// user.PortCode;// "tianjin"; aliorder.merchant_customs_name = user.copName; aliorder.is_split = "F"; aliorder.buyer_name = order.BuyerName; // "李晨";// order.BuyerName; aliorder.buyer_id_no = order.BuyerIdNumber;; // "120102199966552141";// order.BuyerIdNumber; _IRabbitMQHelper.Publish <custompayController>(JsonConvert.SerializeObject(aliorder)); if ((user?.AlipayPortCode).ToLower().Contains("tianjin") || (user?.AlipayPortCode).ToLower().Contains("guangzhou")) { aliorder.customs_place = "zongshu";// user?.AlipayPortCode;// user.PortCode;// "tianjin"; _IRabbitMQHelper.Publish_Delay <custompay_zongshuController>(JsonConvert.SerializeObject(aliorder), "custompayController"); } _ILog4netHelper.WriteLog_Info <custompayController>(JsonConvert.SerializeObject(aliorder), null, "aliorder", null); //alipay_reponse = _IAlipayRepository.alipay_update(aliorder, "ujsidc9esjszyov0fc0trsveq733ttvd"); } else if ((order?.PaymentMethodSystemName).Contains("财付通")) { wxpay.appid = user.wxappId; // "wx75732915fa967aca"; wxpay.mch_id = user.wxshopId; // "1536978981"; wxpay.out_trade_no = order.OrderNo; wxpay.transaction_id = order.PayTransactionId; wxpay.customs = user?.WxpayPortCode;// user.PortCode;//"GUANGZHOU_ZS"; wxpay.mch_customs_no = user.copCode; wxpay.cert_type = "IDCARD"; wxpay.cert_id = order?.BuyerIdNumber.ToUpper(); wxpay.name = order.BuyerName; wxpayviewmodel.wxshopId = user.wxshopId; wxpayviewmodel.wxpayCode = user.wxpayCode; wxpayviewmodel.wxappId = user.wxappId; wxpayviewmodel.wxpay = wxpay; _IRabbitMQHelper.Publish <custompayController_wx>(JsonConvert.SerializeObject(wxpayviewmodel)); _ILog4netHelper.WriteLog_Info <custompayController>(JsonConvert.SerializeObject(wxpayviewmodel), null, "wxpayviewmodel", null); } _ILog4netHelper.WriteLog_Info <custompayController>(JsonConvert.SerializeObject(order), null, null, null); } else { message.MessageCode = "2"; message.ErrorMsg = "没有对应的报关通道"; } } catch (Exception ex) { _ILog4netHelper.WriteLog_Error <custompayController>(JsonConvert.SerializeObject(order), null, null, ex); } } else { var modelstate = BadRequest(ModelState); string returestr = ""; foreach (var item in modelstate.ModelState.Values) { returestr += item.Errors != null ? item.Errors[0].ErrorMessage + "\r\n" : ""; } message.MessageCode = "2"; message.ErrorMsg = returestr; } return(Json(message)); }
public IHttpActionResult Post([FromBody] ProductOmsViewModel value) { API_Message api_message = new API_Message(); api_message.MessageCode = ((int)m_Code.Success).ToString(); Product_Message message = new Product_Message(); ProductWmsViewModel product = new ProductWmsViewModel(); string restr = ""; if (ModelState.IsValid) { try { _logger.WriteLog_Info <WMSSyncProductController>(JsonConvert.SerializeObject(value), null, "update", null); product.ClientGuid = value.ClientGuid; product.ClientName = value.ClientName; //product.ProductItems = new List<ProductItem_WMS>(); List <ProductItem_WMS> lstPro = new List <ProductItem_WMS>(); foreach (var item in value.ProductItems) { ProductItem_WMS item_wms = new ProductItem_WMS(); //item_wms.Id = item.id; item_wms.Name = item.Name; item_wms.Spu = item.Sku; item_wms.Price = item.Price; item_wms.Manufacturer = item.Manufacturer; item_wms.Published = item.Published; item_wms.CreatedOnUtc = item.CreatedOnUtc; item_wms.UpdateOnUtc = item.UpdateOnUtc; item_wms.CreatedTimeStamp = item.CreatedTimeStamp; item_wms.UpdateTimeStamp = item.UpdateTimeStamp; item_wms.HsCode = item.HsCode; item_wms.CountryId = item.CountryId; item_wms.CountryName = item.CountryName; item_wms.UnitId = item.UnitId; item_wms.UnitName = item.UnitName; item_wms.WrapId = item.WrapId; item_wms.WrapName = item.WrapName; item_wms.VATRate = item.VATRate; item_wms.ConsumptionTaxRate = item.ConsumptionTaxRate; item_wms.TradeType = item.TradeType; item_wms.CiqCountry = item.CiqCountry; item_wms.Gtin = item.Gtin; item_wms.CategoryId = item.CategoryId; item_wms.SwiftNumber = item.SwiftNumber; lstPro.Add(item_wms); } product.ProductItems = lstPro; string update = JsonConvert.SerializeObject(product); _logger.WriteLog_Info <WMSSyncProductController>(update, null, "return", null); WebClient client = new WebClient(); client.Headers.Add("Content-Type", "application/json;charset=utf8"); byte[] reByte_Api = client.UploadData(_ISetting.wms.Base_Url + "?parm=Product", "Post", Encoding.UTF8.GetBytes(update)); restr = Encoding.UTF8.GetString(reByte_Api); _logger.WriteLog_Info <WMSSyncProductController>(restr, null, "return", null); message = JsonConvert.DeserializeObject <Product_Message>(restr); if (message.success == "true") { //api_message. } else { api_message.ErrorMsg = restr; api_message.MessageCode = "2"; } } catch (Exception ex) { _logger.WriteLog_Error <WMSSyncProductController>(JsonConvert.SerializeObject(value), null, null, ex); api_message.ErrorMsg = restr; api_message.MessageCode = ((int)m_Code.Faile).ToString(); } } else { var modelstate = BadRequest(ModelState); string returestr = ""; foreach (var item in modelstate.ModelState.Values) { returestr += item.Errors != null ? item.Errors[0].ErrorMessage + "\r\n" : ""; } api_message.ErrorMsg = returestr; api_message.MessageCode = ((int)m_Code.Faile).ToString(); _logger.WriteLog_Error <WMSSyncProductController>(JsonConvert.SerializeObject(value), null, null, null); _logger.WriteLog_Error <WMSSyncProductController>(JsonConvert.SerializeObject(api_message), null, null, null); } return(Json(api_message)); }
public IHttpActionResult payreal([FromBody] payExInfo_DTO value) { API_Message message = new API_Message(); payExInfo_DTO dto = new payExInfo_DTO(); dto = value; Guid payguid = Guid.NewGuid(); message.MessageCode = "1"; //string test = JsonConvert.SerializeObject(value); //int len = test.Length; string reStr = ""; if (ModelState.IsValid) { try { //WebClient client = new WebClient(); //client.Headers.Add("Content-Type", "application/x-www-form-urlencoded"); //byte[] reByte = client.UploadData("https://swapptest.singlewindow.cn/ceb2grab/grab/realTimeDataUpload", Encoding.UTF8.GetBytes("payExInfoStr=" + WebUtility.UrlEncode(JsonConvert.SerializeObject(value)))); //reStr = Encoding.UTF8.GetString(reByte); //_ILog4netHelper.WriteLog_Info<PayController>(reStr, null, "payreal", null); //message.ErrorMsg = reStr; dto.payguid = payguid; //value.payExchangeInfoHead.guid = payguid; //dto.payExchangeInfoHead = new List<payExchangeInfoHead>() { value.payExchangeInfoHead }; dto.payExchangeInfoHead = value.payExchangeInfoHead; dto.payExchangeInfoHead.ForEach(t => t.guid = payguid); dto.payExchangeInfoLists = value.payExchangeInfoLists; dto.serviceTime = value.serviceTime; dto.payExchangeInfoLists.ForEach(t => t.listguid = payguid); dto.sessionID = value.sessionID; dto.certNo = value.certNo; dto.signValue = value.signValue; dto.is_success = value.is_success; dto.type = 1; _ILog4netHelper.WriteLog_Info <PayController>(JsonConvert.SerializeObject(dto), null, "支付信息-from ecmall", null); _IpayExInfoRepository.payExInfo_Save(dto); if (value.is_success == "1") { payExInfoOmsViewModel model = new payExInfoOmsViewModel(); model.Orderno = dto.payExchangeInfoLists != null ? dto.payExchangeInfoLists[0].orderNo:""; model.PaymentMethodSystemName = value.payment_type; model.PayTransactionId = dto.payExchangeInfoHead[0].payTransactionId; _IRabbitMQHelper.Publish <PayController>(JsonConvert.SerializeObject(model)); } } catch (Exception ex) { message.MessageCode = "2"; _ILog4netHelper.WriteLog_Info <PayController>(reStr, null, "支付信息-from ecmall", ex); } } else { message.MessageCode = "2"; _ILog4netHelper.WriteLog_Waring <PayController>(reStr, null, "支付信息-from ecmall", null); } return(Json(message)); }