Exemplo n.º 1
0
        public TradeResultData GetTradeData()
        {
            string no = DateTime.Now.ToString("yyyyMMddhhmmss") + (++count).ToString();
            var data = new TradeResultData()
            {
                Code = "0",
                OrderNo = no,
                ErrorMsg = ""

            };
            return data;
        }
Exemplo n.º 2
0
        /// <summary>
        /// 调用钱袋子接口
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public static TradeResultData Notify(DataEntity<RequestData> data)
        {
            string postData = ToWebPost(data);
            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(_url);
            request.Method = "POST";
            request.ContentType = "application/json";
            request.Accept = "application/json";
            TradeResultData resultTrade = new TradeResultData();

            if (!string.IsNullOrWhiteSpace(postData))
            {
                using (var stream = request.GetRequestStream())
                using (StreamWriter streamWriter = new StreamWriter(stream))
                {
                    _iLog.InfoFormat("提交api数据:{0}", postData);
                    streamWriter.Write(postData);
                }
            }
            else
            {
                request.ContentLength = 0;
            }
            try
            {
                string result;
                using (var response = request.GetResponse())
                using (var streamReader = new StreamReader(response.GetResponseStream()))
                {
                    result = streamReader.ReadToEnd();
                    _iLog.InfoFormat("接收到api数据:{0}", result);
                }
                var v = JsonConvert.DeserializeObject<dynamic>(result);
                if (v.status == false)
                {
                    resultTrade = new TradeResultData()
                    {
                        Code = "1",
                        ErrorMsg = v.message
                    };
                }
                else
                {
                    resultTrade = new TradeResultData()
                    {
                        OrderNo = v.result.TradeNo,
                        Code = "0",
                        ErrorMsg = ""
                    };
                }

            }
            catch (WebException ex)
            {
                var response = ex.Response as HttpWebResponse;
                if (response.StatusCode == HttpStatusCode.InternalServerError)
                {
                    using (var streamReader = new StreamReader(ex.Response.GetResponseStream()))
                    {
                        var result = streamReader.ReadToEnd();
                        resultTrade = new TradeResultData()
                        {
                            Code = "1",
                            ErrorMsg = result
                        };
                    }
                }
                _iLog.InfoFormat("连接api异常:{0}", ex.Message);
            }
            return resultTrade;
        }