/// <summary> /// 物流信息转为商城通用格式 /// </summary> /// <param name="ret"></param> /// <returns></returns> public ExpressData ConvertToExpressData(Config_Fuqing.ResultObj ret) { ExpressData Result = new ExpressData(); ///物流信息获取成功 if (ret != null && ret.status == 0) { List <ExpressDataItem> list = new List <ExpressDataItem>(); Result.Success = true; Result.Message = "物流获取成功"; Result.ApiName = "FuQing"; Result.Status = ret.result.deliverystatus; Result.date = DateTime.Now; Result.number = ret.result.number; Result.type = ret.result.type; foreach (Config_Fuqing.result_Item Item in ret.result.list) { list.Add(new ExpressDataItem() { Content = Item.status, Time = DateTime.Parse(Item.time), }); } var Temp = list.OrderByDescending(P => P.Time).ToList(); Result.ExpressDataItems = Temp; } else { Result.Success = false; Result.Message = "物流获取失败"; } return(Result); }
/// <summary> /// 物流信息转为商城通用格式 /// </summary> /// <param name="ret"></param> /// <returns></returns> public ExpressData ConvertToExpressData(Config.ResultObj ret) { ExpressData Result = new ExpressData(); ///物流信息获取成功 if (ret != null && ret.showapi_res_code == 0 && ret.showapi_res_body.flag && ret.showapi_res_body.ret_code == 0) { List <ExpressDataItem> list = new List <ExpressDataItem>(); Result.Success = true; Result.Message = "物流获取成功"; Result.ApiName = "AliYiYuan"; Result.date = DateTime.Now; Result.number = ret.showapi_res_body.mailNo; Result.type = ret.showapi_res_body.expSpellName; if (ret.showapi_res_body.status == 2) { Result.Status = 1; } else if (ret.showapi_res_body.status == 3) { Result.Status = 2; } else if (ret.showapi_res_body.status == 4) { Result.Status = 3; } else if (ret.showapi_res_body.status == 5) { Result.Status = 4; } else { Result.Status = 0; } foreach (Config.showapi_res_Item Item in ret.showapi_res_body.data) { list.Add(new ExpressDataItem() { Content = Item.context, Time = DateTime.Parse(Item.time), }); } var Temp = list.OrderByDescending(P => P.Time).ToList(); Result.ExpressDataItems = Temp; } else { Result.Success = false; Result.Message = "物流获取失败"; } return(Result); }
/// <summary> /// 快递100物流查看 /// </summary> /// <param name="kuaidi100Code"></param> /// <param name="shipOrderNumber"></param> /// <returns></returns> private ExpressData GetExpressDataByKey(string kuaidi100Code, string shipOrderNumber) { var settting = ServiceProvider.Instance <ISiteSettingService> .Create.GetSiteSettings(); var key = settting.Kuaidi100Key; var expressData = new ExpressData();//创建对象 expressData.Success = false; expressData.Message = "暂无物流信息"; if (!string.IsNullOrEmpty(key)) { var model = GetKuaidi100ExpressData(kuaidi100Code, shipOrderNumber); if (model != null) { var content = model.DataContent; var obj = new { message = string.Empty, lastResult = new { data = new[] { new{ context = string.Empty, time = string.Empty, ftime = string.Empty } } } }; var m = Newtonsoft.Json.JsonConvert.DeserializeAnonymousType(content, obj); expressData.Success = true; expressData.Message = m.message; var dataItems = new List <ExpressDataItem>(); foreach (var t in m.lastResult.data) { dataItems.Add(new ExpressDataItem() { Time = DateTime.ParseExact(t.ftime, "yyyy-MM-dd HH:mm:ss", null), Content = t.context.ToString() }); } expressData.ExpressDataItems = dataItems; } } return(expressData); }
public JsonResult SearchTop(string expressCompanyName, string shipOrderNumber) { ExpressData expressData = ServiceHelper.Create <IExpressService>().GetExpressData(expressCompanyName, shipOrderNumber); if (expressData.Success) { expressData.ExpressDataItems = from item in expressData.ExpressDataItems orderby item.Time descending select item; } var variable = new { success = expressData.Success, msg = expressData.Message, data = from item in expressData.ExpressDataItems.Take <ExpressDataItem>(1) select new { time = item.Time.ToString("yyyy-MM-dd HH:mm:ss"), content = item.Content } }; return(base.Json(variable)); }
public ExpressData GetExpressData(string expressCompanyName, string shipOrderNumber) { var settting = ServiceProvider.Instance <ISiteSettingService> .Create.GetSiteSettings(); var expressData = new ExpressData();//创建对象 //使用快递100查询快递数据 if (settting.KuaidiType.Equals(0)) { string kuaidi100Code = GetExpress(expressCompanyName).Kuaidi100Code; expressData = GetExpressDataByKey(kuaidi100Code, shipOrderNumber); } else//快递鸟 { string shipperCode = GetExpress(expressCompanyName).KuaidiNiaoCode; expressData = GetExpressDataByKuai(shipperCode, shipOrderNumber); } return(expressData); }
/// <summary> /// 根据单号取物流信息 /// </summary> /// <param name="expressNO"></param> /// <returns></returns> public static ExpressData Query_WuliuMess(string expressNO) { ExpressData express_mess = null; SqlDBHelper HelperOther = new SqlDBHelper(); string sql = "SELECT * FROM [dbo].[TB_ExpressInfo] where expressNO=@expressNO"; SqlParameter[] para = new SqlParameter[] { new SqlParameter("@expressNO", SqlDbType.VarChar, 200), }; para[0].Value = expressNO; DataTable dt = HelperOther.Query(sql, para).Tables[0]; foreach (DataRow ro in dt.Rows) { //string ExpressContent = ro["JSONcontent"].ToString(); List <ExpressDataItem> content = JsonHelper.DeserializeJsonToList <ExpressDataItem>(ro["JSONcontent"].ToString()); express_mess = new ExpressData { Success = ro["deliveryStatus"].ToString() == "0" ? false : true, number = ro["expressNO"].ToString(), type = ro["expressCom"].ToString(), Status = int.Parse(ro["deliveryStatus"].ToString()), date = Convert.ToDateTime(ro["UpdateTime"]), ExpressDataItems = content, Message = "物流获取成功", ApiName = ro["ApiName"].ToString() }; } return(express_mess); }
public ExpressData GetExpressData(string expressCompanyName, string shipOrderNumber) { var settting = SiteSettingApplication.SiteSettings; var expressData = new ExpressData();//创建对象 var expressInfo = GetExpress(expressCompanyName); if (expressInfo != null) { if (expressInfo.KuaidiNiaoCode.Contains("SF") && !string.IsNullOrWhiteSpace(settting.SFKuaidiCustomerCode)) { return(GetExpressDataSF(shipOrderNumber)); } //使用快递100查询快递数据 if (settting.KuaidiType.Equals(0)) { expressData = GetExpressDataByKey(expressInfo.Kuaidi100Code, shipOrderNumber); } else//快递鸟 { expressData = GetExpressDataByKuai(expressInfo.KuaidiNiaoCode, shipOrderNumber); } } return(expressData); }
public ActionResult blue_OrderDetails2(string id) { string hotelId = id; string orderId = HotelCloud.Common.HCRequest.GetString("orderid"); string key = HotelCloud.Common.HCRequest.GetString("key"); //"酒店微信id@用户微信id" string weixinid = HotelCloud.Common.HCRequest.GetString("weixinID"); //酒店微信id string userweixinid = ""; if (!key.Equals("") && key.Contains("@")) { weixinid = key.Split('@')[0];//酒店微信id userweixinid = key.Split('@')[1]; } ViewData["list_ordersLog"] = new DataTable(); ViewData["PayStatus"] = 0; ViewData["addressType"] = "酒店"; ViewData["shoppingCarDataTable"] = new DataTable(); ViewData["amount"] = 0; ViewData["refundfee"] = 0; ViewData["ExpressCompany"] = ""; ViewData["ExpressNo"] = ""; ViewData["hotelId"] = ""; ViewData["ExpressFee"] = 0; ViewData["remark"] = ""; ViewData["OrderStatus"] = 0; ViewData["CreateTime"] = new DateTime(); ViewData["CanPurchase"] = 0; ViewData["PurchasePoints"] = 0; ViewData["PayMethod"] = ""; ViewData["isAllowDelayed"] = false; ViewData["isShowAllowDelayed"] = true; ViewData["DelayedTake"] = 0; ViewData["CouponId"] = ""; ViewData["CouponMoney"] = 0; ViewData["express"] = new ExpressData(); ViewData["weixinid"] = weixinid; ViewData["userweixinid"] = userweixinid; ViewData["orderId"] = orderId; ViewData["hotelId"] = id; try { var orderData = orderService.GetDataByOrderId(orderId).Rows[0]; double refundfee = 0; try { refundfee = double.Parse(orderData["Refundfee"].ToString()) + double.Parse(orderData["CardRefundfee"].ToString()); } catch (Exception e) { } ViewData["refundfee"] = refundfee; //计算订单总金额 double sum = 0; var shoppingCarDataTable = SupermarketOrderDetailService.GetDataByOrderId(orderId); foreach (DataRow data in shoppingCarDataTable.Rows) { sum += double.Parse(data["Price"].ToString()) * double.Parse(data["Total"].ToString()); } //获取收货地址 ViewData["hotelName"] = DishOrderLogic.GetHotelName(orderData["HotelId"].ToString()); ViewData["ExpressFee"] = 0; TimeSpan ts = new TimeSpan(); //用于计算是否可延迟收货 if (!string.IsNullOrWhiteSpace(orderData["AddressType"].ToString())) { if (orderData["AddressType"].ToString() == "1") { ViewData["addressType"] = "酒店"; ts = DateTime.Now - DateTime.Parse(orderData["CreateTime"].ToString()).AddDays(4); } else { ViewData["addressType"] = "快递"; ts = DateTime.Now - DateTime.Parse(orderData["CreateTime"].ToString()).AddDays(12); sum += double.Parse(orderData["ExpressFee"].ToString()); } ViewData["addressName"] = orderData["Address"].ToString(); } else { ViewData["Address"] = new OrderAddress(); ViewData["addressType"] = "酒店"; ViewData["addressName"] = ViewData["hotelName"]; } ViewData["Linkman"] = orderData["Linkman"].ToString(); ViewData["LinkPhone"] = orderData["LinkPhone"].ToString(); ViewData["isAllowDelayed"] = false; ViewData["isShowAllowDelayed"] = true; ViewData["DelayedTake"] = orderData["DelayedTake"]; if (orderData["DelayedTake"].ToString() == "0") { ViewData["isAllowDelayed"] = ts.Days >= 0 ? true : false; } else { ViewData["isShowAllowDelayed"] = false; } //获取快递信息 Express express = GetExpressData(orderData["ExpressNo"].ToString()); try { ViewData["express"] = express.data[0]; } catch (Exception e) { ViewData["express"] = new ExpressData(); } try { var hotelData = GetHotelBySupermarket(int.Parse(id)).Rows[0]; ViewData["hotelPhone"] = hotelData["tel"]; } catch { ViewData["hotelPhone"] = ""; } //获取积分 ViewData["orderScore"] = 0; ViewData["equivalence"] = 1; ViewData["GradePlus"] = 1; MemberInfo Info = MemberHelper.GetMemberInfo(weixinid); string cardno = MemberHelper.GetCardNo(userweixinid, weixinid); if (!string.IsNullOrEmpty(cardno)) { MemberCard MyCard = MemberHelper.GetMemberCard(cardno, weixinid); MemberCardIntegralRule IntegralRule = MemberHelper.IntegralRule(Info, MyCard); var score = sum; if (IntegralRule.equivalence > 0) { score = score * IntegralRule.equivalence; ViewData["equivalence"] = IntegralRule.equivalence; } if ((double)IntegralRule.GradePlus > 0) { score = score * (double)IntegralRule.GradePlus; ViewData["GradePlus"] = IntegralRule.GradePlus; } ViewData["orderScore"] = Math.Floor(Math.Round(score, 2));; } var dbLog = orderService.GetOrderLogDataByOrderId(orderId); ViewData["list_ordersLog"] = dbLog; ViewData["PayStatus"] = orderData["PayStatus"]; ViewData["shoppingCarDataTable"] = shoppingCarDataTable; ViewData["amount"] = orderData["Money"]; ViewData["ExpressCompany"] = orderData["ExpressCompany"]; ViewData["ExpressNo"] = orderData["ExpressNo"]; ViewData["hotelId"] = orderData["HotelId"].ToString(); ViewData["ExpressFee"] = orderData["ExpressFee"]; ViewData["remark"] = orderData["Remark"].ToString(); ViewData["OrderStatus"] = orderData["OrderStatus"].ToString(); ViewData["CreateTime"] = orderData["CreateTime"]; ViewData["CanPurchase"] = orderData["CanPurchase"]; ViewData["PurchasePoints"] = orderData["PurchasePoints"]; ViewData["PayMethod"] = orderData["PayMethod"]; ViewData["CouponId"] = orderData["CouponId"]; ViewData["CouponMoney"] = orderData["CouponMoney"]; ViewData["weixinid"] = weixinid; ViewData["userweixinid"] = userweixinid; ViewData["orderId"] = orderId; } catch (Exception e) { } return(View()); }
public ExpressData GetExpressData(string expressCompanyName, string shipOrderNumber) { string kuaidi100Code = GetExpress(expressCompanyName).Kuaidi100Code; string str = string.Format("http://www.kuaidi100.com/query?type={0}&postid={1}", kuaidi100Code, shipOrderNumber); HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(str); httpWebRequest.Timeout = 8000; ExpressData expressDatum = new ExpressData(); try { HttpWebResponse response = (HttpWebResponse)httpWebRequest.GetResponse(); if (response.StatusCode != HttpStatusCode.OK) { expressDatum.Message = "网络错误"; } else { Stream responseStream = response.GetResponseStream(); StreamReader streamReader = new StreamReader(responseStream, Encoding.GetEncoding("UTF-8")); StringBuilder stringBuilder = new StringBuilder(streamReader.ReadToEnd()); stringBuilder.Replace("&", "").Replace(" ", "").Replace("&", ""); JObject jObjects = JObject.Parse(stringBuilder.ToString()); string str1 = "200"; if (jObjects["status"] == null || !(jObjects["status"].ToString() == str1)) { expressDatum.Message = jObjects["message"].ToString(); } else { JArray item = jObjects["data"] as JArray; if (item == null) { throw new ApplicationException("查询源数据格式错误,没有找到data节点"); } List <ExpressDataItem> expressDataItems = new List <ExpressDataItem>(); foreach (JToken jTokens in item) { if (jTokens["time"] == null) { throw new ApplicationException("查询源数据格式错误,没有找到time节点"); } if (jTokens["context"] == null) { throw new ApplicationException("查询源数据格式错误,没有找到context节点"); } ExpressDataItem expressDataItem = new ExpressDataItem() { Time = DateTime.ParseExact(jTokens["time"].ToString(), "yyyy-MM-dd HH:mm:ss", null), Content = jTokens["context"].ToString() }; expressDataItems.Add(expressDataItem); } expressDatum.Success = true; expressDatum.ExpressDataItems = expressDataItems; } } } catch (Exception exception) { Log.Error(string.Format("快递查询错误:{{kuaidi100Code:{0},shipOrderNumber:{1}}}", kuaidi100Code, shipOrderNumber), exception); expressDatum.Message = "未知错误"; } return(expressDatum); }
/// <summary> /// 快递鸟物流查看 /// </summary> /// <param name="shipperCode">物流公司编码</param> /// <param name="logisticsCode">物流号</param> /// <returns></returns> private ExpressData GetExpressDataByKuai(string shipperCode, string logisticsCode) { var settting = ServiceProvider.Instance <ISiteSettingService> .Create.GetSiteSettings(); //签名 SortedDictionary <string, string> data = new SortedDictionary <string, string>(); data.Add("app_key", settting.KuaidiApp_key); string timestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); data.Add("logisticsCode", logisticsCode); data.Add("shipperCode", shipperCode); data.Add("timestamp", timestamp); string si = string.Format("app_key{0}logisticsCode{1}shipperCode{2}timestamp{3}{4}", settting.KuaidiApp_key, logisticsCode, shipperCode, timestamp, settting.KuaidiAppSecret); string sign = FormsAuthentication.HashPasswordForStoringInConfigFile(si, "MD5"); var expressData = new ExpressData(); //创建对象 string url = string.Format("http://wuliu.kuaidiantong.cn/api/logistics?app_key={0}×tamp={1}&shipperCode={2}&logisticsCode={3}&sign={4}", settting.KuaidiApp_key, timestamp, shipperCode, logisticsCode, sign); //快递查询地址 HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); request.Timeout = 8000; request.Method = "GET"; request.ContentType = "application/json;charset=UTF-8"; request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36"; CookieContainer cookie = new CookieContainer(); request.CookieContainer = cookie; try { HttpWebResponse response = (HttpWebResponse)request.GetResponse(); if (response.StatusCode == HttpStatusCode.OK) { Stream stream = response.GetResponseStream(); System.IO.StreamReader streamReader = new StreamReader(stream, System.Text.Encoding.GetEncoding("UTF-8")); StringBuilder content = new StringBuilder(streamReader.ReadToEnd()); // 读取流字符串内容 content.Replace("&", "").Replace(" ", "").Replace("&", ""); //去除不需要的字符 var test = new { shipperCode = "", logisticsCode = "", success = true, state = "", traces = new[] { new{ acceptTime = "", acceptStation = "", remark = "" } } }; var m = Newtonsoft.Json.JsonConvert.DeserializeAnonymousType(content.ToString(), test); var dataItems = new List <ExpressDataItem>(); if (m.success == true) { expressData.Success = true; expressData.Message = "成功"; foreach (var t in m.traces) { dataItems.Add(new ExpressDataItem() { Time = DateTime.Parse(t.acceptTime), Content = t.acceptStation }); } } else { expressData.Success = false; expressData.Message = "暂无物流信息"; } expressData.ExpressDataItems = dataItems; return(expressData); } else { // expressData.Message = "网络错误"; expressData.Message = "网络错误"; } } catch (Exception ex) { Core.Log.Error(string.Format("快递查询错误:{{kuaidi100Code:{0},shipOrderNumber:{1}}}", shipperCode, logisticsCode), ex); // expressData.Message = "未知错误"; expressData.Message = "暂无物流信息"; } return(expressData); }
/// <summary> /// 百度物流查看 /// </summary> /// <param name="kuaidi100Code"></param> /// <param name="shipOrderNumber"></param> /// <returns></returns> private ExpressData GetExpressDataFree(string kuaidi100Code, string shipOrderNumber) { var expressData = new ExpressData(); //创建对象 string url = string.Format("https://sp0.baidu.com/9_Q4sjW91Qh3otqbppnN2DJv/pae/channel/data/asyncqury?appid=4001&com={0}&nu={1}", kuaidi100Code, shipOrderNumber); //快递查询地址 HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); request.Timeout = 8000; request.Host = "sp0.baidu.com"; request.Method = "GET"; request.ContentType = "application/json;charset=UTF-8"; request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36"; CookieContainer cookie = new CookieContainer(); Cookie ck = new Cookie("BAIDUID", "65C7509B002B15BE3E4EEE6B5366AFEA:FG=1", "/", ".baidu.com"); ck.Expires = DateTime.Now.AddYears(1); cookie.Add(ck); request.CookieContainer = cookie; try { HttpWebResponse response = (HttpWebResponse)request.GetResponse(); if (response.StatusCode == HttpStatusCode.OK) { Stream stream = response.GetResponseStream(); System.IO.StreamReader streamReader = new StreamReader(stream, System.Text.Encoding.GetEncoding("UTF-8")); StringBuilder content = new StringBuilder(streamReader.ReadToEnd()); // 读取流字符串内容 content.Replace("&", "").Replace(" ", "").Replace("&", ""); //去除不需要的字符 // var jsonData = JObject.Parse(content.ToString()); var test = new { msg = "", status = "", data = new { info = new { status = "", state = "", context = new[] { new{ time = "", desc = "" } } } } }; var m = Newtonsoft.Json.JsonConvert.DeserializeAnonymousType(content.ToString(), test); expressData.Success = true; expressData.Message = m.msg; var dataItems = new List <ExpressDataItem>(); foreach (var t in m.data.info.context) { dataItems.Add(new ExpressDataItem() { Time = GetTime(t.time), // Time = DateTime.ParseExact(datetime, "yyyy-MM-dd HH:mm:ss", null), Content = t.desc.ToString() }); } expressData.ExpressDataItems = dataItems; return(expressData); } else { expressData.Message = "网络错误"; } } catch (Exception ex) { Core.Log.Error(string.Format("快递查询错误:{{kuaidi100Code:{0},shipOrderNumber:{1}}}", kuaidi100Code, shipOrderNumber), ex); expressData.Message = "未知错误"; } return(expressData); }
public ExpressData GetExpressDataSF(string logisticsCode) { //https://qiao.sf-express.com/pages/developDoc/index.html?level2=296618&level3=902583&level4=893568 var settting = SiteSettingApplication.SiteSettings; //查询请求XML报文 string xml = string.Format( "<Request service='RouteService' lang='zh-CN'>" + "<Head>{0}</Head>" + "<Body>" + "<RouteRequest tracking_type = '1' method_type = '1' tracking_number = '{1}'/>" + "</Body>" + "</Request>", settting.SFKuaidiCustomerCode, logisticsCode); string Checkword = settting.SFKuaidiCheckWord; //开发者账号对应的校验码; // "j8DzkIFgmlomPt0aLuwU"; string verifyCode = MD5ToBase64String(xml + Checkword); //生成接口校验码 string requestUrl = "http://bsp-oisp.sf-express.com/bsp-oisp/sfexpressService"; //测试、生产环境同一个地址 string result = DoPostSF(requestUrl, xml, verifyCode); //返回结果XML bool isSuccess = false; ExpressData data = new ExpressData(); var itemList = new List <ExpressDataItem>(); //解析返回结果 XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(result); var headNode = xmlDoc.SelectSingleNode("/Response/Head"); if (headNode != null) { if (headNode.InnerText.ToLower() == "ok") { isSuccess = true; } else {//错误记录日志 var errNode = xmlDoc.SelectSingleNode("/Response/ERROR"); if (errNode != null) { data.Message = errNode.InnerText; } } } if (isSuccess) { var routeNodes = xmlDoc.SelectNodes("/Response/Body/RouteResponse/Route"); DateTime dt = new DateTime(); string address = string.Empty; foreach (XmlNode route in routeNodes) { ExpressDataItem item = new ExpressDataItem(); if (DateTime.TryParse(route.Attributes["accept_time"].Value, out dt)) { item.Time = dt; } if (route.Attributes["accept_address"] != null) {//accept_address 可能没有 address = route.Attributes["accept_address"].Value; } item.Content = address + " " + route.Attributes["remark"].Value; itemList.Add(item); } } data.ExpressDataItems = itemList; data.Success = isSuccess; return(data); /* * <Response service="RouteService"> * <Head>OK</Head> * <Body> * <RouteResponse mailno="444003077898"> * <Route accept_time="2015-01-04 10:11:26" accept_address="深圳" remark="已收件" opcode="50"/> * <Route accept_time="2015-01-05 17:41:50" remark="此件签单返还的单号为 123638813180" opcode="922"/> * <RouteResponse mailno="444003077899"> * <Route accept_time="2015-01-04 10:11:26" accept_address="深圳" remark="已收件" opcode="50"/> * <Route accept_time="2015-01-05 17:41:50" remark="此件签单返还的单号为 123638813181" opcode="922"/> * </RouteResponse> * </Body> * </Response> * //失败 * <Response service=”RouteService”> * <Head>ERR</Head> * <ERROR code="4001">系统发生数据错误或运行时异常</ERROR> * </Response> */ }
/// <summary> /// 外部调用api接口信息 /// </summary> /// <returns></returns> public ActionResult Query() { LogisticPara LogisticPara = null; ExpressData ExpressData = new ExpressData(); ExpressData.Success = false; ExpressData.Message = "获取失败"; //获取Post参数 Stream postData = Request.InputStream; StreamReader sRead = new StreamReader(postData); string postContent = sRead.ReadToEnd(); sRead.Close(); if (IsDebug) { Normal.WritLog("接受到的参数_postContent:" + postContent); } if (string.IsNullOrWhiteSpace(postContent)) { ExpressData.Success = false; ExpressData.Message = "缺少参数"; return(View()); } try { LogisticPara = JsonConvert.DeserializeObject <LogisticPara>(postContent); } catch (Exception ex) { ExpressData.Success = false; ExpressData.Message = "缺少参数"; return(View()); } if (LogisticPara == null) { ExpressData.Success = false; ExpressData.Message = "缺少参数"; return(View()); } //验证物流单号 if (string.IsNullOrWhiteSpace(LogisticPara.logisticsCode)) { ExpressData.Success = false; ExpressData.Message = "缺少物流单号参数"; return(View()); } if (string.IsNullOrWhiteSpace(LogisticPara.shipperCode)) { ExpressData.Success = false; ExpressData.Message = "缺少物流公司代码"; return(View()); } ManagerCache theManagerCache = new ManagerCache(true); //如果缓存没有信息 if (!theManagerCache.CacheService.IsSet(LogisticPara.logisticsCode)) { ExpressData = DataQuery.Query_WuliuMess(LogisticPara.logisticsCode);//从数据库取出 bool isNewItem = false; if (ExpressData == null? isNewItem = true : isNewItem = false || ExpressData.Status == 1 || ExpressData.Status == 2) { #region ###涪擎物流接口 Logistics.Entity.AliFuQing.Config_Fuqing.GetPara Para_fuqing = new Logistics.Entity.AliFuQing.Config_Fuqing.GetPara(); Para_fuqing.type = LogisticPara.shipperCode; Para_fuqing.no = LogisticPara.logisticsCode; Para_fuqing.AppCode = LogisticPara.KuaidiApp_Code; ExpressData = new FuQingService().ConvertToExpressData(new FuQingService().Service(Para_fuqing)); #endregion //如果查询失败转向下一接口 if (ExpressData.Success == false) { #region ###易源物流接口 Logistics.Entity.AliYiYuan.Config.GetPara Para = new Logistics.Entity.AliYiYuan.Config.GetPara(); Para.com = LogisticPara.shipperCode; Para.nu = LogisticPara.logisticsCode; Para.AppCode = LogisticPara.KuaidiApp_Code; ExpressData = new AliYiYuanService().ConvertToExpressData(new AliYiYuanService().Service(Para)); #endregion } string jsoncontent = JsonConvert.SerializeObject(ExpressData.ExpressDataItems); //写库 根据isNewItem值判断是新增还是修改 DataCMD.AddorUp_WuliuMess(ExpressData.number, ExpressData.type, ExpressData.Status, ExpressData.date, jsoncontent, ExpressData.ApiName, isNewItem); } //HttpRuntime缓存 //List<CacheCode> list = HttpRuntime.Cache.Get("CacheCode") as List<CacheCode>; //HttpRuntime.Cache.Insert(); //MemoryCache缓存 theManagerCache.CacheService.Set(LogisticPara.logisticsCode, ExpressData, 60 * 20, 2); } ViewBag.ExpressData = theManagerCache.CacheService.Get <object>(LogisticPara.logisticsCode); if (IsDebug) { Normal.WritLog("接受到的参数:" + JsonConvert.SerializeObject(ExpressData)); } return(View()); }