public async Task <GetContinedPeriodResponse> GetContinuedPeriod(GetCityContinuedPeriodRequest request, IEnumerable <KeyValuePair <string, string> > pairs) { GetContinedPeriodResponse response = new GetContinedPeriodResponse(); //根据经纪人获取手机号 IBxAgent agentModel = GetAgentModelFactory(request.Agent); //logInfo.Info("获取到的经纪人信息:"+agentModel.ToJson()); //参数校验 if (!agentModel.AgentCanUse()) { response.Status = HttpStatusCode.Forbidden; return(response); } if (!agentModel.AgentCanQuote()) { response.Status = HttpStatusCode.Forbidden; return(response); } if (!ValidateReqest(pairs, agentModel.SecretKey, request.SecCode)) { response.Status = HttpStatusCode.Forbidden; return(response); } try { var cacheKey = string.Format("continuedperiod_{0}", request.Agent); var cache = CacheProvider.Get <List <bx_cityquoteday> >(cacheKey); if (cache == null) { cache = _dayRepository.GetList(request.Agent); CacheProvider.Set(cacheKey, cache, 600); response.Items = cache; } else { response.Items = cache; } 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> GetContinuedPeriods([FromUri] GetCityContinuedPeriodRequest request) { var viewModel = new ContinuedPeriodViewModel(); viewModel.StatusMessage = "获取成功"; if (!ModelState.IsValid) { viewModel.BusinessStatus = -10000; viewModel.StatusMessage = "输入参数错误,请检查您输入的参数是否有空或者长度不符合要求等"; if (request.ShowName == 0) {//不显示新增的城市名称对象 viewModel.ItemsAddCityName = null; viewModel.Items = new List <ContinedPeriod>(); } else {//展示原有列表对象 viewModel.ItemsAddCityName = new List <ContinedPeriodNew>(); viewModel.Items = null; } return(viewModel.ResponseToJson()); } var response = await _cityService.GetContinuedPeriod(request, Request.GetQueryNameValuePairs()); if (response.Status == HttpStatusCode.BadRequest || response.Status == HttpStatusCode.Forbidden) { viewModel.BusinessStatus = -10001; viewModel.StatusMessage = "参数校验错误,请检查您的校验码"; _logInfo.Info(viewModel.ResponseToJson()); if (request.ShowName == 0) {//不显示新增的城市名称对象 viewModel.ItemsAddCityName = null; viewModel.Items = new List <ContinedPeriod>(); } else {//展示原有列表对象 viewModel.ItemsAddCityName = new List <ContinedPeriodNew>(); viewModel.Items = null; } return(viewModel.ResponseToJson()); } if (response.Status == HttpStatusCode.ExpectationFailed) { viewModel.BusinessStatus = -10003; viewModel.StatusMessage = "服务发生异常"; } else { if (request.ShowName == 1) {//取新增城市名称对象 viewModel = response.Items.ConverToListAddCityName(); } else { viewModel = response.Items.ConverToList(); } viewModel.BusinessStatus = 1; } if (request.ShowName == 0) {//不显示新增的城市名称对象 viewModel.ItemsAddCityName = null; } else {//展示原有列表对象 viewModel.Items = null; viewModel.ItemsAddCityName = viewModel.ItemsAddCityName ?? new List <ContinedPeriodNew>(); } return(viewModel.ResponseToJson()); }