public YbsMerchantModel GetCarInsureMerchantInfo(int insuranceCompanyId, string merchant_id = null, string ybs_mer_code = null) { YbsMerchantModel model = new YbsMerchantModel(); model.merchant_id = merchant_id; model.ybs_mer_code = ybs_mer_code; return(model); }
//todo 正式环境要配置 public YbsMerchantModel GetCarClaimMerchantInfo() { YbsMerchantModel model = new YbsMerchantModel(); model.merchant_id = "861440360120020"; model.ybs_mer_code = "000574"; return(model); }
//todo 正式环境要配置 public YbsMerchantModel GetDepositRentMerchantInfo() { YbsMerchantModel model = new YbsMerchantModel(); model.merchant_id = "861440360120020"; model.ybs_mer_code = "000573"; return(model); }
public CustomJsonResult Confirm(int operater, PayConfirmModel model) { CustomJsonResult result = new CustomJsonResult(); using (TransactionScope ts = new TransactionScope()) { YiBanShiPayOrder yOrder = new YiBanShiPayOrder(); YiBanShiOrderInfo yOrderInfo = new YiBanShiOrderInfo(); MerchantPosMachine merchantPosMachine = null; CalculateRent calculateRent = null; YbsMerchantModel ybs_mer = null; switch (model.ProductType) { case Enumeration.ProductType.InsureForCarForInsure: case Enumeration.ProductType.InsureForCarForRenewal: #region 投保和续保 var orderToCarInsure = CurrentDb.OrderToCarInsure.Where(m => m.Sn == model.OrderSn).FirstOrDefault(); var payCarInsureConfirmParams = Newtonsoft.Json.JsonConvert.DeserializeObject <PayCarInsureConfirmParams>(model.Params.ToString()); var orderToCarInsureOfferCompany = CurrentDb.OrderToCarInsureOfferCompany.Where(m => m.Id == payCarInsureConfirmParams.OfferId).FirstOrDefault(); orderToCarInsure.InsuranceCompanyId = orderToCarInsureOfferCompany.InsuranceCompanyId; orderToCarInsure.InsureImgUrl = orderToCarInsureOfferCompany.InsureImgUrl; orderToCarInsure.InsuranceCompanyName = orderToCarInsureOfferCompany.InsuranceCompanyName; orderToCarInsure.InsuranceOrderId = orderToCarInsureOfferCompany.InsuranceOrderId; orderToCarInsure.CommercialPrice = orderToCarInsureOfferCompany.CommercialPrice == null ? 0 : orderToCarInsureOfferCompany.CommercialPrice.Value; orderToCarInsure.TravelTaxPrice = orderToCarInsureOfferCompany.TravelTaxPrice == null ? 0 : orderToCarInsureOfferCompany.TravelTaxPrice.Value; orderToCarInsure.CompulsoryPrice = orderToCarInsureOfferCompany.CompulsoryPrice == null ? 0 : orderToCarInsureOfferCompany.CompulsoryPrice.Value; orderToCarInsure.ShippingAddress = payCarInsureConfirmParams.ShippingAddress; orderToCarInsure.Price = orderToCarInsureOfferCompany.InsureTotalPrice.Value; CurrentDb.SaveChanges(); var insuranceCompany = CurrentDb.InsuranceCompany.Where(m => m.Id == orderToCarInsureOfferCompany.InsuranceCompanyId).FirstOrDefault(); yOrder.prodcut = orderToCarInsure.ProductName; yOrder.transName = "消费"; yOrder.amount = orderToCarInsure.Price.ToF2Price().Replace(".", "").PadLeft(12, '0'); yOrder.confirmField.Add(new OrderField("订单编号", orderToCarInsure.Sn.NullToEmpty())); yOrder.confirmField.Add(new OrderField("保险公司", orderToCarInsure.InsuranceCompanyName.NullToEmpty())); yOrder.confirmField.Add(new OrderField("车主姓名", orderToCarInsure.CarOwner.NullToEmpty())); yOrder.confirmField.Add(new OrderField("车牌号码", orderToCarInsure.CarPlateNo.NullToEmpty())); yOrder.confirmField.Add(new OrderField("支付金额", string.Format("{0}元", orderToCarInsure.Price.ToF2Price()))); yOrderInfo.order_no = orderToCarInsure.Sn.NullToEmpty(); yOrderInfo.insurance_company = orderToCarInsure.InsuranceCompanyName.NullToEmpty(); yOrderInfo.insurance_type = ""; yOrderInfo.customer_id_type = "01"; yOrderInfo.customer_id = orderToCarInsure.CarOwnerIdNumber.NullToEmpty(); yOrderInfo.customer_sex = ""; yOrderInfo.customer_name = orderToCarInsure.CarOwner.NullToEmpty(); yOrderInfo.customer_mobile_no = ""; yOrderInfo.customer_birthdate = ""; yOrderInfo.insurance_order_no = orderToCarInsure.InsuranceOrderId.NullToEmpty(); yOrderInfo.car_type = orderToCarInsure.CarVechicheType.NullToEmpty(); yOrderInfo.car_license = orderToCarInsure.CarPlateNo.NullToEmpty(); yOrderInfo.car_frame_no = ""; yOrderInfo.payer_id_type = ""; yOrderInfo.payer_id = ""; yOrderInfo.payer_name = ""; yOrderInfo.payer_mobile_no = ""; yOrderInfo.payer_address = ""; ybs_mer = BizFactory.Ybs.GetCarInsureMerchantInfo(insuranceCompany.Id, insuranceCompany.YBS_MerchantId, insuranceCompany.YBS_MerchantCode); yOrderInfo.ybs_mer_code = ybs_mer.ybs_mer_code; yOrderInfo.merchant_id = ybs_mer.merchant_id; yOrderInfo.merchant_name = ""; yOrderInfo.phone_no = ""; yOrderInfo.cashier_id = ""; yOrderInfo.teller_id = "45567";//暂定 yOrder.orderInfo = yOrderInfo; result = new CustomJsonResult(ResultType.Success, ResultCode.Success, "确认成功", yOrder); #endregion break; case Enumeration.ProductType.InsureForCarForClaim: #region 理赔 var orderToCarClaim = CurrentDb.OrderToCarClaim.Where(m => m.Sn == model.OrderSn).FirstOrDefault(); yOrder.prodcut = orderToCarClaim.ProductName; yOrder.transName = "消费"; yOrder.amount = orderToCarClaim.Price.ToF2Price().Replace(".", "").PadLeft(12, '0'); yOrder.confirmField.Add(new OrderField("订单编号", orderToCarClaim.Sn.NullToEmpty())); yOrder.confirmField.Add(new OrderField("保险公司", orderToCarClaim.InsuranceCompanyName)); yOrder.confirmField.Add(new OrderField("车牌号码", orderToCarClaim.CarPlateNo)); yOrder.confirmField.Add(new OrderField("支付金额", string.Format("{0}元", orderToCarClaim.Price.NullToEmpty()))); yOrderInfo.order_no = orderToCarClaim.Sn; yOrderInfo.customer_id_type = ""; yOrderInfo.customer_id = ""; yOrderInfo.customer_sex = ""; yOrderInfo.customer_name = ""; yOrderInfo.customer_mobile_no = ""; yOrderInfo.customer_birthdate = ""; yOrderInfo.payer_id_type = ""; yOrderInfo.payer_id = ""; yOrderInfo.payer_name = ""; yOrderInfo.payer_mobile_no = ""; yOrderInfo.payer_address = ""; ybs_mer = BizFactory.Ybs.GetCarClaimMerchantInfo(); yOrderInfo.ybs_mer_code = ybs_mer.ybs_mer_code; yOrderInfo.merchant_id = ybs_mer.merchant_id; yOrderInfo.merchant_name = ""; yOrderInfo.phone_no = ""; yOrderInfo.cashier_id = ""; yOrderInfo.teller_id = ""; yOrder.orderInfo = yOrderInfo; result = new CustomJsonResult(ResultType.Success, ResultCode.Success, "确认成功", yOrder); #endregion break; case Enumeration.ProductType.PosMachineDepositRent: #region 押金租金 var payDepositRentParams = Newtonsoft.Json.JsonConvert.DeserializeObject <PayDepositRentConfirmParams>(model.Params.ToString()); var orderToDepositRent = CurrentDb.OrderToDepositRent.Where(m => m.Sn == model.OrderSn).FirstOrDefault(); merchantPosMachine = CurrentDb.MerchantPosMachine.Where(m => m.MerchantId == orderToDepositRent.MerchantId && m.PosMachineId == orderToDepositRent.PosMachineId).FirstOrDefault(); calculateRent = new CalculateRent(merchantPosMachine.Rent); orderToDepositRent.MonthlyRent = calculateRent.MonthlyRent; orderToDepositRent.RentMonths = payDepositRentParams.RentMonths; orderToDepositRent.RentTotal = calculateRent.GetRent(payDepositRentParams.RentMonths); orderToDepositRent.RentVersion = calculateRent.Version; orderToDepositRent.Price = orderToDepositRent.Deposit + orderToDepositRent.RentTotal; orderToDepositRent.RentDueDate = this.DateTime.AddMonths(payDepositRentParams.RentMonths); yOrder.prodcut = orderToDepositRent.ProductName; yOrder.transName = "消费"; yOrder.amount = orderToDepositRent.Price.ToF2Price().Replace(".", "").PadLeft(12, '0'); yOrder.confirmField.Add(new OrderField("订单编号", orderToDepositRent.Sn.NullToEmpty())); yOrder.confirmField.Add(new OrderField("押金", string.Format("{0}元", orderToDepositRent.Deposit.ToF2Price()))); yOrder.confirmField.Add(new OrderField("租金", string.Format("{0}元", orderToDepositRent.RentTotal.ToF2Price()))); yOrder.confirmField.Add(new OrderField("到期时间", orderToDepositRent.RentDueDate.ToUnifiedFormatDate())); yOrder.confirmField.Add(new OrderField("支付金额", string.Format("{0}元", orderToDepositRent.Price.NullToEmpty()))); yOrderInfo.order_no = orderToDepositRent.Sn; yOrderInfo.customer_id_type = ""; yOrderInfo.customer_id = ""; yOrderInfo.customer_sex = ""; yOrderInfo.customer_name = ""; yOrderInfo.customer_mobile_no = ""; yOrderInfo.customer_birthdate = ""; yOrderInfo.payer_id_type = ""; yOrderInfo.payer_id = ""; yOrderInfo.payer_name = ""; yOrderInfo.payer_mobile_no = ""; yOrderInfo.payer_address = ""; ybs_mer = BizFactory.Ybs.GetDepositRentMerchantInfo(); yOrderInfo.ybs_mer_code = ybs_mer.ybs_mer_code; yOrderInfo.merchant_id = ybs_mer.merchant_id; yOrderInfo.merchant_name = ""; yOrderInfo.phone_no = ""; yOrderInfo.cashier_id = ""; yOrderInfo.teller_id = ""; yOrder.orderInfo = yOrderInfo; result = new CustomJsonResult(ResultType.Success, ResultCode.Success, "确认成功", yOrder); #endregion break; case Enumeration.ProductType.PosMachineRent: #region 租金 var orderToRent = CurrentDb.OrderToDepositRent.Where(m => m.Sn == model.OrderSn).FirstOrDefault(); var payRentParams = Newtonsoft.Json.JsonConvert.DeserializeObject <PayDepositRentConfirmParams>(model.Params.ToString()); merchantPosMachine = CurrentDb.MerchantPosMachine.Where(m => m.MerchantId == orderToRent.MerchantId && m.PosMachineId == orderToRent.PosMachineId).FirstOrDefault(); calculateRent = new CalculateRent(merchantPosMachine.Rent); orderToRent.MonthlyRent = calculateRent.MonthlyRent; orderToRent.RentMonths = payRentParams.RentMonths; orderToRent.RentTotal = calculateRent.GetRent(payRentParams.RentMonths); orderToRent.RentVersion = calculateRent.Version; orderToRent.Price = orderToRent.Deposit + orderToRent.RentTotal; orderToRent.RentDueDate = merchantPosMachine.RentDueDate.Value.AddMonths(payRentParams.RentMonths); yOrderInfo.order_no = orderToRent.Sn; yOrder.transName = "消费"; yOrder.amount = orderToRent.Price.ToF2Price().Replace(".", "").PadLeft(12, '0'); yOrder.confirmField.Add(new OrderField("订单编号", orderToRent.Sn.NullToEmpty())); yOrder.confirmField.Add(new OrderField("租金", string.Format("{0}元", orderToRent.RentTotal.ToF2Price()))); yOrder.confirmField.Add(new OrderField("续期", string.Format("{0}个月", payRentParams.RentMonths))); yOrder.confirmField.Add(new OrderField("到期时间", orderToRent.RentDueDate.ToUnifiedFormatDate())); yOrder.confirmField.Add(new OrderField("支付金额", string.Format("{0}元", orderToRent.Price.NullToEmpty()))); yOrderInfo.order_no = orderToRent.Sn; yOrderInfo.customer_id_type = ""; yOrderInfo.customer_id = ""; yOrderInfo.customer_sex = ""; yOrderInfo.customer_name = ""; yOrderInfo.customer_mobile_no = ""; yOrderInfo.customer_birthdate = ""; yOrderInfo.payer_id_type = ""; yOrderInfo.payer_id = ""; yOrderInfo.payer_name = ""; yOrderInfo.payer_mobile_no = ""; yOrderInfo.payer_address = ""; ybs_mer = BizFactory.Ybs.GetDepositRentMerchantInfo(); yOrderInfo.ybs_mer_code = ybs_mer.ybs_mer_code; yOrderInfo.merchant_id = ybs_mer.merchant_id; yOrderInfo.merchant_name = ""; yOrderInfo.phone_no = ""; yOrderInfo.cashier_id = ""; yOrderInfo.teller_id = ""; yOrder.orderInfo = yOrderInfo; result = new CustomJsonResult(ResultType.Success, ResultCode.Success, "确认成功", yOrder); #endregion break; } CurrentDb.SaveChanges(); ts.Complete(); } return(result); }