public void UpdateBjdInfo_BaoDanXinXiIsNull_Return0() { #region 配置 Substitute IBaodanXianZhongRepository _baodanXianZhongRepository = Substitute.For <IBaodanXianZhongRepository>(); IBaodanxinxiRepository _baodanxinxiRepository = Substitute.For <IBaodanxinxiRepository>(); IBxBjUnionRepository _bjxUnionRepository = Substitute.For <IBxBjUnionRepository>(); ICreateActivity _createActivity = Substitute.For <ICreateActivity>(); IMapBaoDanXinXiRecord _mapBaoDanXinXiRecord = Substitute.For <IMapBaoDanXinXiRecord>(); IMapBaoDanXianZhongRecord _mapBaoDanXianZhongRecord = Substitute.For <IMapBaoDanXianZhongRecord>(); IUpdateBjdCheck _bjdCheck = Substitute.For <IUpdateBjdCheck>(); var request = new CreateOrUpdateBjdInfoRequest(); int type = Arg.Any <int>(); _bjdCheck.Valid(request).Returns(x => new UpdateBjdCheckMessage() { State = 0 }); _createActivity.AddActivity(Arg.Any <CreateOrUpdateBjdInfoRequest>(), type) .Returns(x => new bx_preferential_activity()); _baodanxinxiRepository.Add(Arg.Any <bj_baodanxinxi>()).Returns(x => null); CreateBjdInfoService service = new CreateBjdInfoService(_createActivity, _mapBaoDanXinXiRecord, _mapBaoDanXianZhongRecord, _bjxUnionRepository, _baodanXianZhongRepository, _baodanxinxiRepository, _bjdCheck); #endregion #region 操作 Arg var result = service.UpdateBjdInfo(request, null); #endregion #region 断言 Assert Assert.AreEqual(0, result); #endregion }
public long UpdateBjdInfo([FromUri] CreateOrUpdateBjdInfoRequest request) { logInfo.Info(string.Format("分享报价单信息接口请求串:{0}", Request.RequestUri)); var count = _createBjdInfoService.UpdateBjdInfo(request, Request.GetQueryNameValuePairs());//老代码在这里=>//var count = _bjdService.UpdateBjdInfo(request, Request.GetQueryNameValuePairs());//logInfo.Info(string.Format("分享报价单信息接口返回值:{0}", count.ToJson())); return(count); }
public void UpdateBjdInfo_CheckReturn0_Return0() { #region 配置 Substitute IBaodanXianZhongRepository _baodanXianZhongRepository = Substitute.For <IBaodanXianZhongRepository>(); IBaodanxinxiRepository _baodanxinxiRepository = Substitute.For <IBaodanxinxiRepository>(); IBxBjUnionRepository _bjxUnionRepository = Substitute.For <IBxBjUnionRepository>(); ICreateActivity _createActivity = Substitute.For <ICreateActivity>(); IMapBaoDanXinXiRecord _mapBaoDanXinXiRecord = Substitute.For <IMapBaoDanXinXiRecord>(); IMapBaoDanXianZhongRecord _mapBaoDanXianZhongRecord = Substitute.For <IMapBaoDanXianZhongRecord>(); IUpdateBjdCheck _bjdCheck = Substitute.For <IUpdateBjdCheck>(); var request = new CreateOrUpdateBjdInfoRequest(); _bjdCheck.Valid(request).Returns(x => new UpdateBjdCheckMessage() { State = 0 }); CreateBjdInfoService service = new CreateBjdInfoService(_createActivity, _mapBaoDanXinXiRecord, _mapBaoDanXianZhongRecord, _bjxUnionRepository, _baodanXianZhongRepository, _baodanxinxiRepository, _bjdCheck); #endregion #region 操作 Arg var result = service.UpdateBjdInfo(request, null); #endregion #region 断言 Assert Assert.AreEqual(0, result); #endregion }
public void AddActivity_ThorwException_Return0() { #region 配置 Substitute _agentRepository.When(x => x.GetAgent(Arg.Any <int>())).Do(info => { throw new Exception(); }); CreateActivity createActivity = new CreateActivity(_agentRepository, _preferentialActivityRepository); #endregion #region 操作 Arg CreateOrUpdateBjdInfoRequest createOrUpdate = new CreateOrUpdateBjdInfoRequest(); createOrUpdate.ActivityContent = "123"; var result = createActivity.AddActivity(createOrUpdate, Arg.Any <int>()); #endregion #region 断言 Assert.AreEqual(0, result.id); #endregion }
public void AddActivity_SelectRowNull_Return0() { #region 配置 Substitute IPreferentialActivityRepository _preferentialActivityRepository = Substitute.For <IPreferentialActivityRepository>(); IAgentRepository _agentRepository = Substitute.For <IAgentRepository>(); _preferentialActivityRepository.GetListByType(Arg.Any <int>(), Arg.Any <string>()).Returns(x => null); CreateActivity createActivity = new CreateActivity(_agentRepository, _preferentialActivityRepository); #endregion #region 操作 Arg CreateOrUpdateBjdInfoRequest createOrUpdate = new CreateOrUpdateBjdInfoRequest(); createOrUpdate.ActivityContent = "123"; var result = createActivity.AddActivity(createOrUpdate, Arg.Any <int>()); #endregion #region 断言 Assert.AreNotEqual(0, result.activity_status); #endregion }
public UpdateBjdCheckMessage Valid(CreateOrUpdateBjdInfoRequest request) { UpdateBjdCheckMessage message = new UpdateBjdCheckMessage(); message.State = 1; try { message.SubmitInfo = _submitInfoRepository.GetSubmitInfo(request.Buid, SourceGroupAlgorithm.GetOldSource(request.Source)); if (message.SubmitInfo == null) { message.Message = string.Format("Buid为{0}Source为{1}的记录submitinfo为空", request.Buid, request.Source); message.State = 0; return(message); } message.Quoteresult = _quoteResultRepository.GetQuoteResultByBuid(request.Buid, SourceGroupAlgorithm.GetOldSource(request.Source)); if (message.Quoteresult == null) { message.Message = string.Format("Buid为{0}Source为{1}的记录quoteinfo为空", request.Buid, request.Source); message.State = 0; return(message); } message.ReqCarInfo = _quoteReqCarinfoRepository.Find(request.Buid); if (message.ReqCarInfo == null) { message.Message = string.Format("Buid为{0}Source为{1}的记录quotereqcarinfo为空", request.Buid, request.Source); message.State = 0; return(message); } message.Savequote = _saveQuoteRepository.GetSavequoteByBuid(request.Buid); if (message.Savequote == null) { message.Message = string.Format("Buid为{0}Source为{1}的记录saveinfo为空", request.Buid, request.Source); message.State = 0; return(message); } message.Userinfo = _userInfoRepository.FindByBuid(request.Buid); if (message.Userinfo == null) { message.Message = string.Format("Buid为{0}Source为{1}的记录userinfo为空", request.Buid, request.Source); message.State = 0; return(message); } } catch (Exception ex) { message.Message = string.Format("程序出险异常,错误信息为:{0}", ex.Message); message.State = -1; return(message); } return(message); }
public long UpdateBjdInfo(CreateOrUpdateBjdInfoRequest request, IEnumerable <KeyValuePair <string, string> > pairs) { //校验 #region //bx_claim_detail long baodanxinxiid = 0; //20160905修改source1248=>0123,传入的新数据转换 var checkResult = _bjdCheck.Valid(request); if (checkResult.State == 0) { logErr.Info(checkResult.Message); return(checkResult.State); } #endregion try { //新增 if (request.BxId == 0) { //单独写一个接口 实现 bx_preferential_activity model = _createActivity.AddActivity(request, 5); //单独写一个接口 实现 var baodanxinxi = _mapBaoDanXinXiRecord.MapBaodanxinxi(request, checkResult.SubmitInfo, checkResult.Quoteresult, checkResult.Savequote, checkResult.Userinfo, checkResult.ReqCarInfo, model); var item = _baodanxinxiRepository.Add(baodanxinxi); var agentinfo = _agentRepository.GetAgent(checkResult.Userinfo.Agent); Task.Factory.StartNew(() => { _addCrmStepsService.AddCrmSteps(request.ChildAgent, agentinfo == null ? "" : agentinfo.AgentName, "", checkResult.Userinfo.LicenseNo, request.Source, request.BizRate, request.ForceRate, model.id, request.Buid, item.Id, request.CityCode); }); List <bx_ywxdetail> ywxList = _ywxdetailRepository.GetList(request.Buid); var baodanxianzhong = _mapBaoDanXianZhongRecord.MapBaodanxianzhong(baodanxinxi, checkResult.Quoteresult, checkResult.Savequote, checkResult.SubmitInfo, ywxList); _baodanXianZhongRepository.Add(baodanxianzhong); _bjxUnionRepository.Add(request.Buid, item.Id); baodanxinxiid = item.Id; } } catch (Exception ex) { baodanxinxiid = -1; logErr.Info("创建报价单发生异常,请求串为:" + request.ToJson() + "/n错误信息:" + ex.Source + "\n" + ex.StackTrace + "\n" + ex.Message + "\n" + ex.InnerException); } return(baodanxinxiid); }
public HttpResponseMessage SharePrecisePrice([FromUri] CreateOrUpdateBjdInfoRequest request) { _logAppInfo.Info(string.Format("分享报价单接口请求串:{0}", Request.RequestUri)); var viewModel = new BaseViewModel(); if (!ModelState.IsValid) { viewModel.BusinessStatus = -10000; string msg = ModelState.Values.Where(a => a.Errors.Count == 1).Aggregate(string.Empty, (current, a) => current + (a.Errors[0].ErrorMessage + "; ")); viewModel.StatusMessage = "输入参数错误," + msg; return(viewModel.ResponseToJson()); } viewModel = _appAchieveService.SharePrecisePrice(request, Request.GetQueryNameValuePairs(), Request.RequestUri); //_logAppInfo.Info(string.Format("分享报价单接口返回值:{0}", viewModel.ToJson())); return(viewModel.ResponseToJson()); }
public BaseViewModel SharePrecisePrice(CreateOrUpdateBjdInfoRequest request, IEnumerable <KeyValuePair <string, string> > pairs, Uri uri) { var viewModel = new BaseViewModel(); #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/UpdateBjdInfo", uri.Host, uri.Port); //3,续保请求 BaseResponse rep = SimulateSyncGet(strUrl, pairs); if (rep.ErrCode == 1) { viewModel = rep.ErrMsg.FromJson <BaseViewModel>(); } else { viewModel.BusinessStatus = rep.ErrCode; viewModel.StatusMessage = rep.ErrMsg; } //bx_userinfo userinfo = _userInfoRepository.FindByOpenIdAndLicense(request.CustKey, request.LicenseNo, request.ChildAgent.ToString()); //viewModel.Buid = userinfo != null ? userinfo.Id : 0; //viewModel.Agent = baseResponse.Agent; //viewModel.AgentName = baseResponse.AgentName; #endregion return(viewModel); }
public void UpdateBjdInfo_ThrowExecption_ReturnNegavite() { #region 配置 Substitute IBaodanXianZhongRepository _baodanXianZhongRepository = Substitute.For <IBaodanXianZhongRepository>(); IBaodanxinxiRepository _baodanxinxiRepository = Substitute.For <IBaodanxinxiRepository>(); IBxBjUnionRepository _bjxUnionRepository = Substitute.For <IBxBjUnionRepository>(); ICreateActivity _createActivity = Substitute.For <ICreateActivity>(); IMapBaoDanXinXiRecord _mapBaoDanXinXiRecord = Substitute.For <IMapBaoDanXinXiRecord>(); IMapBaoDanXianZhongRecord _mapBaoDanXianZhongRecord = Substitute.For <IMapBaoDanXianZhongRecord>(); IUpdateBjdCheck _bjdCheck = Substitute.For <IUpdateBjdCheck>(); IAgentRepository _agentRepository = Substitute.For <IAgentRepository>(); IAddCrmStepsService _addCrmStepsService = Substitute.For <IAddCrmStepsService>(); var request = new CreateOrUpdateBjdInfoRequest(); int type = Arg.Any <int>(); _bjdCheck.Valid(request) .Returns( x => new UpdateBjdCheckMessage() { State = 1, SubmitInfo = new bx_submit_info(), Quoteresult = new bx_quoteresult(), Savequote = new bx_savequote(), Userinfo = new bx_userinfo() }); _createActivity.When(x => x.AddActivity(request, type)) .Do(info => { throw new Exception(); }); CreateBjdInfoService service = new CreateBjdInfoService(_createActivity, _mapBaoDanXinXiRecord, _mapBaoDanXianZhongRecord, _bjxUnionRepository, _baodanXianZhongRepository, _baodanxinxiRepository, _bjdCheck, _agentRepository, _addCrmStepsService); #endregion #region 操作 Arg var result = service.UpdateBjdInfo(request, null); #endregion #region 断言 Assert Assert.AreEqual(-1, result); #endregion }
public bx_preferential_activity AddActivity(CreateOrUpdateBjdInfoRequest request, int aciivityType) { var model = new bx_preferential_activity(); try { if (!string.IsNullOrWhiteSpace(request.ActivityContent)) { bx_preferential_activity modelactivity = _preferentialActivityRepository.GetListByType(5, request.ActivityContent); if (modelactivity != null) { model = modelactivity; } else { var agentinfo = _agentRepository.GetAgent(request.ChildAgent); model.top_agent_id = request.Agent; model.agent_id = request.ChildAgent; model.activity_type = 5; model.activity_name = ""; model.activity_content = request.ActivityContent; model.activity_status = 1; model.create_time = DateTime.Now; model.create_name = agentinfo == null ? "" : agentinfo.AgentName; model.modify_time = DateTime.Now; model.modify_name = agentinfo == null ? "" : agentinfo.AgentName; _preferentialActivityRepository.AddActivity(model); } } } catch (Exception ex) { logErr.Info("发生异常:" + ex.Source + "\n" + ex.StackTrace + "\n" + ex.Message + "\n" + ex.InnerException); return(new bx_preferential_activity()); } return(model); }
public void UpdateBjdInfo_CheckReturn0_Return0() { #region 配置 Substitute IBaodanXianZhongRepository _baodanXianZhongRepository = Substitute.For <IBaodanXianZhongRepository>(); IBaodanxinxiRepository _baodanxinxiRepository = Substitute.For <IBaodanxinxiRepository>(); IBxBjUnionRepository _bjxUnionRepository = Substitute.For <IBxBjUnionRepository>(); ICreateActivity _createActivity = Substitute.For <ICreateActivity>(); IMapBaoDanXinXiRecord _mapBaoDanXinXiRecord = Substitute.For <IMapBaoDanXinXiRecord>(); IMapBaoDanXianZhongRecord _mapBaoDanXianZhongRecord = Substitute.For <IMapBaoDanXianZhongRecord>(); IUpdateBjdCheck _bjdCheck = Substitute.For <IUpdateBjdCheck>(); IAgentRepository _agentRepository = Substitute.For <IAgentRepository>(); IAddCrmStepsService _addCrmStepsService = Substitute.For <IAddCrmStepsService>(); var request = new CreateOrUpdateBjdInfoRequest(); _bjdCheck.Valid(request) .Returns( x => new UpdateBjdCheckMessage() { State = 0, SubmitInfo = new bx_submit_info(), Quoteresult = new bx_quoteresult(), Savequote = new bx_savequote(), Userinfo = new bx_userinfo() }); CreateBjdInfoService service = new CreateBjdInfoService(_createActivity, _mapBaoDanXinXiRecord, _mapBaoDanXianZhongRecord, _bjxUnionRepository, _baodanXianZhongRepository, _baodanxinxiRepository, _bjdCheck, _agentRepository, _addCrmStepsService); #endregion #region 操作 Arg var result = service.UpdateBjdInfo(request, null); #endregion #region 断言 Assert Assert.AreEqual(0, result); #endregion }
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); }