public CustomJsonResult ReturnPosMachine(int operater, MerchantPosMachine pMerchantPosMachine) { CustomJsonResult result = new CustomJsonResult(); //todo 什么条件允许注销 var merchantPosMachine = CurrentDb.MerchantPosMachine.Where(m => m.Id == pMerchantPosMachine.Id).FirstOrDefault(); if (merchantPosMachine != null) { return(new CustomJsonResult(ResultType.Failure, "找不到要注销的POS机")); } if (merchantPosMachine.Status == Enumeration.MerchantPosMachineStatus.Normal || merchantPosMachine.Status == Enumeration.MerchantPosMachineStatus.Rentdue) { return(new CustomJsonResult(ResultType.Failure, "该POS的状态不允许注销")); } //posMachine.CreateTime = this.DateTime; //posMachine.Creator = operater; //posMachine.IsUse = false; //CurrentDb.PosMachine.Add(posMachine); //CurrentDb.SaveChanges(); return(new CustomJsonResult(ResultType.Success, "登记成功")); }
public CustomJsonResult Run() { CustomJsonResult result = new CustomJsonResult(); int operater = 0; using (TransactionScope ts = new TransactionScope()) { var posMachines = CurrentDb.PosMachine.Where(m => m.IsUse == false).ToList(); Log.InfoFormat("准备生成商户账号{0}个", posMachines.Count()); for (int i = 0; i < posMachines.Count; i++) { var sysClientUser = new SysClientUser(); sysClientUser.UserName = Guid.NewGuid().ToString().Replace("-", ""); sysClientUser.PasswordHash = PassWordHelper.HashPassword("888888"); sysClientUser.SecurityStamp = Guid.NewGuid().ToString(); sysClientUser.RegisterTime = this.DateTime; sysClientUser.CreateTime = this.DateTime; sysClientUser.Creator = operater; sysClientUser.ClientAccountType = Enumeration.ClientAccountType.MasterAccount; sysClientUser.Status = Enumeration.UserStatus.Normal; CurrentDb.SysClientUser.Add(sysClientUser); CurrentDb.SaveChanges(); var clientCode = CurrentDb.SysClientCode.Where(m => m.Id == sysClientUser.Id).FirstOrDefault(); if (clientCode == null) { Log.WarnFormat("生成商户账号{0}个", i + 1); throw new Exception("客户代码已经用完,请马上生成客户代码"); } sysClientUser.ClientCode = clientCode.Code; sysClientUser.UserName = clientCode.Code; var merchant = new Merchant(); merchant.ClientCode = clientCode.Code; merchant.UserId = sysClientUser.Id; merchant.CreateTime = this.DateTime; merchant.Creator = operater; merchant.Status = Enumeration.MerchantStatus.WaitFill; CurrentDb.Merchant.Add(merchant); CurrentDb.SaveChanges(); sysClientUser.MerchantId = merchant.Id; posMachines[i].IsUse = true; posMachines[i].LastUpdateTime = this.DateTime; posMachines[i].Mender = operater; CurrentDb.SaveChanges(); var bankCard = new BankCard(); bankCard.MerchantId = merchant.Id; bankCard.UserId = merchant.UserId; bankCard.CreateTime = this.DateTime; bankCard.Creator = operater; CurrentDb.BankCard.Add(bankCard); CurrentDb.SaveChanges(); var merchantPosMachine = new MerchantPosMachine(); merchantPosMachine.PosMachineId = posMachines[i].Id; merchantPosMachine.BankCardId = bankCard.Id; merchantPosMachine.UserId = sysClientUser.Id; merchantPosMachine.MerchantId = merchant.Id; merchantPosMachine.Status = Enumeration.MerchantPosMachineStatus.NoActive; merchantPosMachine.CreateTime = this.DateTime; merchantPosMachine.Creator = operater; merchantPosMachine.Deposit = posMachines[i].Deposit; merchantPosMachine.Rent = posMachines[i].Rent; CurrentDb.MerchantPosMachine.Add(merchantPosMachine); CurrentDb.SaveChanges(); var fund = new Fund(); fund.UserId = sysClientUser.Id; fund.Arrearage = 0; fund.Balance = 0; fund.CreateTime = this.DateTime; fund.Creator = operater; fund.MerchantId = merchant.Id; CurrentDb.Fund.Add(fund); CurrentDb.SaveChanges(); var orderToDepositRent = new OrderToDepositRent(); orderToDepositRent.MerchantId = merchant.Id; orderToDepositRent.PosMachineId = posMachines[i].Id; orderToDepositRent.UserId = sysClientUser.Id; orderToDepositRent.CreateTime = this.DateTime; orderToDepositRent.Creator = 0; orderToDepositRent.SubmitTime = this.DateTime; orderToDepositRent.ProductType = Enumeration.ProductType.PosMachineDepositRent; orderToDepositRent.ProductName = Enumeration.ProductType.PosMachineDepositRent.GetCnName(); orderToDepositRent.ProductId = (int)Enumeration.ProductType.PosMachineDepositRent; orderToDepositRent.Deposit = posMachines[i].Deposit; CalculateRent calculateRent = new CalculateRent(merchantPosMachine.Rent); orderToDepositRent.RentMonths = 3; orderToDepositRent.MonthlyRent = calculateRent.MonthlyRent; orderToDepositRent.RentVersion = calculateRent.Version; orderToDepositRent.RentTotal = calculateRent.GetRent(orderToDepositRent.RentMonths); orderToDepositRent.Price = posMachines[i].Deposit + orderToDepositRent.RentTotal; orderToDepositRent.Status = Enumeration.OrderStatus.WaitPay; CurrentDb.OrderToDepositRent.Add(orderToDepositRent); CurrentDb.SaveChanges(); orderToDepositRent.Sn = Sn.Build(SnType.DepositRent, orderToDepositRent.Id); CurrentDb.SaveChanges(); Log.InfoFormat("生成商户账号:{0},对应POS机DeviceId:{1}", clientCode.Code, posMachines[i].DeviceId); } ts.Complete(); Log.InfoFormat("生成商户账号{0}个", posMachines.Count()); } return(result); }
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); }
public CustomJsonResult OpenAccount(int operater, Merchant merchant, MerchantPosMachine merchantPosMachine, BankCard bankCard) { CustomJsonResult result = new CustomJsonResult(); using (TransactionScope ts = new TransactionScope()) { var sysClientUser = new SysClientUser(); sysClientUser.UserName = Guid.NewGuid().ToString().Replace("-", ""); sysClientUser.PasswordHash = PassWordHelper.HashPassword("888888"); sysClientUser.SecurityStamp = Guid.NewGuid().ToString(); sysClientUser.RegisterTime = this.DateTime; sysClientUser.CreateTime = this.DateTime; sysClientUser.Creator = operater; sysClientUser.ClientAccountType = Enumeration.ClientAccountType.MasterAccount; sysClientUser.Status = Enumeration.UserStatus.Normal; CurrentDb.SysClientUser.Add(sysClientUser); CurrentDb.SaveChanges(); var clientCode = CurrentDb.SysClientCode.Where(m => m.Id == sysClientUser.Id).FirstOrDefault(); if (clientCode == null) { return(new CustomJsonResult(ResultType.Failure, "开户失败,原因获取不到商户代码 ")); } sysClientUser.ClientCode = clientCode.Code; sysClientUser.UserName = clientCode.Code; merchant.ClientCode = clientCode.Code; merchant.UserId = sysClientUser.Id; if (string.IsNullOrEmpty(merchant.Area)) { merchant.Area = null; merchant.AreaCode = null; } merchant.CreateTime = this.DateTime; merchant.Creator = operater; merchant.Status = Enumeration.MerchantStatus.WaitFill; CurrentDb.Merchant.Add(merchant); CurrentDb.SaveChanges(); sysClientUser.MerchantId = merchant.Id; var posMachine = CurrentDb.PosMachine.Where(m => m.Id == merchantPosMachine.PosMachineId).FirstOrDefault(); if (posMachine == null) { return(new CustomJsonResult(ResultType.Failure, "开户失败,找不到POS机")); } if (posMachine.IsUse) { return(new CustomJsonResult(ResultType.Failure, "开户失败,POS机已经被使用")); } posMachine.IsUse = true; posMachine.LastUpdateTime = this.DateTime; posMachine.Mender = operater; CurrentDb.SaveChanges(); bankCard.MerchantId = merchant.Id; bankCard.UserId = merchant.UserId; bankCard.CreateTime = this.DateTime; bankCard.Creator = operater; CurrentDb.BankCard.Add(bankCard); CurrentDb.SaveChanges(); merchantPosMachine.BankCardId = bankCard.Id; merchantPosMachine.UserId = sysClientUser.Id; merchantPosMachine.MerchantId = merchant.Id; merchantPosMachine.Status = Enumeration.MerchantPosMachineStatus.NoActive; merchantPosMachine.CreateTime = this.DateTime; merchantPosMachine.Creator = operater; merchantPosMachine.Deposit = posMachine.Deposit; merchantPosMachine.Rent = posMachine.Rent; CurrentDb.MerchantPosMachine.Add(merchantPosMachine); Fund fund = new Fund(); fund.UserId = sysClientUser.Id; fund.Arrearage = 0; fund.Balance = 0; fund.CreateTime = this.DateTime; fund.Creator = operater; fund.MerchantId = merchant.Id; CurrentDb.Fund.Add(fund); //暂定在这里开启 BizFactory.BizProcessesAudit.Add(operater, Enumeration.BizProcessesAuditType.MerchantAudit, merchant.Id, Enumeration.MerchantAuditStatus.WaitPrimaryAudit, ""); CurrentDb.SaveChanges(); ts.Complete(); result = new CustomJsonResult(ResultType.Success, "开户成功"); } return(result); }
public CustomJsonResult CreateAccount(int operater, string token, string validCode, string userName, string password, string deviceId) { CustomJsonResult result = new CustomJsonResult(); using (TransactionScope ts = new TransactionScope()) { var code = CurrentDb.SysSmsSendHistory.Where(m => m.Token == token && m.ValidCode == validCode && m.IsUse == false && m.ExpireTime >= DateTime.Now).FirstOrDefault(); if (code == null) { return(new CustomJsonResult(ResultType.Failure, "验证码错误")); } code.IsUse = true; var isExists = CurrentDb.SysUser.Where(m => m.UserName == userName).FirstOrDefault(); if (isExists != null) { return(new CustomJsonResult(ResultType.Failure, "账号已经存在")); } var sysClientUser = new SysClientUser(); sysClientUser.UserName = userName; sysClientUser.PhoneNumber = userName; sysClientUser.PasswordHash = PassWordHelper.HashPassword(password); sysClientUser.SecurityStamp = Guid.NewGuid().ToString(); sysClientUser.RegisterTime = this.DateTime; sysClientUser.CreateTime = this.DateTime; sysClientUser.Creator = operater; sysClientUser.ClientAccountType = Enumeration.ClientAccountType.MasterAccount; sysClientUser.Status = Enumeration.UserStatus.Normal; sysClientUser.Type = Enumeration.UserType.Client; CurrentDb.SysClientUser.Add(sysClientUser); CurrentDb.SaveChanges(); var clientCode = CurrentDb.SysClientCode.Where(m => m.Id == sysClientUser.Id).FirstOrDefault(); var merchant = new Merchant(); merchant.ClientCode = clientCode.Code; merchant.UserId = sysClientUser.Id; merchant.CreateTime = this.DateTime; merchant.Creator = operater; merchant.Status = Enumeration.MerchantStatus.WaitFill; CurrentDb.Merchant.Add(merchant); CurrentDb.SaveChanges(); sysClientUser.ClientCode = clientCode.Code; sysClientUser.MerchantId = merchant.Id; var posMachine = CurrentDb.PosMachine.Where(m => m.DeviceId == deviceId).FirstOrDefault(); if (posMachine == null) { return(new CustomJsonResult(ResultType.Failure, "POS机未登记,请联系客服")); //posMachine = new PosMachine(); //posMachine.DeviceId = deviceId; //posMachine.Creator = operater; //posMachine.CreateTime = this.DateTime; //CurrentDb.PosMachine.Add(posMachine); //CurrentDb.SaveChanges(); } else { if (posMachine.IsUse) { return(new CustomJsonResult(ResultType.Failure, "POS机已被注册")); } if (posMachine.SalesmanId == null) { return(new CustomJsonResult(ResultType.Failure, "POS机未出库,请联系客服")); } posMachine.IsUse = false; posMachine.Mender = operater; posMachine.LastUpdateTime = this.DateTime; CurrentDb.SaveChanges(); } var bankCard = new BankCard(); bankCard.MerchantId = merchant.Id; bankCard.UserId = merchant.UserId; bankCard.CreateTime = this.DateTime; bankCard.Creator = operater; CurrentDb.BankCard.Add(bankCard); CurrentDb.SaveChanges(); CalculateServiceFee calculateServiceFee = new CalculateServiceFee(); var merchantPosMachine = new MerchantPosMachine(); merchantPosMachine.BankCardId = bankCard.Id; merchantPosMachine.UserId = sysClientUser.Id; merchantPosMachine.MerchantId = merchant.Id; merchantPosMachine.PosMachineId = posMachine.Id; merchantPosMachine.Deposit = calculateServiceFee.Deposit; merchantPosMachine.MobileTrafficFee = calculateServiceFee.MobileTrafficFee; merchantPosMachine.Status = Enumeration.MerchantPosMachineStatus.NoActive; merchantPosMachine.CreateTime = this.DateTime; merchantPosMachine.Creator = operater; CurrentDb.MerchantPosMachine.Add(merchantPosMachine); CurrentDb.SaveChanges(); var orderToServiceFee = new OrderToServiceFee(); orderToServiceFee.MerchantId = merchant.Id; orderToServiceFee.PosMachineId = posMachine.Id; orderToServiceFee.UserId = sysClientUser.Id; orderToServiceFee.SubmitTime = this.DateTime; orderToServiceFee.Type = Enumeration.OrderType.PosMachineServiceFee; orderToServiceFee.TypeName = Enumeration.OrderType.PosMachineServiceFee.GetCnName(); orderToServiceFee.Deposit = calculateServiceFee.Deposit; orderToServiceFee.MobileTrafficFee = calculateServiceFee.MobileTrafficFee; orderToServiceFee.PriceVersion = calculateServiceFee.Version; orderToServiceFee.Price = calculateServiceFee.Deposit + calculateServiceFee.MobileTrafficFee; orderToServiceFee.Status = Enumeration.OrderStatus.WaitPay; orderToServiceFee.CreateTime = this.DateTime; orderToServiceFee.Creator = operater; CurrentDb.OrderToServiceFee.Add(orderToServiceFee); CurrentDb.SaveChanges(); SnModel snModel = Sn.Build(SnType.OrderToServiceFee, orderToServiceFee.Id); orderToServiceFee.Sn = snModel.Sn; orderToServiceFee.TradeSnByWechat = snModel.TradeSnByWechat; orderToServiceFee.TradeSnByAlipay = snModel.TradeSnByAlipay; var sysItemCacheUpdateTime = new SysItemCacheUpdateTime(); sysItemCacheUpdateTime.Name = sysClientUser.UserName; sysItemCacheUpdateTime.Type = Enumeration.SysItemCacheType.User; sysItemCacheUpdateTime.ReferenceId = sysClientUser.Id; sysItemCacheUpdateTime.Creator = operater; sysItemCacheUpdateTime.CreateTime = this.DateTime; sysItemCacheUpdateTime.Mender = operater; sysItemCacheUpdateTime.LastUpdateTime = this.DateTime; CurrentDb.SysItemCacheUpdateTime.Add(sysItemCacheUpdateTime); CurrentDb.SaveChanges(); var fund = new Fund(); fund.UserId = sysClientUser.Id; fund.MerchantId = merchant.Id; fund.Balance = 0; fund.Creator = operater; fund.CreateTime = this.DateTime; CurrentDb.Fund.Add(fund); CurrentDb.SaveChanges(); var lllegalQueryScore = new LllegalQueryScore(); lllegalQueryScore.UserId = sysClientUser.Id; lllegalQueryScore.MerchantId = merchant.Id; lllegalQueryScore.Score = 50; lllegalQueryScore.Creator = operater; lllegalQueryScore.CreateTime = this.DateTime; CurrentDb.LllegalQueryScore.Add(lllegalQueryScore); CurrentDb.SaveChanges(); var lllegalQueryScoreTrans = new LllegalQueryScoreTrans(); lllegalQueryScoreTrans.UserId = sysClientUser.Id; lllegalQueryScoreTrans.ChangeScore = lllegalQueryScore.Score; lllegalQueryScoreTrans.Score = lllegalQueryScore.Score; lllegalQueryScoreTrans.Type = Enumeration.LllegalQueryScoreTransType.IncreaseByInit; lllegalQueryScoreTrans.Description = string.Format("初始违章查询积分:{0}", lllegalQueryScore.Score); lllegalQueryScoreTrans.Creator = operater; lllegalQueryScoreTrans.CreateTime = this.DateTime; CurrentDb.LllegalQueryScoreTrans.Add(lllegalQueryScoreTrans); CurrentDb.SaveChanges(); lllegalQueryScoreTrans.Sn = Sn.Build(SnType.LllegalQueryScoreTrans, lllegalQueryScoreTrans.Id).Sn; CurrentDb.SaveChanges(); ts.Complete(); result = new CustomJsonResult(ResultType.Success, "注册成功"); } return(result); }