public static void Update(bx_quotereq_carinfo quotereq, int lastnewcar, IQuoteReqCarinfoRepository repository) { quotereq.is_lastnewcar = lastnewcar; //quotereq.is_public = request.IsPublic; quotereq.update_time = DateTime.Now; repository.Update(quotereq); }
public static void Save(long buid, int lastnewcar, IQuoteReqCarinfoRepository repository) { var newquotereq = new bx_quotereq_carinfo { b_uid = buid, is_lastnewcar = lastnewcar, //is_public=request.IsPublic, create_time = DateTime.Now, update_time = DateTime.Now }; repository.Add(newquotereq); }
public int Update(bx_quotereq_carinfo item) { int count = 0; try { DataContextFactory.GetDataContext().bx_quotereq_carinfo.AddOrUpdate(item); count = DataContextFactory.GetDataContext().SaveChanges(); } catch (Exception ex) { ILog logError = LogManager.GetLogger("ERROR"); logError.Info("发生异常:" + ex.Source + "\n" + ex.StackTrace + "\n" + ex.Message + "\n" + ex.InnerException); } return(count); }
public bx_quotereq_carinfo Add(bx_quotereq_carinfo item) { bx_quotereq_carinfo model = new bx_quotereq_carinfo(); try { model = DataContextFactory.GetDataContext().bx_quotereq_carinfo.Add(item); DataContextFactory.GetDataContext().SaveChanges(); } catch (Exception ex) { ILog logError = LogManager.GetLogger("ERROR"); logError.Info("发生异常:" + ex.Source + "\n" + ex.StackTrace + "\n" + ex.Message + "\n" + ex.InnerException); } return(model); }
public bj_baodanxinxi MapBaodanxinxi(CreateOrUpdateBjdInfoRequest request, bx_submit_info submitInfo, bx_quoteresult quoteresult, bx_savequote savequote, bx_userinfo userinfo, bx_quotereq_carinfo reqCarInfo, bx_preferential_activity activity) { var quotecarinfo = _quoteResultCarinfoRepository.Find(request.Buid, SourceGroupAlgorithm.GetOldSource(request.Source)); var lastinfo = _lastInfoRepository.GetByBuid(request.Buid); var listClaim = _userClaimRepository.FindList(request.Buid); int lossBizCount = listClaim.Where(n => n.pay_type == 0).ToList().Count; //商业出险次数 double?lossBizAmount = listClaim.Where(n => n.pay_type == 0).ToList().Sum(n => n.pay_amount); //商业出险金额 int lossForceCount = listClaim.Where(n => n.pay_type == 1).ToList().Count; //交强出险次数 double?lossForceAmount = listClaim.Where(n => n.pay_type == 1).ToList().Sum(n => n.pay_amount); //交强出险金额 var baodanxinxi = new bj_baodanxinxi { //BEGIN 2017-09-06新增字段 20170909L 当前后期修改中去掉了代理人信息(电话等) AgentId = request.ChildAgent == 0 ? int.Parse(userinfo.Agent) : request.ChildAgent, //END //BEGIN 2017-09-09新增字段 //activity_content = request.ActivityContent, activity_ids = activity.id.ToString(), //END // AgentId = int.Parse(userinfo.Agent), BizEndDate = lastinfo == null ? DateTime.MinValue : Convert.ToDateTime(lastinfo.last_business_end_date), //submitinfo.biz_end_time, BizNum = submitInfo.biz_tno, BizPrice = quoteresult.BizTotal.HasValue ? quoteresult.BizTotal.Value : 0, BizRate = double.Parse(submitInfo.biz_rate.HasValue ? submitInfo.biz_rate.Value.ToString() : "0"), BizStartDate = quoteresult.BizStartDate.HasValue ? quoteresult.BizStartDate.Value : (reqCarInfo.biz_start_date.HasValue?reqCarInfo.biz_start_date.Value:DateTime.MinValue),//submitInfo.biz_start_time, CarBrandModel = userinfo.MoldName, CarEngineNo = userinfo.EngineNo, CarLicense = userinfo.LicenseNo, CarOwner = userinfo.LicenseOwner, CarRegisterDate = string.IsNullOrEmpty(userinfo.RegisterDate) ? DateTime.MinValue : DateTime.Parse(userinfo.RegisterDate), CarVIN = userinfo.CarVIN, ChannelId = submitInfo.channel_id, CompanyId = submitInfo.source, CreateTime = DateTime.Now, ForceEndDate = lastinfo == null ? DateTime.MinValue : Convert.ToDateTime(lastinfo.last_end_date), //submitinfo.force_end_time, ForceStartDate = quoteresult.ForceStartDate.HasValue ? quoteresult.ForceStartDate.Value : (reqCarInfo.force_start_date.HasValue ? reqCarInfo.force_start_date.Value : DateTime.MinValue), //submitInfo.force_start_time, ForceNum = submitInfo.force_tno, ForcePrice = (quoteresult.ForceTotal.HasValue ? quoteresult.ForceTotal.Value : 0), ForceRate = double.Parse(submitInfo.force_rate.HasValue ? submitInfo.force_rate.Value.ToString() : "0"), InsuredName = userinfo.InsuredName, InsureIdNum = userinfo.InsuredIdCard, ManualBizRate = request.BizRate, ManualTaxRate = request.TaxRate, ManualForceRate = request.ForceRate, ObjectId = int.Parse(userinfo.Agent), ObjectType = 1, SubmitStatus = submitInfo.submit_status, TaxPrice = quoteresult.TaxTotal.HasValue ? quoteresult.TaxTotal.Value : 0, //新增的4个费率 NonClaimRate = (double)(quoteresult.RateFactor1.HasValue ? quoteresult.RateFactor1 : 0), MultiDiscountRate = (double)(quoteresult.RateFactor2.HasValue ? quoteresult.RateFactor2 : 0), AvgMileRate = (double)(quoteresult.RateFactor3.HasValue ? quoteresult.RateFactor3 : 0), RiskRate = (double)(quoteresult.RateFactor4.HasValue ? quoteresult.RateFactor4 : 0), //总费率系数 TotalRate = (quoteresult.NewRate.HasValue && quoteresult.NewRate != 0) ? quoteresult.NewRate.Value.ToString() : (quoteresult.TotalRate.HasValue ? quoteresult.TotalRate.Value.ToString() : "0"), //20170221新增增值税 AddValueTaxRate = request.AddValueTaxRate, //载客//+载质量 CarSeated = quotecarinfo != null ? (quotecarinfo.seat_count.HasValue ? quotecarinfo.seat_count.Value.ToString() : "0") : "0", //+ "/" + (quotecarinfo.car_equ_quality.HasValue ? quotecarinfo.car_equ_quality.Value.ToString() : "0") VehicleInfo = VehicleInfoMapper.VehicleInfoMethod(quotecarinfo), JqVehicleClaimType = quotecarinfo != null ? quotecarinfo.JqVehicleClaimType : "", SyVehicleClaimType = quotecarinfo != null ? quotecarinfo.SyVehicleClaimType : "", loss_biz_count = lossBizCount, loss_biz_amount = lossBizAmount.HasValue ? lossBizAmount.Value : 0, loss_force_count = lossForceCount, loss_force_amount = lossForceAmount.HasValue ? lossForceAmount.Value : 0 }; return(baodanxinxi); }
public Tuple <bx_savequote, bx_quotereq_carinfo, List <bx_quoteresult>, List <bx_submit_info>, string, List <int> > GetModels(long buid, long groupspan) { List <bx_quote_history> listhistory = _quoteHistoryRepository.GetByBuid(buid, groupspan); List <int> listquote = new List <int>(); //未取到历史记录默认赋值为空 if (!listhistory.Any()) { return(new Tuple <bx_savequote, bx_quotereq_carinfo, List <bx_quoteresult>, List <bx_submit_info>, string, List <int> >(null, null, null, null, "", listquote)); } try { listquote = listhistory.Select(l => l.source.Value).ToList();//老的source值 //取到历史记录开始循环 bx_savequote savequote = new bx_savequote(); bx_quotereq_carinfo quotereq = new bx_quotereq_carinfo(); List <bx_quoteresult> listquoteresult = new List <bx_quoteresult>(); bx_quoteresult quoteresult = new bx_quoteresult(); List <bx_submit_info> listsubmitinfo = new List <bx_submit_info>(); bx_submit_info submitinfo = new bx_submit_info(); //险种信息 string strsavequote = listhistory.FirstOrDefault().savequote; savequote = !string.IsNullOrEmpty(strsavequote) && !strsavequote.Equals("null") ? strsavequote.FromJson <bx_savequote>() : null; //请求车辆信息 string strquotereq = listhistory.FirstOrDefault().quotereq; quotereq = !string.IsNullOrEmpty(strquotereq) && !strquotereq.Equals("null") ? strquotereq.FromJson <bx_quotereq_carinfo>() : null; //保费结果 string strquoteresult = string.Empty; //报价结果 string strsubmitinfo = string.Empty; foreach (var history in listhistory) { //保费结果 strquoteresult = history.quoteresult; if (!string.IsNullOrEmpty(strquoteresult) && !strquoteresult.Equals("null")) { quoteresult = new bx_quoteresult(); quoteresult = strquoteresult.FromJson <bx_quoteresult>(); if (quoteresult != null) { listquoteresult.Add(quoteresult); } } //报价结果 strsubmitinfo = history.submitinfo; if (!string.IsNullOrEmpty(strsubmitinfo) && !strsubmitinfo.Equals("null")) { submitinfo = new bx_submit_info(); submitinfo = strsubmitinfo.FromJson <bx_submit_info>(); if (submitinfo != null) { listsubmitinfo.Add(submitinfo); } } } string createtime = listhistory.FirstOrDefault().updatetime.HasValue ? listhistory.FirstOrDefault().updatetime.Value.ToString("yyyy-MM-dd HH:mm:ss") : ""; return(new Tuple <bx_savequote, bx_quotereq_carinfo, List <bx_quoteresult>, List <bx_submit_info>, string, List <int> >(savequote, quotereq, listquoteresult, listsubmitinfo, createtime, listquote)); } catch (Exception ex) { logErr.Info(string.Format("报价历史解析出错,buid:{0};groupspan:{1};\n异常信息:{2}\n{3}", buid, groupspan, ex.StackTrace, ex.Message)); } return(new Tuple <bx_savequote, bx_quotereq_carinfo, List <bx_quoteresult>, List <bx_submit_info>, string, List <int> >(null, null, null, null, null, listquote)); }
/// <summary> /// 普通查询车型接口,第二版 /// </summary> /// <param name="request"></param> /// <param name="pairs"></param> /// <returns></returns> public async Task <GetNewCarVehicleInfoResponse> GetCarVehicle(GetVehicleRequest request, IEnumerable <KeyValuePair <string, string> > pairs) { GetNewCarVehicleInfoResponse response = new GetNewCarVehicleInfoResponse(); //校验:1基础校验 BaseResponse baseResponse = _validateService.Validate(request, pairs); if (baseResponse.Status == HttpStatusCode.Forbidden) { response.Status = HttpStatusCode.Forbidden; return(response); } var topagent = request.Agent; //微信端逻辑 次级代理 if (request.ChildAgent > 0) { request.Agent = request.ChildAgent; } //针对车架号+发动机号的逻辑 bx_userinfo userinfo = null; string xuBaoCacheKey; if (!string.IsNullOrWhiteSpace(request.EngineNo) && !string.IsNullOrWhiteSpace(request.CarVin)) { userinfo = _userInfoRepository.FindByCarvin(request.CarVin, request.EngineNo, request.CustKey, request.Agent.ToString(), request.CarType); xuBaoCacheKey = CommonCacheKeyFactory.CreateKeyWithLicense(string.Format("{0}-{1}-{2}-{3}", topagent, request.CarVin, request.EngineNo, "moldname" + request.CarType)); } else { userinfo = _userInfoRepository.FindByOpenIdAndLicense(request.CustKey, request.LicenseNo, request.Agent.ToString(), request.CarType); xuBaoCacheKey = CommonCacheKeyFactory.CreateKeyWithLicense(string.Format("{0}-{1}-{2}", topagent, request.LicenseNo, "moldname" + request.CarType)); } #region 新增逻辑 平安报价需要区分类型 if (userinfo != null) { var reqItem = _quoteReqCarinfoRepository.Find(userinfo.Id); if (reqItem != null) { reqItem.pingan_quote_type = request.IsNeedCarVin; _quoteReqCarinfoRepository.Update(reqItem); } else { reqItem = new bx_quotereq_carinfo { pingan_quote_type = request.IsNeedCarVin }; _quoteReqCarinfoRepository.Add(reqItem); } } #endregion if (request.IsNeedCarVin == 0 && request.MoldName.Trim().Length == 0) { response.Status = HttpStatusCode.Forbidden; return(response); } var xuBaoKey = string.Format("{0}-{1}-carmodelListV2-key", xuBaoCacheKey, request.IsNeedCarVin); CacheProvider.Remove(xuBaoKey); //获取品牌型号 var moldNameViewModle = await _getMoldNameFromCenter.GetMoldNameService(request.CarVin, request.MoldName, topagent, request.CityCode); if (moldNameViewModle != null && !string.IsNullOrEmpty(moldNameViewModle.MoldName)) { request.MoldName = moldNameViewModle.MoldName; } var msgBody = new { Agent = topagent, B_Uid = 0, VehicleName = request.MoldName, cityId = request.CityCode.ToString(), NotifyCacheKey = xuBaoCacheKey, IsNeedVin = request.IsNeedCarVin, CarVin = request.CarVin, //安心保险需要的2个参数 LicenseNo = request.LicenseNo, RegisterDate = request.RegisterDate }; //发送信息 //var msgbody = _messageCenter.SendToMessageCenter(msgBody.ToJson(), // ConfigurationManager.AppSettings["MessageCenter"], // ConfigurationManager.AppSettings["BxVechileQueue2"]); try { string strurl = string.Format("{0}/service/carModelsv2queue", ConfigurationManager.AppSettings["CenterNewUrl"]); string returnServerIpPort = string.Empty; string result = ProxyCenterHttpClient.Post(strurl, msgBody.ToJson(), 60, ref returnServerIpPort); var cacheKey = CacheProvider.Get <string>(xuBaoKey); if (cacheKey == null) { for (int i = 0; i < 60; i++) { cacheKey = CacheProvider.Get <string>(xuBaoKey); if (!string.IsNullOrWhiteSpace(cacheKey)) { break; } else { await Task.Delay(TimeSpan.FromSeconds(1)); } } } response.Vehicles = new List <NewBxCarVehicleInfo>(); if (cacheKey == null) { response.BusinessStatus = -1;//超时 response.BusinessMessage = "请求超时"; } else { string itemsCache = string.Format("{0}-{1}-carmodelListV2", xuBaoCacheKey, request.IsNeedCarVin); response.BusinessStatus = 1; if (cacheKey == "1") { var temp = CacheProvider.Get <string>(itemsCache); response.Vehicles = temp.FromJson <List <NewBxCarVehicleInfo> >(); if (response.Vehicles != null && response.Vehicles.Count > 1) { response.Vehicles = response.Vehicles.OrderBy(x => x.PriceT).ToList(); } } } } catch (Exception ex) { response = new GetNewCarVehicleInfoResponse(); response.Status = HttpStatusCode.ExpectationFailed; logError.Info("获取车型请求发生异常:" + ex.Source + "\n" + ex.StackTrace + "\n" + ex.Message + "\n" + ex.InnerException); } return(response); }
public MyBaoJiaViewModel SetQuoteReq(MyBaoJiaViewModel my, List <long> listquote1, bx_quotereq_carinfo quotereqcarinfo, ref string postBizStartDate, ref string postForceStartDate) { var quotereqCarInfo = quotereqcarinfo; my.IsNewCar = 2;//默认赋值旧车2 //公车私车 if (quotereqCarInfo != null) { //报价失败,取req表起保时间 if (listquote1.Any()) { postForceStartDate = quotereqCarInfo.force_start_date.HasValue ? quotereqCarInfo.force_start_date.Value.ToString("yyyy-MM-dd HH:mm") : ""; postBizStartDate = quotereqCarInfo.biz_start_date.HasValue ? quotereqCarInfo.biz_start_date.Value.ToString("yyyy-MM-dd HH:mm") : ""; } my.IsPublic = quotereqCarInfo.is_public.HasValue ? quotereqCarInfo.is_public.Value : 0; if (quotereqCarInfo.is_newcar.HasValue) { if (quotereqCarInfo.is_newcar.Value != 0) { my.IsNewCar = quotereqCarInfo.is_newcar.Value; } } my.AutoMoldCode = quotereqCarInfo.auto_model_code; my.CoRealValue = quotereqCarInfo.co_real_value.HasValue ? quotereqCarInfo.co_real_value.Value : 0; my.CarUsedType = quotereqCarInfo.car_used_type; my.SeatCount = quotereqCarInfo.seat_count; //报价返回请求值 my.ReqInfo = new QuoteReqCarInfoViewModel() { AutoMoldCode = quotereqCarInfo.auto_model_code ?? "", IsNewCar = quotereqCarInfo.is_newcar ?? 2, NegotiatePrice = quotereqCarInfo.co_real_value ?? 0, IsPublic = quotereqCarInfo.is_public ?? 0, CarUsedType = quotereqCarInfo.car_used_type ?? 0, AutoMoldCodeSource = quotereqCarInfo.auto_model_code_source ?? -1, DriveLicenseTypeName = quotereqCarInfo.drivlicense_cartype_name ?? "", DriveLicenseTypeValue = quotereqCarInfo.drivlicense_cartype_value ?? "", SeatUpdated = (quotereqCarInfo.seatflag ?? -1).ToString(), RequestActualDiscounts = (quotereqCarInfo.ActualDiscounts ?? 0).ToString(), RequestIsPaFloorPrice = (quotereqCarInfo.IsPaFloorPrice ?? 0).ToString(), DriverCard = quotereqCarInfo.DriverCard ?? "", DriverCardType = quotereqCarInfo.DriverCardType ?? "", }; //addby20180915继续拼装viewModel.ReqInfo对象,这是新增的折扣率的对象 if (quotereqCarInfo != null) { List <DiscountViewModel> dclist = new List <DiscountViewModel>(); DiscountViewModel dc; Dictionary <int, decimal> dictionary = new Dictionary <int, decimal>(); dictionary = quotereqCarInfo.actualdiscounts_ratio.FromJson <Dictionary <int, decimal> >(); if (dictionary != null) { foreach (var item in dictionary) { dc = new DiscountViewModel() { Source = SourceGroupAlgorithm.GetNewSource(item.Key), AD = item.Value, CR = 0, SR = 0, TRCR = "" }; //平安的特殊处理,取单独的字段 if (item.Key == 0) { dc.CR = quotereqCarInfo.ChannelRate ?? 0; dc.SR = quotereqCarInfo.SubmitRate ?? 0; dc.TRCR = quotereqCarInfo.TrCausesWhy ?? ""; } dclist.Add(dc); } } my.ReqInfo.RequestDiscount = dclist; } } else { my.IsPublic = 0; my.CoRealValue = 0; my.ReqInfo = new QuoteReqCarInfoViewModel() { AutoMoldCode = "", IsNewCar = 2, NegotiatePrice = 0, IsPublic = 0, CarUsedType = 0, AutoMoldCodeSource = -1, DriveLicenseTypeName = "", DriveLicenseTypeValue = "", SeatUpdated = "-1", RequestActualDiscounts = "0", RequestIsPaFloorPrice = "0", DriverCard = "", DriverCardType = "", RequestDiscount = new List <DiscountViewModel>() }; } return(my); }
public static void QuoteAdd(PostPrecisePriceRequest request, long buid, int publictype, IQuoteReqCarinfoRepository repository) { bx_quotereq_carinfo newquotereq = new bx_quotereq_carinfo { is_loans = request.IsLoans, b_uid = buid, car_type = request.CarType, car_used_type = request.CarUsedType, seat_count = request.SeatCount, is_newcar = request.IsNewCar, car_ton_count = request.TonCount, create_time = DateTime.Now, update_time = DateTime.Now }; //经办人、送修码、归属人等设置,重写source值 //if (!string.IsNullOrWhiteSpace(request.ConfigCode)) //{ // //将用户传的configcode的source改为旧值。 // var configcodemodel = request.ConfigCode.FromJson<Dictionary<string, Dictionary<string, string>>>(); // var newconfigcodemodel = new Dictionary<string, Dictionary<string, string>>(); // foreach (var item in configcodemodel) // { // newconfigcodemodel.Add(SourceGroupAlgorithm.GetOldSource(long.Parse(item.Key)).ToString(), item.Value); // } // request.ConfigCode = newconfigcodemodel.ToJson(); //} newquotereq.account_relation = request.ConfigCode; //浮动价格 if (request.NegotiatePrice >= 0) { newquotereq.co_real_value = request.NegotiatePrice; } else { newquotereq.co_real_value = 0; } //车型选择source if (request.VehicleSource > 0) { newquotereq.moldcode_company = request.VehicleSource; } //过户车日期逻辑 if (!string.IsNullOrWhiteSpace(request.TransferDate)) { newquotereq.transfer_date = DateTime.Parse(request.TransferDate); } else { newquotereq.transfer_date = null; } if (!string.IsNullOrWhiteSpace(request.BizStartDate)) { newquotereq.biz_start_date = DateTime.Parse(request.BizStartDate); } else { newquotereq.biz_start_date = null; } if (!string.IsNullOrWhiteSpace(request.ForceStartDate)) { newquotereq.force_start_date = DateTime.Parse(request.ForceStartDate); } else { newquotereq.force_start_date = null; } //精友编码 if (!string.IsNullOrWhiteSpace(request.AutoMoldCode)) { newquotereq.auto_model_code = request.AutoMoldCode.Trim(); newquotereq.auto_model_code_source = 2; } else { //20181119,解决续保车补充到其他保司的精友码,中心查到carmold的车型信息跟平安保司不匹配 //如果是平安,则把数据库的精友码删掉 if (request.QuoteGroup == 2) { newquotereq.auto_model_code = null; newquotereq.auto_model_code_source = null; } } if (request.AutoMoldCodeSource > 0) { newquotereq.auto_model_code_source = request.AutoMoldCodeSource; } //平安备注 if (!string.IsNullOrWhiteSpace(request.Remark)) { newquotereq.pa_remark = request.Remark; } else { newquotereq.pa_remark = string.Empty; } //时间戳支持 if (!string.IsNullOrWhiteSpace(request.BizTimeStamp)) { newquotereq.biz_start_date = DateTime.Parse(request.BizTimeStamp.UnixTimeToDateTime().ToString("yyyy-MM-dd HH") + ":00:00"); } //else //{ // newquotereq.biz_start_date = null; //} if (!string.IsNullOrWhiteSpace(request.ForceTimeStamp)) { newquotereq.force_start_date = DateTime.Parse(request.ForceTimeStamp.UnixTimeToDateTime().ToString("yyyy-MM-dd HH") + ":00:00"); } //else //{ // newquotereq.force_start_date = null; //} //商业险短时起保 if (!string.IsNullOrWhiteSpace(request.BizShortEndDate)) { newquotereq.biz_end_date = DateTime.Parse(request.BizShortEndDate.UnixTimeToDateTime().ToString("yyyy-MM-dd HH") + ":00:00"); newquotereq.IsShortQuote = 1; } else { newquotereq.biz_end_date = null; newquotereq.IsShortQuote = 0; } //if (request.IsPublic > 0) //{ // newquotereq.is_public = request.IsPublic; //} if (request.CarUsedType == 6 || request.CarUsedType == 7 || request.CarUsedType == 20) { } else { if (publictype > 0) { newquotereq.is_public = publictype; } } if (request.ClauseType > 0) { newquotereq.clause_type = request.ClauseType; } if (request.FuelType > 0) { newquotereq.fuel_type = request.FuelType; } if (request.ProofType > 0) { newquotereq.proof_type = request.ProofType; } if (request.RunMiles > 0) { newquotereq.run_miles = request.RunMiles; } if (request.RateFactor4 > 0) { newquotereq.special_rate = request.RateFactor4; } if (request.LicenseColor > 0) { newquotereq.license_color = request.LicenseColor; } if (request.SeatCount > 0) { newquotereq.seat_count = request.SeatCount; } if (request.ExhaustScale > 0) { newquotereq.exhaust_scale = request.ExhaustScale; } if (request.PurchasePrice > 0) { newquotereq.PriceT = request.PurchasePrice; } newquotereq.drivlicense_cartype_name = request.DriveLicenseTypeName; newquotereq.drivlicense_cartype_value = request.DriveLicenseTypeValue; if (!string.IsNullOrWhiteSpace(request.OwnerOrg)) { newquotereq.ownerOrg = request.OwnerOrg; } if (!string.IsNullOrWhiteSpace(request.PolicyOrg)) { newquotereq.policyOrg = request.PolicyOrg; } if (!string.IsNullOrWhiteSpace(request.RenBaoRateSplit)) { newquotereq.renBaoRateSplit = request.RenBaoRateSplit; //.ToJson(); } //特殊折扣申请 if (request.SpecialDiscount > 0) { newquotereq.special_discount_application = request.SpecialDiscount; } //是否修改座位数 if (request.SeatUpdated != -1) { newquotereq.seatflag = request.SeatUpdated; } //太平洋实际折扣系数 20180725by gpj newquotereq.ActualDiscounts = request.ActualDiscounts; newquotereq.VehicleAlias = request.VehicleAlias; newquotereq.VehicleYear = request.VehicleYear; if (string.IsNullOrWhiteSpace(request.DiscountJson)) { newquotereq.TrCausesWhy = ""; newquotereq.SubmitRate = 0; newquotereq.ChannelRate = 0; newquotereq.actualdiscounts_ratio = ""; } else { //前端传折扣json进来 List <DiscountViewModel> dclist = new List <DiscountViewModel>(); try { //将折扣json转成对象 dclist = request.DiscountJson.FromJson <List <DiscountViewModel> >(); } catch (Exception ex) { } if (dclist.Any()) { //拼接actualdiscounts_ratio的数组 Dictionary <int, decimal> dictionary = new Dictionary <int, decimal>(); foreach (var dc in dclist) { if (dc.Source == 1) {//兼容之前逻辑,把太平洋单独字段存ActualDiscounts中 newquotereq.ActualDiscounts = dc.AD; } if (dc.Source == 2) {//平安单独保存3个字段 newquotereq.TrCausesWhy = dc.TRCR; newquotereq.SubmitRate = dc.SR; newquotereq.ChannelRate = dc.CR; } //其他折扣率直接存json dictionary.Add(SourceGroupAlgorithm.GetOldSource(dc.Source), dc.AD); } //只有当折扣率有值的时候才保存进来//不过此处肯定有值,除非参数有问题 if (dictionary.Any()) { newquotereq.actualdiscounts_ratio = dictionary.ToJson(); } } } newquotereq.ActualSalesForceRatio = request.ActualSalesForceRatio; newquotereq.ActualSalesBizRatio = request.ActualSalesBizRatio; newquotereq.ActualDtaryForceRatio = request.ActualDtaryForceRatio; newquotereq.ActualDtaryBizRatio = request.ActualDtaryBizRatio; //是否暂存 newquotereq.IsTempStorage = request.IsTempStorage; //平安底价报价 newquotereq.IsPaFloorPrice = request.IsPaFloorPrice; newquotereq.DriverCard = request.DriverCard; newquotereq.DriverCardType = request.DriverCardType; repository.Add(newquotereq); }