public async Task <HttpResponseMessage> GetFloatingInfo([FromUri] GetFloatingInfoRequest request) { _logInfo.Info(string.Format("获取浮动告知单请求串:{0}", Request.RequestUri)); var viewModel = new GetFloatingInfoViewModel(); try { if (!ModelState.IsValid) { viewModel.BusinessStatus = -10000; string msg = ModelState.Values.Where(item => item.Errors.Count == 1).Aggregate(string.Empty, (current, item) => current + (item.Errors[0].ErrorMessage + "; ")); viewModel.StatusMessage = "输入参数错误," + msg; return(viewModel.ResponseToJson()); } if (!request.LicenseNo.IsValidLicenseno()) { viewModel.BusinessStatus = -10000; viewModel.StatusMessage = "参数校验错误,请检查车牌号"; return(viewModel.ResponseToJson()); } GetFloatingInfoResponse response = await _getFloatingInfoService.GetFloatingInfo(request, Request.GetQueryNameValuePairs()); if (response.Status == HttpStatusCode.BadRequest || response.Status == HttpStatusCode.Forbidden) { viewModel.BusinessStatus = -10001; viewModel.StatusMessage = "参数校验错误,请检查您的校验码"; return(viewModel.ResponseToJson()); } if (response.Status == HttpStatusCode.ExpectationFailed) { viewModel.BusinessStatus = -10003; viewModel.StatusMessage = "服务器发生异常"; return(viewModel.ResponseToJson()); } //模型转换 viewModel = response.JSFloatingNotificationPrintList.ConverToViewModel(); if (response.JSFloatingNotificationPrintList == null) { viewModel.BusinessStatus = 0; viewModel.StatusMessage = "无数据"; } else { viewModel.BusinessStatus = 1; viewModel.StatusMessage = "获取成功"; } } catch (Exception ex) { viewModel.BusinessStatus = -100003; viewModel.StatusMessage = "服务发生异常"; _logError.Info("发生异常:" + ex.Source + "\n" + ex.StackTrace + "\n" + ex.Message + "\n" + ex.InnerException + " 请求对象:" + Request.RequestUri); } return(viewModel.ResponseToJson()); }
public static GetFloatingInfoViewModel ConverToViewModel(this JSFloatingNotificationPrintListResponseMain model) { GetFloatingInfoViewModel viewModel = new GetFloatingInfoViewModel(); if (model == null) { return(new GetFloatingInfoViewModel() { CarInfo = new CarInfo(), BizFloatingInfo = new BizFloatingInfo(), ForceFloatingInfo = new ForceFloatingInfo() }); } CarInfo carInfo = new CarInfo() { CModelNmeJY = "", CarType = "", CPlateNo = "", CPlateTyp = "", CEngNo = "", CFrmNo = "", CRegOwner = "" }; VhlVOBase baseCar = null; #region 交强险模型 var forceModel = model.JQFloatingNotificationList; if (forceModel != null) { //初始化 var forcebase = forceModel.JQBaseVO; var forceclaim = forceModel.JQClaimList; var forcerate = forceModel.JQprmCoef; var forcecvrgvo = forceModel.JQCvrgList != null?forceModel.JQCvrgList.FirstOrDefault() : new CvrgVO(); var tax = forceModel.VsTax; if (forceModel.JQVhlVO != null) { baseCar = forceModel.JQVhlVO; } //交换信息 ForceBaseInfo forceBaseInfo = new ForceBaseInfo() { CPlyNo = "", CAppName = "", TSrcInsrncBgnTm = "", TSrcInsrncEndTm = "", TLastStartDate = "", TLaseEndDate = "", NPrm = "", DNPrm = "", FloatRatio = "", NBefPrm = "" }; if (forcebase != null) { forceBaseInfo.CPlyNo = forcebase.CPlyNo ?? ""; forceBaseInfo.CAppName = forcebase.CAppName ?? ""; forceBaseInfo.TSrcInsrncBgnTm = forcebase.TSrcInsrncBgnTm ?? ""; forceBaseInfo.TSrcInsrncEndTm = forcebase.TSrcInsrncEndTm ?? ""; forceBaseInfo.TLastStartDate = forcebase.TLastStartDate ?? ""; forceBaseInfo.TLaseEndDate = forcebase.TLaseEndDate ?? ""; forceBaseInfo.NPrm = forcebase.NPrm ?? ""; forceBaseInfo.DNPrm = forcebase.DNPrm ?? ""; } if (forcerate != null) { forceBaseInfo.FloatRatio = forcerate.FloatRatio ?? ""; } if (forcecvrgvo != null) { forceBaseInfo.NBefPrm = forcecvrgvo.nBefPrm ?? ""; } TaxInfo taxInfo = new TaxInfo() { TTaxEffBgnTm = "", TTaxEffEndTm = "", NTaxableAmt = "", NOverdueAmt = "", TaxSumAmount = "", TaxSumAmountUp = "" }; if (tax != null) { taxInfo = new TaxInfo() { TTaxEffBgnTm = tax.TTaxEffBgnTm ?? "", TTaxEffEndTm = tax.TTaxEffEndTm ?? "", NTaxableAmt = tax.NTaxableAmt ?? "", NOverdueAmt = tax.NOverdueAmt ?? "", TaxSumAmount = tax.TaxSumAmount ?? "", TaxSumAmountUp = tax.TaxSumAmountUp ?? "" }; } //赋值 ForceFloatingInfo forceFloatingInfo = new ForceFloatingInfo(); forceFloatingInfo.ForceBaseInfo = forceBaseInfo; forceFloatingInfo.ForceClaim = forceclaim ?? new List <ClaimVo>(); forceFloatingInfo.TaxInfo = taxInfo; viewModel.ForceFloatingInfo = forceFloatingInfo; } #endregion #region 商业险模型 var bizModel = model.SYFloatingNotificationList; if (bizModel != null) { //初始化 var bizbase = bizModel.SYBaseVO; var bizquote = bizModel.SYCvrgList; var bizrate = bizModel.SYprmCoef; if (baseCar == null && bizModel.SYVhlVO != null) { baseCar = bizModel.SYVhlVO; } //交换信息 BizBaseInfo bizBaseInfo = new BizBaseInfo() { CPlyNo = "", CAppName = "", TSrcInsrncBgnTm = "", TSrcInsrncEndTm = "", TLastStartDate = "", TLaseEndDate = "", NPrm = "", DNPrm = "", FloatRatio = "", CAgoClmRecQuick = "", NAutoCheCoef = "", NAutoChaCoef = "", NResvNum = "", NIrrRatio = "" }; if (bizbase != null) { bizBaseInfo.CPlyNo = bizbase.CPlyNo ?? ""; bizBaseInfo.CAppName = bizbase.CAppName ?? ""; bizBaseInfo.TSrcInsrncBgnTm = bizbase.TSrcInsrncBgnTm ?? ""; bizBaseInfo.TSrcInsrncEndTm = bizbase.TSrcInsrncEndTm ?? ""; bizBaseInfo.TLastStartDate = bizbase.TLastStartDate ?? ""; bizBaseInfo.TLaseEndDate = bizbase.TLaseEndDate ?? ""; bizBaseInfo.NPrm = bizbase.NPrm ?? ""; bizBaseInfo.DNPrm = bizbase.DNPrm ?? ""; } if (bizrate != null) { bizBaseInfo.FloatRatio = bizrate.FloatRatio ?? ""; bizBaseInfo.CAgoClmRecQuick = bizrate.cAgoClmRecQuick ?? ""; bizBaseInfo.NAutoCheCoef = bizrate.nAutoCheCoef ?? ""; bizBaseInfo.NAutoChaCoef = bizrate.nAutoChaCoef ?? ""; bizBaseInfo.NResvNum = bizrate.nResvNum ?? ""; bizBaseInfo.NIrrRatio = bizrate.nIrrRatio ?? ""; } //赋值 BizFloatingInfo bizFloatingInfo = new BizFloatingInfo(); bizFloatingInfo.BizBaseInfo = bizBaseInfo; bizFloatingInfo.BizQuoteResult = bizquote ?? new List <CvrgVO>(); viewModel.BizFloatingInfo = bizFloatingInfo; } #endregion if (baseCar != null) { carInfo = new CarInfo() { CModelNmeJY = baseCar.CModelNmeJY ?? "", CarType = baseCar.CarType ?? "", CPlateNo = baseCar.CPlateNo ?? "", CPlateTyp = baseCar.CPlateTyp ?? "", CEngNo = baseCar.CEngNo ?? "", CFrmNo = baseCar.CFrmNo ?? "", CRegOwner = baseCar.CRegOwner ?? "", }; } viewModel.CarInfo = carInfo; return(viewModel); }