public void OrderApplyAdd(HttpRequest Request, HttpResponse Response, HttpContext context) { string ValidCodeRequest = UtilityHelper.BWJSCommonHelper.SafeString(Request["ValidCode"], ""); string ValidCodeSesstion = context.Session["ValidCode"].ToString(); if (!ValidCodeRequest.Equals(ValidCodeSesstion)) { Response.Write("{\"ValidCodeError\":\"Error\"}"); } else { #region 获取参数 begin string TransNo = UtilityHelper.CommonHelper.OrderNoOne(); // Guid.NewGuid().ToString("N");//这里直接赋值 string CaseCode = UtilityHelper.BWJSCommonHelper.SafeString(Request["CaseCode"], ""); int productId = DNTRequest.GetInt("productId", 0); int Type = UtilityHelper.BWJSCommonHelper.SafeInt(Request["Type"], 0);//当Type为0时默认给自己投保 1为他人投保 #region 承包申请表 OrderApply int userId = UtilityHelper.BWJSCommonHelper.SafeInt(Request["userId"], 0); int machineID = UtilityHelper.BWJSCommonHelper.SafeInt(Request["MachineID"], 0); #endregion #region 投保人信息参数 ApplicantInfo string cName = UtilityHelper.BWJSCommonHelper.SafeString(Request["CName"], ""); string eName = UtilityHelper.BWJSCommonHelper.SafeString(Request["EName"], ""); int cardType = UtilityHelper.BWJSCommonHelper.SafeInt(Request["CardType"], 0); string cardCode = UtilityHelper.BWJSCommonHelper.SafeString(Request["CardCode"], ""); int sex = UtilityHelper.BWJSCommonHelper.SafeInt(Request["Sex"], 0); string birthDay = UtilityHelper.BWJSCommonHelper.SafeString(Request["BirthDay"], ""); string mobile = UtilityHelper.BWJSCommonHelper.SafeString(Request["Mobile"], ""); string email = UtilityHelper.BWJSCommonHelper.SafeString(Request["Email"], ""); string cardPeriod = UtilityHelper.BWJSCommonHelper.SafeString(Request["CardPeriod"], ""); string job = UtilityHelper.BWJSCommonHelper.SafeString(Request["Job"], ""); #endregion #region 订单信息参数 ApplicationData string applicationDate = UtilityHelper.BWJSCommonHelper.SafeString(Request["ApplicationDate"], ""); string startDate = UtilityHelper.BWJSCommonHelper.SafeString(Request["StartDate"], ""); string endDate = UtilityHelper.BWJSCommonHelper.SafeString(Request["EndDate"], ""); #endregion #region 被投保人信息参数 InsurantInfo string bcName = UtilityHelper.BWJSCommonHelper.SafeString(Request["BCName"], ""); string beName = UtilityHelper.BWJSCommonHelper.SafeString(Request["BEName"], ""); int bsex = UtilityHelper.BWJSCommonHelper.SafeInt(Request["BSex"], 0); int bcardType = UtilityHelper.BWJSCommonHelper.SafeInt(Request["BCardType"], 0); string bcardCode = UtilityHelper.BWJSCommonHelper.SafeString(Request["BCardCode"], ""); string bbirthDay = UtilityHelper.BWJSCommonHelper.SafeString(Request["BBirthDay"], ""); int relationID = UtilityHelper.BWJSCommonHelper.SafeInt(Request["RelationID"], 0); //购买关系必填 int count = UtilityHelper.BWJSCommonHelper.SafeInt(Request["Count"], 0); //购买份数必填 decimal singlePrice = UtilityHelper.BWJSCommonHelper.SafeDecimal(Request["SinglePrice"], 0m); //购买单价必填 decimal TotalPrice = UtilityHelper.BWJSCommonHelper.SafeDecimal(Request["TotalPrice"], 0m); //购买总价 string bcardPeriod = UtilityHelper.BWJSCommonHelper.SafeString(Request["BCardPeriod"], ""); string bmobile = UtilityHelper.BWJSCommonHelper.SafeString(Request["BMobile"], ""); string bemail = UtilityHelper.BWJSCommonHelper.SafeString(Request["BEmail"], ""); string bjob = UtilityHelper.BWJSCommonHelper.SafeString(Request["BJob"], ""); #endregion #region 其它信息 OtherInfo string provCityId = UtilityHelper.BWJSCommonHelper.SafeString(Request["ProvCityId"], ""); DateTime qTCardPeriod = UtilityHelper.BWJSCommonHelper.SafeDateTime(Request["QTCardPeriod"], DateTime.Parse("1900-1-1"));//其它 证件有效期,格式:yyyy-MM-dd(疾病险) int notifyAnswerId = UtilityHelper.BWJSCommonHelper.SafeInt(Request["NotifyAnswerId"], 0); string priceArgsId = UtilityHelper.BWJSCommonHelper.SafeString(Request["PriceArgsId"], ""); int relatedPersonHouse = UtilityHelper.BWJSCommonHelper.SafeInt(Request["RelatedPersonHouse"], 0); string visaCity = UtilityHelper.BWJSCommonHelper.SafeString(Request["VisaCity"], ""); string destination = UtilityHelper.BWJSCommonHelper.SafeString(Request["Destination"], ""); int tripPurposeId = UtilityHelper.BWJSCommonHelper.SafeInt(Request["TripPurposeId"], 0); string propertyAddress = UtilityHelper.BWJSCommonHelper.SafeString(Request["PropertyAddress"], ""); #endregion #endregion 获取参数 end #region OrderApplyViewModel 赋值 OrderApplyViewModel viewModel = new OrderApplyViewModel(); viewModel.caseCode = CaseCode; viewModel.transNo = TransNo; viewModel.productId = productId; viewModel.TotalPrice = TotalPrice; viewModel.applicantInfo = new ApplicantInfo(); viewModel.applicantInfo.CName = cName; viewModel.applicantInfo.EName = eName; viewModel.applicantInfo.CardType = cardType; viewModel.applicantInfo.Sex = sex; viewModel.applicantInfo.BirthDay = birthDay; viewModel.applicantInfo.Mobile = mobile; viewModel.applicantInfo.Email = email; viewModel.applicantInfo.CardCode = cardCode; viewModel.applicantInfo.CardPeriod = cardPeriod; viewModel.applicantInfo.RecordCreateTime = DateTime.Now; viewModel.applicantInfo.RecordUpdateTime = DateTime.Now; viewModel.applicantInfo.Job = job; viewModel.applicationData = new ApplicationData(); viewModel.applicationData.ApplicationDate = applicationDate; viewModel.applicationData.StartDate = startDate; viewModel.applicationData.EndDate = endDate; viewModel.applicationData.RecordCreateTime = DateTime.Now; viewModel.applicationData.RecordUpdateTime = DateTime.Now; viewModel.insurantInfo = new InsurantInfo(); if (Type == 0)//给自己投保 { viewModel.insurantInfo.CName = viewModel.applicantInfo.CName; viewModel.insurantInfo.EName = viewModel.applicantInfo.EName; viewModel.insurantInfo.Sex = viewModel.applicantInfo.Sex; viewModel.insurantInfo.CardType = viewModel.applicantInfo.CardType; viewModel.insurantInfo.Birthday = viewModel.applicantInfo.BirthDay; viewModel.insurantInfo.CardPeriod = viewModel.applicantInfo.CardPeriod; viewModel.insurantInfo.Mobile = viewModel.applicantInfo.Mobile; viewModel.insurantInfo.CardCode = viewModel.applicantInfo.CardCode; viewModel.insurantInfo.RelationID = 1; viewModel.insurantInfo.Email = viewModel.applicantInfo.Email; //新加字段 viewModel.insurantInfo.Job = viewModel.applicantInfo.Job; //新加字段 } else { viewModel.insurantInfo.Email = bemail; viewModel.insurantInfo.CName = bcName; viewModel.insurantInfo.EName = beName; viewModel.insurantInfo.Sex = bsex; viewModel.insurantInfo.CardType = bcardType; viewModel.insurantInfo.Birthday = bbirthDay; viewModel.insurantInfo.CardPeriod = bcardPeriod; viewModel.insurantInfo.Mobile = bmobile; viewModel.insurantInfo.RelationID = relationID; viewModel.insurantInfo.CardCode = bcardCode; viewModel.insurantInfo.Job = bjob; } viewModel.insurantInfo.Count = count; viewModel.insurantInfo.SinglePrice = singlePrice; viewModel.insurantInfo.RecordCreateTime = DateTime.Now; viewModel.insurantInfo.RecordUpdateTime = DateTime.Now; viewModel.orderApply = new OrderApply(); viewModel.orderApply.RecordCreateTime = DateTime.Now; viewModel.orderApply.RecordUpdateTime = DateTime.Now; viewModel.orderApply.UserID = userId; viewModel.orderApply.MachineID = machineID; // viewModel.transactions = new Transactions(); viewModel.otherInfo = new OtherInfo(); viewModel.otherInfo.ProvCityID = provCityId; viewModel.otherInfo.CardPeriod = DateTime.Parse(cardPeriod);//这里传投保人 证件有效期 viewModel.otherInfo.NotifyAnswerID = notifyAnswerId; viewModel.otherInfo.PriceArgsID = priceArgsId; viewModel.otherInfo.RecordCreateTime = DateTime.Now; viewModel.otherInfo.RecordUpdateTime = DateTime.Now; viewModel.otherInfo.VisaCity = visaCity; viewModel.otherInfo.Destination = destination; viewModel.otherInfo.TripPurposeId = tripPurposeId; viewModel.otherInfo.PropertyAddress = propertyAddress; viewModel.otherInfo.RelatedPersonHouse = relatedPersonHouse; #endregion OrderApplyHelperBLL orderApplyHelper = new OrderApplyHelperBLL(); string msg = ""; bool b = orderApplyHelper.OrderApplyAdd(viewModel, out msg); Response.Write(msg); } }
public bool OrderApplyAdd(OrderApplyViewModel viewModel, out string msg) { msg = "ok"; using (SqlConnection conn = new SqlConnection(DbHelperSQL.connectionString)) { conn.Open(); using (SqlTransaction trans = conn.BeginTransaction()) { try { int ApplyId = dalOrderApply.Add(viewModel.orderApply, trans, conn);// if (ApplyId < 0) { return(false); } else { viewModel.insurantInfo.OrderApplyID = ApplyId; viewModel.applicantInfo.OrderApplyID = ApplyId; viewModel.applicationData.OrderApplyID = ApplyId; viewModel.otherInfo.OrderApplyID = ApplyId; #region 创建人赋值 //LoginUserCookie cookie = MerchantFrontCookieBLL.GetMerchantFrontUserCookie(); int createUserId = MerchantFrontCookieBLL.GetMerchantFrontUserId(); //int createUserId= cookie.LoginUserID; try { UsersBLL opUsersBLL = new UsersBLL(); Users modelUsers = opUsersBLL.GetModel(createUserId); if (modelUsers != null) { departmentId = modelUsers.DepartmentID; } } catch { } viewModel.insurantInfo.CreatUserID = createUserId; viewModel.applicantInfo.CreatUserID = createUserId; viewModel.applicationData.CreatUserID = createUserId; viewModel.otherInfo.CreatUserID = createUserId; viewModel.orderApply.CreatUserID = createUserId; viewModel.orderApply.DepartmentId = departmentId; #endregion } int retCatId = dalApplicationData.Add(viewModel.applicationData, trans, conn); // int retInfoId = dalApplicantInfo.Add(viewModel.applicantInfo, trans, conn); // int retInsurantId = dalInsurantInfo.Add(viewModel.insurantInfo, trans, conn); // int retotherId = otherInfoDAL.Add(viewModel.otherInfo, trans, conn); //调用Mofang业务BaoxianDataBLL BaoxianDataBLL baoxianBLL = new BaoxianDataBLL(); OrderApplyInputModel orderModel = new OrderApplyInputModel(); orderModel.applicantinfo = new ApplicantInfo(); orderModel.applicantinfo.cName = viewModel.applicantInfo.CName; orderModel.applicantinfo.eName = viewModel.applicantInfo.EName; orderModel.applicantinfo.cardType = viewModel.applicantInfo.CardType; orderModel.applicantinfo.cardCode = viewModel.applicantInfo.CardCode; orderModel.applicantinfo.sex = viewModel.applicantInfo.Sex; orderModel.applicantinfo.birthday = viewModel.applicantInfo.BirthDay; orderModel.applicantinfo.mobile = viewModel.applicantInfo.Mobile; orderModel.applicantinfo.email = viewModel.applicantInfo.Email; orderModel.applicantinfo.cardPeriod = viewModel.applicantInfo.CardPeriod; orderModel.applicantinfo.job = viewModel.applicantInfo.Job; orderModel.applicationdata = new ApplicationData(); orderModel.applicationdata.applicationDate = viewModel.applicationData.ApplicationDate; orderModel.applicationdata.startDate = viewModel.applicationData.StartDate; orderModel.applicationdata.endDate = viewModel.applicationData.EndDate; orderModel.insurantInfo = new InsurantInfo(); orderModel.insurantInfo.birthday = viewModel.insurantInfo.Birthday; orderModel.insurantInfo.cardCode = viewModel.insurantInfo.CardCode; orderModel.insurantInfo.cardPeriod = viewModel.insurantInfo.CardPeriod; orderModel.insurantInfo.cardType = viewModel.insurantInfo.CardType; orderModel.insurantInfo.cName = viewModel.insurantInfo.CName; orderModel.insurantInfo.count = viewModel.insurantInfo.Count; orderModel.insurantInfo.eName = viewModel.insurantInfo.EName; orderModel.insurantInfo.mobile = viewModel.insurantInfo.Mobile; orderModel.insurantInfo.relationId = viewModel.insurantInfo.RelationID; orderModel.insurantInfo.sex = viewModel.insurantInfo.Sex; orderModel.insurantInfo.singlePrice = viewModel.insurantInfo.SinglePrice; orderModel.insurantInfo.email = viewModel.insurantInfo.Email; orderModel.insurantInfo.job = viewModel.insurantInfo.Job; orderModel.caseCode = viewModel.caseCode; orderModel.transNo = viewModel.transNo; int Days = 0; try { TimeSpan ts = Convert.ToDateTime(viewModel.applicationData.EndDate) - Convert.ToDateTime(viewModel.applicationData.StartDate); Days = ts.Days; if (Days == 0) { msg = "投保时间差有误!"; } } catch (Exception ex) { ExceptionLogBLL.WriteExceptionLogToDB(ex.ToString()); } orderModel.insurantDateLimit = Days.ToString(); orderModel.otherInfo = new OtherInfo(); orderModel.otherInfo.provCityId = viewModel.otherInfo.ProvCityID; orderModel.otherInfo.cardPeriod = viewModel.otherInfo.CardPeriod.ToString("yyyy-MM-dd"); orderModel.otherInfo.notifyAnswerId = viewModel.otherInfo.NotifyAnswerID.ToString(); orderModel.otherInfo.priceArgsId = viewModel.otherInfo.PriceArgsID; orderModel.otherInfo.visaCity = viewModel.otherInfo.VisaCity; orderModel.otherInfo.destination = viewModel.otherInfo.Destination; orderModel.otherInfo.tripPurposeId = viewModel.otherInfo.TripPurposeId; orderModel.otherInfo.propertyAddress = viewModel.otherInfo.PropertyAddress; orderModel.otherInfo.relatedPersonHouse = viewModel.otherInfo.RelatedPersonHouse; OrderApplyOutputModel outPutModel = baoxianBLL.OrderApply(orderModel); OrderPayViewModel orderPayViewModel = new OrderPayViewModel(); orderPayViewModel.transNo = outPutModel.transNo; orderPayViewModel.insureNum = outPutModel.insureNum; orderPayViewModel.price = outPutModel.price; orderPayViewModel.caseCode = orderModel.insurantInfo.cardCode; orderPayViewModel.customkey = orderModel.customkey; msg = SerializerHelper.SerializeObject(outPutModel); if (outPutModel.respstat == "0000") { trans.Commit();//提交事务 Model.OrderApply oOrderApply = new Model.OrderApply(); OrderApplyBLL orderbll = new OrderApplyBLL(); oOrderApply = orderbll.GetModel(ApplyId); oOrderApply.InsureNum = orderPayViewModel.insureNum; oOrderApply.Price = orderPayViewModel.price; oOrderApply.Respmsg = outPutModel.respmsg; oOrderApply.Respstat = outPutModel.respstat; oOrderApply.DepartmentId = departmentId; bool flag = dalOrderApply.Update(oOrderApply); if (!flag) { ExceptionLogBLL.WriteExceptionLogToDB("更新OrderApply表失败"); } else //没问题后提交返利设置 { #region 获取渠道返利设置 if (ApplyId > 0) { CompanyRebate modelSys_CompanyRebate = new CompanyRebate(); CompanyRebateBLL opSys_CompanyRebateBLL = new CompanyRebateBLL(); StringBuilder where = new StringBuilder(); where.AppendFormat("IsDeleted=0 and casecode='{0}'", viewModel.caseCode); DataSet ds = opSys_CompanyRebateBLL.GetList(where.ToString()); DataTable dt = null; if (ds != null && ds.Tables.Count > 0) { dt = ds.Tables[0]; } if (dt != null && dt.Rows.Count > 0) { DataRow dr = dt.Rows[0]; modelSys_CompanyRebate = opSys_CompanyRebateBLL.DataRowToModel(dr); if (modelSys_CompanyRebate != null) { /* * 总价=订单金额 * 总部毛利=总价*产品分成百分比(魔方提供 我方后台管理设置渠道各产品返回分成百分比) * 商家利润=总部毛利*商家返利百分比(我方后台管理设置渠各产品商家分成百分比) * 代理商利润=总部毛利*代理商返利百分比(我方后台管理设置渠各产品商家分成百分比) * 总部净利润=总部毛利-商家利润-代理商利润 */ decimal orderMoney = viewModel.TotalPrice; decimal hqRebate = modelSys_CompanyRebate.CompanyRebatePer; decimal hqMoney = orderMoney * (hqRebate / 100); decimal agentRebate = modelSys_CompanyRebate.AgentRebate; decimal agentMoney = hqMoney * (agentRebate / 100); decimal merchantRebate = modelSys_CompanyRebate.MerchantRebate; decimal merchantMoney = hqMoney * (merchantRebate / 100); decimal netProfit = hqMoney - agentMoney - merchantMoney; #region 订单返利信息入库 OrderRebateBLL opSys_OrderRebate = new OrderRebateBLL(); OrderRebate modelSys_OrderRebate = new OrderRebate(); modelSys_OrderRebate.TransNo = viewModel.transNo; modelSys_OrderRebate.CompanyId = 1; modelSys_OrderRebate.UserId = viewModel.orderApply.UserID; modelSys_OrderRebate.OrderApplyId = ApplyId; modelSys_OrderRebate.CompanyRebateId = modelSys_CompanyRebate.CompanyRebateId; modelSys_OrderRebate.OrderMoney = orderMoney; modelSys_OrderRebate.HQRebate = hqRebate; modelSys_OrderRebate.HQMoney = hqMoney; modelSys_OrderRebate.MerchantRebate = merchantRebate; modelSys_OrderRebate.MerchantMoney = merchantMoney; modelSys_OrderRebate.AgentRebate = agentRebate; modelSys_OrderRebate.AgentMoney = agentMoney; modelSys_OrderRebate.NetProfit = netProfit; modelSys_OrderRebate.PayStatus = 0; modelSys_OrderRebate.IsSettled = 0; modelSys_OrderRebate.IsCancel = 0; modelSys_OrderRebate.SettlementDate = null; modelSys_OrderRebate.CreateDate = DateTime.Now; modelSys_OrderRebate.Remark = modelSys_CompanyRebate.RebateName; modelSys_OrderRebate.IsDeleted = 0; int orderRebateId = opSys_OrderRebate.Add(modelSys_OrderRebate); if (orderRebateId < 0) { ExceptionLogBLL.WriteExceptionLogToDB("订单返利信息添加失败"); } #endregion #region 订单支付申请预先入库 OrderPayApplyBLL opSys_OrderPayApplyBLL = new OrderPayApplyBLL(); OrderPayApply modelSys_OrderPayApply = new OrderPayApply(); modelSys_OrderPayApply.OrderRebateId = orderRebateId; modelSys_OrderPayApply.OrderMoney = orderMoney; modelSys_OrderPayApply.PayOrderNumber = string.Empty; modelSys_OrderPayApply.PayStatus = 0; modelSys_OrderPayApply.PayPlatform = 1; modelSys_OrderPayApply.PayMethod = 1; modelSys_OrderPayApply.PayCode = string.Empty; modelSys_OrderPayApply.PayText = string.Empty; modelSys_OrderPayApply.PayJson = string.Empty; modelSys_OrderPayApply.CreateDate = DateTime.Now; modelSys_OrderPayApply.Remark = modelSys_CompanyRebate.RebateName; modelSys_OrderPayApply.IsDeleted = 0; int res1 = opSys_OrderPayApplyBLL.Add(modelSys_OrderPayApply); if (res1 < 0) { ExceptionLogBLL.WriteExceptionLogToDB("订单支付申请预先入库失败"); } #endregion } } else { ExceptionLogBLL.WriteExceptionLogToDB("获取渠道返利设置信息获取失败"); } } #endregion } } else { trans.Rollback(); } return(true); } catch (Exception ex) { ExceptionLogBLL.WriteExceptionLogToDB(ex.ToString()); return(false); } } } }