Пример #1
0
        public async Task <GetCityListResponse> GetCityList(GetCityListRequest request, IEnumerable <KeyValuePair <string, string> > pairs)
        {
            var response = new GetCityListResponse();
            //根据经纪人获取手机号
            IBxAgent agentModel = GetAgentModelFactory(request.Agent);

            //logInfo.Info("获取到的经纪人信息:"+agentModel.ToJson());
            //参数校验
            if (!agentModel.AgentCanUse())
            {
                response.Status = HttpStatusCode.Forbidden;
                return(response);
            }

            if (!ValidateReqest(pairs, agentModel.SecretKey, request.SecCode))
            {
                response.Status = HttpStatusCode.Forbidden;
                return(response);
            }
            try
            {
                var cities          = FindList();
                var configedCities  = new List <bx_city>();
                var configCities    = FindConfigCityList(int.Parse(_agentRepository.GetTopAgentId(request.Agent)));
                var configedCityIds = configCities.Select(x => x.city_id).Distinct();
                if (configedCityIds.Any())
                {
                    foreach (var i in configedCityIds)
                    {
                        var config  = (int)i;
                        var tmpcity = cities.FirstOrDefault(x => x.id == config);
                        if (tmpcity != null)
                        {
                            configedCities.Add(tmpcity);
                        }
                    }
                    response.Cities = configedCities;
                }

                response.Status = HttpStatusCode.OK;
            }
            catch (Exception ex)
            {
                response.Status = HttpStatusCode.ExpectationFailed;
                logError.Info("续保请求发生异常:" + ex.Source + "\n" + ex.StackTrace + "\n" + ex.Message + "\n" + ex.InnerException);
            }

            return(response);
        }
        public async Task <HttpResponseMessage> GetCityList([FromUri] GetCityListRequest request)
        {
            _logInfo.Info(string.Format("获取城市接口请求串:{0}", Request.RequestUri));
            var viewModel = new CityViewModel();

            if (!ModelState.IsValid)
            {
                viewModel.BusinessStatus = -10000;
                viewModel.StatusMessage  = "输入参数错误,请检查您输入的参数是否有空或者长度不符合要求等";
                return(viewModel.ResponseToJson());
            }

            var response = await _cityService.GetCityList(request, Request.GetQueryNameValuePairs());

            //添加日志
            _logInfo.Info(response.ToJson());

            if (response.Status == HttpStatusCode.BadRequest || response.Status == HttpStatusCode.Forbidden)
            {
                viewModel.BusinessStatus = -10001;
                viewModel.StatusMessage  = "参数校验错误,请检查您的校验码";
                _logInfo.Info(viewModel.ResponseToJson());
                return(viewModel.ResponseToJson());
            }
            if (response.Status == HttpStatusCode.ExpectationFailed)
            {
                viewModel.BusinessStatus = -10003;
                viewModel.StatusMessage  = "服务发生异常";
            }
            else
            {
                viewModel = response.Cities.ConvertViewModel();
                viewModel.BusinessStatus = 1;
            }
            return(viewModel.ResponseToJson());
        }
Пример #3
0
 public GetCityListResponse GetCityList(GetCityListRequest request)
 {
     return(WrapResponse <GetCityListResponse, GetCityListResponseBody>(new ServiceExecutionDelegator <GetCityListResponseBody, GetCityListRequestBody>().ResolveRequest(request.Request,
                                                                                                                                                                         ApiTargetPlatform.Utiba, ApiServiceName.GetCityList)));
 }