Ejemplo n.º 1
0
        public ReturnResult SimulationMTGetDeal(string url, PoiRequestBody body)
        {
            ReturnResult result = new ReturnResult
            {
                IsSuccess = false,
            };

            try
            {
                PoiRequest requestData = new PoiRequest
                {
                    partnerId = agentinfo.mt_partnerId,
                    body      = body
                };

                var responseStr = new MeiTuanInter(agentinfo.mt_partnerId, agentinfo.mt_secret, agentinfo.mt_client).DoRequest(url, JsonConvert.SerializeObject(requestData));
                if (string.IsNullOrEmpty(responseStr))
                {
                    result.Message = "返回数据为空";
                }
                else
                {
                    PoiResponse responseBody = (PoiResponse)JsonConvert.DeserializeObject(responseStr, typeof(PoiResponse));
                    if (responseBody.code == 200)
                    {
                        result.IsSuccess = true;
                        result.Message   = JsonConvert.SerializeObject(responseBody);
                    }
                    else
                    {
                        result.Message = responseBody.describe;
                    }
                }
            }
            catch (Exception ex)
            {
                result.Message = "异常" + ex.Message;
            }
            return(result);
        }
Ejemplo n.º 2
0
        ///     抓POI信息
        public string GetPoiList(Meituan_reqlog mlog)
        {
            var response = new PoiResponse();

            response.partnerId = int.Parse(agentinfo.mt_partnerId);
            try
            {
                var data = JsonConvert.DeserializeObject <PoiRequest>(_requestParam);
                if (data.body == null)
                {
                    response.code     = 300;
                    response.describe = "Body数据解析失败";
                }
                else
                {
                    PoiRequestBody body = data.body;

                    //todo 根据请求参数查询产品返回结果
                    if (body.method.Equals("multi", StringComparison.OrdinalIgnoreCase))
                    {
                        #region 获取列表
                        int totalcount = 0;
                        List <PoiResponseBody> list = new PoiResponseData().GetPoiResponseBody(out totalcount, body.method, body.partnerPoiId, agentinfo);
                        if (list.Count > 0)
                        {
                            response.code      = 200;
                            response.describe  = "success";
                            response.partnerId = int.Parse(agentinfo.mt_partnerId);
                            response.totalSize = totalcount;
                            response.body      = list;
                        }
                        else
                        {
                            response.code     = 300;
                            response.describe = "获取poi失败";
                        }
                        #endregion
                    }
                    else if (body.method.Equals("page", StringComparison.OrdinalIgnoreCase))
                    {
                        int pageindex = body.currentPage, pagesize = body.pageSize;
                        if (pageindex <= 0)
                        {
                            pageindex = 1;
                        }
                        if (pagesize <= 0 || pagesize > 20)
                        {
                            pagesize = 20;
                        }

                        #region 获取列表
                        int totalcount = 0;
                        List <PoiResponseBody> list = new PoiResponseData().GetPoiResponseBody(out totalcount, body.method, body.partnerPoiId, agentinfo, pageindex, pagesize);
                        if (list.Count > 0)
                        {
                            response.code      = 200;
                            response.describe  = "success";
                            response.partnerId = int.Parse(agentinfo.mt_partnerId);
                            response.totalSize = totalcount;
                            response.body      = list;
                        }
                        else
                        {
                            response.code     = 300;
                            response.describe = "获取poi失败";
                        }
                        #endregion
                    }
                    else
                    {
                        response.code     = 300;
                        response.describe = "拉取方式出错";
                    }
                }
            }
            catch (Exception ex)
            {
                response.code     = 300;
                response.describe = "异常错误";
            }
            string json = JsonConvert.SerializeObject(response);

            #region 把处理结果录入数据库
            mlog.respstr  = json;
            mlog.resptime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            mlog.code     = response.code.ToString();
            mlog.describe = response.describe;
            new Meituan_reqlogData().EditReqlog(mlog);
            #endregion

            return(json);
        }