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()); }
public GetCityListResponse GetCityList(GetCityListRequest request) { return(WrapResponse <GetCityListResponse, GetCityListResponseBody>(new ServiceExecutionDelegator <GetCityListResponseBody, GetCityListRequestBody>().ResolveRequest(request.Request, ApiTargetPlatform.Utiba, ApiServiceName.GetCityList))); }