public CustomJsonResult Run() { CustomJsonResult result = new CustomJsonResult(); var merchantPosMachines = CurrentDb.MerchantPosMachine.Where(m => m.ExpiryTime < DateTime.Now).ToList(); Log.InfoFormat("到期的机器数量有:{0}", merchantPosMachines.Count); foreach (var merchantPosMachine in merchantPosMachines) { merchantPosMachine.Status = Enumeration.MerchantPosMachineStatus.Expiry; var orderToServiceFee = CurrentDb.OrderToServiceFee.Where(m => m.Status == Enumeration.OrderStatus.WaitPay && m.Type == Entity.Enumeration.OrderType.PosMachineServiceFee && m.UserId == merchantPosMachine.UserId && m.MerchantId == merchantPosMachine.MerchantId && m.PosMachineId == merchantPosMachine.PosMachineId).FirstOrDefault(); if (orderToServiceFee == null) { CalculateServiceFee calculateServiceFee = new CalculateServiceFee(); orderToServiceFee = new OrderToServiceFee(); orderToServiceFee.MerchantId = merchantPosMachine.MerchantId; orderToServiceFee.PosMachineId = merchantPosMachine.PosMachineId; orderToServiceFee.UserId = merchantPosMachine.UserId; orderToServiceFee.SubmitTime = this.DateTime; orderToServiceFee.Type = Enumeration.OrderType.PosMachineServiceFee; orderToServiceFee.TypeName = Enumeration.OrderType.PosMachineServiceFee.GetCnName(); orderToServiceFee.Deposit = 0; orderToServiceFee.MobileTrafficFee = calculateServiceFee.MobileTrafficFee; orderToServiceFee.PriceVersion = calculateServiceFee.Version; orderToServiceFee.Price = calculateServiceFee.MobileTrafficFee; orderToServiceFee.Status = Enumeration.OrderStatus.WaitPay; orderToServiceFee.CreateTime = this.DateTime; orderToServiceFee.Creator = 0; 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; Log.InfoFormat("生成待支付订单号:{0}", orderToServiceFee.Sn); } SysFactory.SysItemCacheUpdateTime.UpdateUser(orderToServiceFee.UserId); CurrentDb.SaveChanges(); } return(result); }
public OrderConfirmInfo GetOrderConfirmInfoByServiceFee(OrderToServiceFee orderToServiceFee) { OrderConfirmInfo yOrder = new OrderConfirmInfo(); orderToServiceFee.ExpiryTime = this.DateTime.AddYears(1); yOrder.OrderId = orderToServiceFee.Id; yOrder.OrderSn = orderToServiceFee.Sn; yOrder.remarks = orderToServiceFee.Remarks; yOrder.orderType = orderToServiceFee.Type; yOrder.orderTypeName = orderToServiceFee.Type.GetCnName(); //yOrder.confirmField.Add(new OrderField("订单编号", orderToServiceFee.Sn.NullToEmpty())); if (orderToServiceFee.Deposit > 0) { yOrder.confirmField.Add(new OrderField("押金", string.Format("{0}元", orderToServiceFee.Deposit.ToF2Price()))); } yOrder.confirmField.Add(new OrderField("流量费", string.Format("{0}元", orderToServiceFee.MobileTrafficFee.ToF2Price()))); yOrder.confirmField.Add(new OrderField("到期时间", orderToServiceFee.ExpiryTime.ToUnifiedFormatDate())); yOrder.confirmField.Add(new OrderField("支付金额", string.Format("{0}元", orderToServiceFee.Price.NullToEmpty()))); #region 支持的支付方式 int[] payMethods = new int[1] { 1 }; foreach (var payWayId in payMethods) { var payWay = new PayWay(); payWay.id = payWayId; yOrder.payMethod.Add(payWay); } #endregion return(yOrder); }
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); }