private CustomJsonResult PayLllegalQueryRechargeCompleted(int operater, string orderSn) { CustomJsonResult result = new CustomJsonResult(); using (TransactionScope ts = new TransactionScope()) { var orderToLllegalQueryRecharge = CurrentDb.OrderToLllegalQueryRecharge.Where(m => m.Sn == orderSn).FirstOrDefault(); if (orderToLllegalQueryRecharge == null) { ts.Complete(); return(new CustomJsonResult(ResultType.Success, ResultCode.Success, "找不到订单号")); } if (orderToLllegalQueryRecharge.Status == Enumeration.OrderStatus.Completed) { ts.Complete(); return(new CustomJsonResult(ResultType.Success, ResultCode.Success, "该订单已经支付完成")); } if (orderToLllegalQueryRecharge.Status != Enumeration.OrderStatus.WaitPay) { ts.Complete(); return(new CustomJsonResult(ResultType.Failure, ResultCode.Failure, "该订单未在就绪支付状态")); } orderToLllegalQueryRecharge.Status = Enumeration.OrderStatus.Completed; orderToLllegalQueryRecharge.PayTime = this.DateTime; orderToLllegalQueryRecharge.CompleteTime = this.DateTime; orderToLllegalQueryRecharge.LastUpdateTime = this.DateTime; orderToLllegalQueryRecharge.Mender = operater; var haoYiLianFund = CurrentDb.Fund.Where(m => m.UserId == (int)Enumeration.UserAccount.HaoYiLian).FirstOrDefault(); haoYiLianFund.Balance += orderToLllegalQueryRecharge.Price; haoYiLianFund.Mender = operater; haoYiLianFund.LastUpdateTime = this.DateTime; var haoYiLianFundTrans = new FundTrans(); haoYiLianFundTrans.UserId = haoYiLianFund.UserId; haoYiLianFundTrans.ChangeAmount = orderToLllegalQueryRecharge.Price; haoYiLianFundTrans.Balance = haoYiLianFund.Balance; haoYiLianFundTrans.Type = Enumeration.TransactionsType.LllegalQueryRecharg; haoYiLianFundTrans.Description = string.Format("订单号:{0},充值违章查询积分:{1}元", orderSn, orderToLllegalQueryRecharge.Price); haoYiLianFundTrans.Creator = operater; haoYiLianFundTrans.CreateTime = this.DateTime; CurrentDb.FundTrans.Add(haoYiLianFundTrans); CurrentDb.SaveChanges(); haoYiLianFundTrans.Sn = Sn.Build(SnType.FundTrans, haoYiLianFundTrans.Id).Sn; CurrentDb.SaveChanges(); var lllegalQueryScore = CurrentDb.LllegalQueryScore.Where(m => m.UserId == orderToLllegalQueryRecharge.UserId && m.MerchantId == orderToLllegalQueryRecharge.MerchantId).FirstOrDefault(); lllegalQueryScore.Score += orderToLllegalQueryRecharge.Score; lllegalQueryScore.Mender = operater; lllegalQueryScore.LastUpdateTime = this.DateTime; CurrentDb.SaveChanges(); var lllegalQueryScoreTrans = new LllegalQueryScoreTrans(); lllegalQueryScoreTrans.UserId = orderToLllegalQueryRecharge.UserId; lllegalQueryScoreTrans.ChangeScore = orderToLllegalQueryRecharge.Score; lllegalQueryScoreTrans.Score = lllegalQueryScore.Score; lllegalQueryScoreTrans.Type = Enumeration.LllegalQueryScoreTransType.IncreaseByRecharge; lllegalQueryScoreTrans.Description = string.Format("充值{0}元,得到违章查询积分:{1}", orderToLllegalQueryRecharge.Price.ToF2Price(), orderToLllegalQueryRecharge.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(); var score = new { score = lllegalQueryScore.Score }; result = new CustomJsonResult(ResultType.Success, ResultCode.Success, "该订单支付结果反馈成功", score); } return(result); }
public CustomJsonResult <LllegalQueryResult> Query(int operater, LllegalQueryParams pms) { CustomJsonResult <LllegalQueryResult> result = new CustomJsonResult <LllegalQueryResult>(); using (TransactionScope ts = new TransactionScope()) { if (pms.EnginNo.Length < 6) { return(new CustomJsonResult <LllegalQueryResult>(ResultType.Failure, ResultCode.Failure, "请输入发动机号后6位", null)); } if (pms.RackNo.Length < 6) { return(new CustomJsonResult <LllegalQueryResult>(ResultType.Failure, ResultCode.Failure, "请输入车架号后6位", null)); } var lllegalQueryScore = CurrentDb.LllegalQueryScore.Where(m => m.UserId == pms.UserId && m.MerchantId == pms.MerchantId).FirstOrDefault(); if (lllegalQueryScore.Score == 0) { return(new CustomJsonResult <LllegalQueryResult>(ResultType.Failure, ResultCode.LllegalQueryNotEnoughScore, "当前的查询积分为0,请充值积分", null)); } pms.CarNo = pms.CarNo.ToUpper(); pms.EnginNo = pms.EnginNo.ToUpper(); pms.RackNo = pms.RackNo.ToUpper(); List <DataLllegal> dataLllegal = new List <DataLllegal>(); CarQueryDataList_Params p = new CarQueryDataList_Params(); p.carNo = pms.CarNo; p.enginNo = pms.EnginNo; p.rackNo = pms.RackNo; p.isCompany = pms.IsCompany; p.carType = pms.CarType; var api_result = HeLianApi.CarQueryDataList(p); if (api_result.resultCode != "0") { return(new CustomJsonResult <LllegalQueryResult>(ResultType.Failure, ResultCode.Failure, api_result.resultMsg, null)); } List <LllegalRecord> lllegalRecords = new List <LllegalRecord>(); var d = api_result.data; if (d != null) { foreach (var m in d) { DataLllegal dl = new DataLllegal(); dl.bookNo = m.bookNo; dl.bookType = m.bookType; dl.cityCode = m.cityCode; dl.lllegalCode = m.lllegalCode; dl.lllegalTime = m.lllegalTime; dl.point = m.point; dl.fine = m.fine; dl.lllegalAddress = m.address; dataLllegal.Add(dl); LllegalRecord lllegalRecord = new LllegalRecord(); lllegalRecord.bookNo = m.bookNo; lllegalRecord.bookType = m.bookType; lllegalRecord.bookTypeName = GetBookTypeName(m.bookType); lllegalRecord.offerType = m.offerType; lllegalRecord.ofserTypeName = GetOfferTypeName(m.offerType); lllegalRecord.lllegalDesc = m.lllegalDesc; lllegalRecord.cityCode = m.cityCode; lllegalRecord.lllegalCode = m.lllegalCode; lllegalRecord.lllegalCity = m.lllegalCity; lllegalRecord.lllegalTime = m.lllegalTime; lllegalRecord.point = m.point; lllegalRecord.fine = m.fine; if (lllegalRecord.point == 0) { lllegalRecord.serviceFee = m.serviceFee + 3;//非扣分单 } else { lllegalRecord.serviceFee = m.serviceFee; } lllegalRecord.serviceFee = m.serviceFee; lllegalRecord.address = m.address; lllegalRecord.content = m.content; lllegalRecord.late_fees = m.late_fees; lllegalRecords.Add(lllegalRecord); } } CarQueryGetLllegalPrice_Params p1 = new CarQueryGetLllegalPrice_Params(); p1.carNo = pms.CarNo; p1.enginNo = pms.EnginNo; p1.rackNo = pms.RackNo; p1.isCompany = pms.IsCompany; p1.carType = pms.CarType; p1.dataLllegal = dataLllegal; var queryResult = new LllegalQueryResult(); queryResult.IsOfferPrice = pms.IsOfferPrice == "true" ? true : false; queryResult.CarNo = pms.CarNo; string msg = ""; if (queryResult.IsOfferPrice) { var api_result1 = HeLianApi.CarQueryGetLllegalPrice(p1); if (api_result1.resultCode != "0") { return(new CustomJsonResult <LllegalQueryResult>(ResultType.Failure, ResultCode.Failure, api_result1.resultMsg, null)); } msg = api_result1.resultMsg; var d1 = api_result1.data; if (d1 != null) { foreach (var record in lllegalRecords) { var priceresult = d1.Where(m => m.bookNo == record.bookNo).FirstOrDefault(); if (priceresult != null) { record.serviceFee = priceresult.serviceFee; record.fine = priceresult.fine; record.late_fees = priceresult.fine; } record.status = "待处理"; if (record.point == 0) { record.canDealt = true; } else { record.canDealt = false; } var details = CurrentDb.OrderToLllegalDealtDetails.Where(m => m.BookNo == record.bookNo).ToList(); if (details != null) { var hasDealt = details.Where(m => m.Status == Enumeration.OrderToLllegalDealtDetailsStatus.InDealt).Count(); var hasCompleted = details.Where(m => m.Status == Enumeration.OrderToLllegalDealtDetailsStatus.Completed).Count(); if (hasDealt > 0) { record.status = "处理中"; record.canDealt = false; } if (hasCompleted > 0) { record.status = "完成"; record.canDealt = false; } } } } } queryResult.DealtTip = "扣分单需处理,请咨询客服"; queryResult.SumCount = lllegalRecords.Count().ToString(); queryResult.SumFine = lllegalRecords.Sum(m => m.fine).ToString(); queryResult.SumPoint = lllegalRecords.Sum(m => m.point).ToString(); var lllegalQueryLog = new LllegalQueryLog(); lllegalQueryLog.UserId = pms.UserId; lllegalQueryLog.MerchantId = pms.MerchantId; lllegalQueryLog.CarNo = pms.CarNo; lllegalQueryLog.EnginNo = pms.EnginNo; lllegalQueryLog.RackNo = pms.RackNo; lllegalQueryLog.IsCompany = pms.IsCompany; lllegalQueryLog.CarType = pms.CarType; lllegalQueryLog.Result = Newtonsoft.Json.JsonConvert.SerializeObject(lllegalRecords); lllegalQueryLog.Creator = operater; lllegalQueryLog.CreateTime = this.DateTime; CurrentDb.LllegalQueryLog.Add(lllegalQueryLog); var changeScore = -1; lllegalQueryScore.Score += changeScore; lllegalQueryScore.Mender = operater; lllegalQueryScore.LastUpdateTime = this.DateTime; var lllegalQueryScoreTrans = new LllegalQueryScoreTrans(); lllegalQueryScoreTrans.UserId = pms.UserId; lllegalQueryScoreTrans.ChangeScore = changeScore; lllegalQueryScoreTrans.Score = lllegalQueryScore.Score; lllegalQueryScoreTrans.Type = Enumeration.LllegalQueryScoreTransType.DecreaseByQuery; lllegalQueryScoreTrans.Description = string.Format("查询违章扣除积分:{0}", changeScore); 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(); queryResult.QueryScore = lllegalQueryScore.Score; queryResult.Record = lllegalRecords; result = new CustomJsonResult <LllegalQueryResult>(ResultType.Success, ResultCode.Success, msg, queryResult); } 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); }