public ResultModel <object> SetRound() { //签名信息 string fileContent = ETS.IO.FileIO.GetFileContent(System.AppDomain.CurrentDomain.BaseDirectory + "/Content/OpenRange.txt", Encoding.Default).Replace("\r", "").Replace("\n", ""); System.Text.RegularExpressions.MatchCollection matchs = System.Text.RegularExpressions.Regex.Matches(fileContent, "!(.*?)--"); int tmp = 0; foreach (System.Text.RegularExpressions.Match item in matchs) { tmp++; string zuobiao = item.Groups[1].Value; List <string> @params = new List <string>() { "timestamp=" + TimeHelper.GetTimeStamp(false), "app_area_code=" + tmp, "min_price=10", "area=[" + zuobiao + "]", "app_id=33" }; @params.Sort(); string url = "http://waimaiopen.meituan.com/api/v1/third_shipping/save?"; string waimd5 = url + string.Join("&", @params) + "96DD2B96BB9A7C49DC545DD17463CDFA"; //consumer_secret string sig = ETS.Security.MD5.Encrypt(waimd5).ToLower(); string paras = string.Join("&", @params) + "&sig=" + sig; string json = HTTPHelper.HttpPost(url, paras, accept: "application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); } return(null); }
/// <summary> /// 回调回家吃饭同步订单状态 /// 徐鹏程 /// 2015-04-23 /// </summary> /// <param name="paramodel"></param> /// <returns></returns> public OrderApiStatusType AsyncStatus(ParaModel <AsyncStatusPM_OpenApi> paramodel) { int status = 0; //第三方订单状态物流状态,1代表已发货,2代表已签收 LogHelper.LogWriter(System.DateTime.Now.ToString() + "回调-第三方订单状态:" + paramodel.fields.status); switch (paramodel.fields.status) { case OrderConst.OrderStatus1: status = 2; //订单已完成(已送达) break; case OrderConst.OrderStatus2: status = 1; //订单已接单(已抢单) break; case OrderConst.OrderStatus3: status = 3; //订单已取消 break; default: return(OrderApiStatusType.OtherError); } string ts = DateTime.Now.ToString(); string url = ConfigurationManager.AppSettings["HomeForDinnerAsyncStatus"]; if (url == null) { return(OrderApiStatusType.SystemError); } ///order_id string Y 订单ID ,根据订单ID改变对应的订单物流状态,一个订单只能修改一次,修改过再修改会报错。 ///status int Y 物流状态,1代表已发货,2代表已签收 ///send_phone string Y/N 配送员电话,物流状态传参是(ststus=1)的时候,配送员电话必须写,如果为(ststus=2)的时候可以不写。 ///send_name string Y/N 配送员姓名,物流状态传参是(ststus=1)的时候,配送员姓名必须写,如果为(ststus=2)的时候可以不写。 string strPostData = "app_key=" + app_key + "&sign=" + GetSign(ts) + "&updatetime=" + ts + "&order_id=" + paramodel.fields.OriginalOrderNo + "&status=" + status + "&dm_name=" + paramodel.fields.ClienterTrueName + "&dm_mobile=" + paramodel.fields.ClienterPhoneNo; string json = HTTPHelper.HttpPost(url, strPostData); LogHelper.LogWriter(System.DateTime.Now.ToString() + "回调-第三方url:" + url); LogHelper.LogWriter(System.DateTime.Now.ToString() + "回调-第三方strPostData:" + strPostData); if (string.IsNullOrWhiteSpace(json)) { LogHelper.LogWriter(System.DateTime.Now.ToString() + "回调-结果:ParaError"); return(OrderApiStatusType.ParaError); } else if (json == "null") { LogHelper.LogWriter(System.DateTime.Now.ToString() + "回调-结果:SystemError"); return(OrderApiStatusType.SystemError); } JObject jobject = JObject.Parse(json); int result = jobject.Value <int>("status"); //接口调用状态 区分大小写 LogHelper.LogWriter(System.DateTime.Now.ToString() + "回调-结果:status=" + result); return(result == 1 ? OrderApiStatusType.Success : OrderApiStatusType.SystemError); }
/// <summary> /// 回调万达接口同步订单状态 add by caoheyang 20150326 /// </summary> /// <param name="paramodel"></param> /// <returns></returns> public OrderApiStatusType AsyncStatus(ParaModel <AsyncStatusPM_OpenApi> paramodel) { string status = null; //第三方订单状态 string statusDesc = null; //事件状态描述 switch (paramodel.fields.status) { case OrderConst.OrderStatus1: status = "complete"; statusDesc = "订单已完成"; break; case OrderConst.OrderStatus2: status = "agree"; statusDesc = string.Format("{0}已确认可配送,{1}配送,{2}", paramodel.fields.ClienterTrueName, paramodel.fields.ClienterTrueName, paramodel.fields.ClienterPhoneNo); break; case OrderConst.OrderStatus3: status = "refused"; statusDesc = string.Format("{0}拒绝配送该订单", paramodel.fields.BusinessName); break; default: return(OrderApiStatusType.SystemError); } //配送员姓名 string clienterName = paramodel.fields.ClienterTrueName == null ? "匿名" : paramodel.fields.ClienterTrueName; string ts = TimeHelper.GetTimeStamp(); string url = ConfigurationManager.AppSettings["WanDaAsyncStatus"]; if (url == null) { return(OrderApiStatusType.SystemError); } string json = HTTPHelper.HttpPost(url, "app_key=" + app_key + "&sign=" + GetSign(ts) + "&method=POST&ts=" + ts + "&orderId=" + paramodel.fields.OriginalOrderNo + "&status=" + status + "&statusDesc=" + statusDesc + "&syncTime=" + ts + "&operatorId=9999&operator=" + clienterName + "&logisticsNo=" + paramodel.fields.order_no + "&action=takeoutsync"); if (string.IsNullOrWhiteSpace(json)) { return(OrderApiStatusType.ParaError); } else if (json == "null") { return(OrderApiStatusType.SystemError); } JObject jobject = JObject.Parse(json); int x = jobject.Value <int>("status"); //接口调用状态 区分大小写 return(x == 200 ? OrderApiStatusType.Success : OrderApiStatusType.SystemError); }
public ResultModel <object> SetStoreState() { //签名信息 List <string> @params = new List <string>() { "timestamp=" + TimeHelper.GetTimeStamp(false), "app_poi_code=24", "app_id=33" }; @params.Sort(); string url = "http://test.waimaiopen.meituan.com/api/v1/poi/open?"; string waimd5 = url + string.Join("&", @params) + "01c33711a7c2e6cf2cc27d838e83006e"; //consumer_secret string sig = ETS.Security.MD5.Encrypt(waimd5).ToLower(); string paras = string.Join("&", @params) + "&sig=" + sig; string json = HTTPHelper.HttpPost(url, paras, accept: "application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); return(null); }
/// <summary> /// 回调万达接口同步订单状态 add by caoheyang 20150326 /// </summary> /// <param name="paramodel"></param> /// <returns></returns> public OrderApiStatusType AsyncStatus(ParaModel <AsyncStatusPM_OpenApi> paramodel) { int status = 0; //第三方订单状态物流状态,1代表已发货,2代表已签收 switch (paramodel.fields.status) { case OrderConst.OrderStatus1: status = 2; //已签收 break; case OrderConst.OrderStatus2: status = 1; //已发货 break; default: return(OrderApiStatusType.Success); } string ts = DateTime.Now.ToString(); string url = ConfigurationManager.AppSettings["FulltimeAsyncStatus"]; if (url == null) { return(OrderApiStatusType.SystemError); } ///order_id int Y 订单ID ,根据订单ID改变对应的订单物流状态,一个订单只能修改一次,修改过再修改会报错。 /// status int Y 物流状态,1代表已发货,2代表已签收 ///send_phone string Y/N 配送员电话,物流状态传参是(ststus=1)的时候,配送员电话必须写,如果为(ststus=2)的时候可以不写。 ///send_name string Y/N 配送员姓名,物流状态传参是(ststus=1)的时候,配送员姓名必须写,如果为(ststus=2)的时候可以不写。 string json = HTTPHelper.HttpPost(url, "app_key=" + app_key + "&sign=" + GetSign(ts) + "×tamp=" + ts + "&order_id=" + paramodel.fields.OriginalOrderNo + "&status=" + status + "&v=" + v + "&send_phone=" + paramodel.fields.ClienterPhoneNo + "&send_name=" + paramodel.fields.ClienterTrueName); if (string.IsNullOrWhiteSpace(json)) { return(OrderApiStatusType.ParaError); } else if (json == "null") { return(OrderApiStatusType.SystemError); } JObject jobject = JObject.Parse(json); int x = jobject.Value <int>("status"); //接口调用状态 区分大小写 return(x == 1 ? OrderApiStatusType.Success : OrderApiStatusType.SystemError); }
/// <summary> /// POST调用美团第三方接口 add by caoheyang 20150420 /// </summary> /// <param name="url">地址</param> /// <param name="postdata">参数数据</param> /// <returns></returns> protected OrderApiStatusType PostDoAsyncStatus(string url, string postdata) { string json = HTTPHelper.HttpPost(url, postdata, accept: accept); return(AsyncStatusInfo(json)); }
public ETS.Enums.OrderApiStatusType AsyncStatus(Model.Common.ParaModel <Model.ParameterModel.Order.AsyncStatusPM_OpenApi> paramodel) { int status = 0; //第三方订单状态物流状态,1代表已发货,2代表已签收 switch (paramodel.fields.status) { case OrderConst.OrderStatus1: status = 1; //已完成 break; case OrderConst.OrderStatus2: status = 2; //已接单 break; case OrderConst.OrderStatus3: status = 3; //已取消 break; default: return(OrderApiStatusType.Success); } string url = ConfigurationManager.AppSettings["JuWangKeOrderAsyncStatus"]; if (url == null) { return(OrderApiStatusType.SystemError); } ///order_id int Y 订单ID ,根据订单ID改变对应的订单物流状态,一个订单只能修改一次,修改过再修改会报错。 /// status int Y 物流状态,1代表已发货,2代表已签收 ///send_phone string Y/N 配送员电话,物流状态传参是(ststus=1)的时候,配送员电话必须写,如果为(ststus=2)的时候可以不写。 ///send_name string Y/N 配送员姓名,物流状态传参是(ststus=1)的时候,配送员姓名必须写,如果为(ststus=2)的时候可以不写。 //{"OrderNumber":1040649505,"OrderStatus":2,"Phone":"13712345678","KnightName":"骑士"} JuWangKeOrderModel jkom = new JuWangKeOrderModel(); jkom.Phone = paramodel.fields.ClienterPhoneNo; jkom.OrderStatus = status; jkom.OrderNumber = paramodel.fields.OriginalOrderNo; if (!string.IsNullOrWhiteSpace(paramodel.fields.ClienterTrueName)) { jkom.KnightName = paramodel.fields.ClienterTrueName; } else if (!string.IsNullOrWhiteSpace(paramodel.fields.BusinessName)) { jkom.KnightName = paramodel.fields.BusinessName; } else { jkom.KnightName = ""; } string json = HTTPHelper.HttpPost(url, "OrderNumber=" + jkom.OrderNumber + "&OrderStatus=" + jkom.OrderStatus + "&Phone=" + jkom.Phone + "&KnightName=" + jkom.KnightName); LogHelper.LogWriter("调用聚网客接口:", new { model = json }); if (string.IsNullOrWhiteSpace(json)) { return(OrderApiStatusType.ParaError); } else if (json == "null") { return(OrderApiStatusType.SystemError); } JObject jobject = JObject.Parse(json); int x = jobject.Value <int>("code"); //接口调用状态 区分大小写 return(x == 1 ? OrderApiStatusType.Success : OrderApiStatusType.SystemError); }