コード例 #1
0
        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);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        /// <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) + "&timestamp=" + 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);
        }
コード例 #6
0
        /// <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));
        }
コード例 #7
0
        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);
        }