public HttpResponseMessage GetReInfoDetail([FromUri] GetReInfoDetailRequest request) { logInfo.Info(string.Format("获取续保详情接口请求串:{0}", Request.RequestUri)); var model = new AppReInfoViewModel(); if (!ModelState.IsValid) { model.BusinessStatus = -10000; string msg = ModelState.Values.Where(a => a.Errors.Count == 1).Aggregate(string.Empty, (current, a) => current + (a.Errors[0].ErrorMessage + "; ")); model.StatusMessage = "输入参数错误," + msg; return(model.ResponseToJson()); } var response = _bjdService.GetReInfoDetail(request, Request.GetQueryNameValuePairs()); //logInfo.Info(string.Format("获取续保详情接口返回结果:{0}", response.ToJson())); if (response.Status == HttpStatusCode.BadRequest || response.Status == HttpStatusCode.Forbidden) { model.BusinessStatus = -10001; model.StatusMessage = "参数校验错误,请检查您的校验码"; return(model.ResponseToJson()); } if (response.Status == HttpStatusCode.ExpectationFailed) { model.BusinessStatus = -10003; model.StatusMessage = "服务发生异常"; return(model.ResponseToJson()); } if (response.Status == HttpStatusCode.OK) { model.BusinessStatus = response.BusinessStatus == 8 ? 1 : response.BusinessStatus; model.StatusMessage = response.BusinessMessage; model.UserInfo = response.UserInfo.ConvertToViewModel(response.SaveQuote, response.CarInfo, response.LastInfo); model.SaveQuote = response.SaveQuote.ConvetToViewModel(); model.WorkOrder = response.WorkOrder.ConverToViewModel(); model.DetailList = response.DetailList.ConverToViewModel(); model.IsDistrib = response.IsDistrib; model.Buid = response.Buid; model.Agent = response.Agent; model.AgentName = response.AgentName; model.SaAgent = response.SaAgent; model.SaAgentName = response.SaAgentName; //当获取续保信息失败(包括状态是3),将去年source制为-1,以免与 平安的0值混淆 if (response.BusinessStatus != 1) { model.SaveQuote.Source = -1; } } else { model.BusinessStatus = -10002; model.StatusMessage = "没有续保信息"; } return(model.ResponseToJson()); }
public GetReInfoNewViewModel GetReInfoDetail(GetReInfoRequest request, IEnumerable <KeyValuePair <string, string> > pairs, Uri uri) { var viewModel = new GetReInfoNewViewModel(); #region 参数校验 //校验请求串 var baseRequest = new AppBaseRequest() { Agent = request.Agent, SecCode = request.SecCode, CustKey = request.CustKey, BhToken = request.BhToken, ChildAgent = request.ChildAgent }; //校验返回值 var baseResponse = _appVerifyService.Verify(baseRequest, pairs); if (baseResponse.ErrCode != 1) { viewModel.BusinessStatus = baseResponse.ErrCode; viewModel.StatusMessage = baseResponse.ErrMsg; return(viewModel); } #endregion #region 业务逻辑 //拼接请求串 string strUrl = string.Format("http://{0}:{1}/api/Bjd/GetReInfoDetail", uri.Host, uri.Port); //3,续保请求 BaseResponse rep = SimulateSyncGet(strUrl, pairs); var model = new AppReInfoViewModel(); if (rep.ErrCode == 1) { model = rep.ErrMsg.FromJson <AppReInfoViewModel>(); viewModel.BusinessStatus = model.BusinessStatus; viewModel.StatusMessage = model.StatusMessage; viewModel.UserInfo = model.UserInfo; viewModel.SaveQuote = model.SaveQuote; viewModel.Buid = model.Buid; viewModel.Agent = baseResponse.Agent; viewModel.AgentName = baseResponse.AgentName; } else { viewModel.BusinessStatus = rep.ErrCode; viewModel.StatusMessage = rep.ErrMsg; bx_userinfo userinfo = _userInfoRepository.FindByOpenIdAndLicense(request.CustKey, request.LicenseNo, request.ChildAgent.ToString(), request.RenewalCarType); viewModel.Buid = userinfo != null ? userinfo.Id : 0; viewModel.Agent = baseResponse.Agent; viewModel.AgentName = baseResponse.AgentName; } #endregion return(viewModel); }