public ActionResult Edit() { BaoConfig BaoConfig = Entity.BaoConfig.FirstOrNew(); if (BaoConfig == null) { ViewBag.ErrorMsg = "数据不存在"; return(View("Error")); } ViewBag.BaoConfig = BaoConfig; ViewBag.Save = this.checkPower("Save"); if (Request.UrlReferrer != null) { Session["Url"] = Request.Url.ToString();; } return(View()); }
public void Save(BaoConfig BaoConfig) { BaoConfig baseBaoConfig = Entity.BaoConfig.FirstOrNew(); baseBaoConfig = Request.ConvertRequestToModel <BaoConfig>(baseBaoConfig, BaoConfig); if (!baseBaoConfig.GetCost.IsNullOrEmpty()) { decimal v = baseBaoConfig.GetCost; decimal w = v / 10000; decimal n = 1 + w; decimal p = (decimal)Math.Pow((double)n, 365); decimal y = p - 1; decimal r = y * 100; baseBaoConfig.YearPer = r; } else { baseBaoConfig.YearPer = 0; } Entity.SaveChanges(); BaseRedirect(); }
public void Bao(DateTime Today) { //余额理财昨天收益归0 //============================================================================================= Entity.ExecuteStoreCommand("Update BaoUsers Set LastRec=0 Where LastRec>0"); //余额理财计息程序 //============================================================================================= Response.Write("余额理财任务开始执行!"); DateTime EDate = Today.AddDays(1);//今天24点 int BaoTime = 23; DateTime sTime = Today.AddHours(BaoTime - 24); //计息前节点 DateTime eTime = Today.AddHours(BaoTime); //计息后节点 BaoStory BaoStory = Entity.BaoStory.FirstOrDefault(n => n.SDate == Today && n.LType == 1); if (BaoStory == null) { BaoConfig BaoConfig = Entity.BaoConfig.FirstOrDefault(); //添加总日志,后期可形成曲线图 BaoStory = new BaoStory(); BaoStory.SDate = Today; BaoStory.GetCost = BaoConfig.GetCost; BaoStory.YearPer = BaoConfig.YearPer; BaoStory.InMoney = 0; BaoStory.OutMoney = 0; BaoStory.BfAllMoney = 0; BaoStory.BfActMoney = 0; BaoStory.BfInMoney = 0; BaoStory.LType = 1; try { BaoStory.InMoney = Entity.BaoLog.Where(n => n.AddTime > sTime && n.AddTime <= eTime && n.LType == 1).Sum(n => n.Amount); } catch (Exception) { Response.Write("统计转入出错"); } try { BaoStory.OutMoney = Entity.BaoLog.Where(n => n.AddTime > sTime && n.AddTime <= eTime && n.LType == 2).Sum(n => n.Amount); } catch (Exception) { Response.Write("统计转出金额出错"); } try { BaoStory.BfAllMoney = Entity.BaoUsers.Sum(n => n.AllMoney); } catch (Exception) { Response.Write("统计总金额出错"); } try { BaoStory.BfActMoney = Entity.BaoUsers.Sum(n => n.ActMoney); } catch (Exception) { Response.Write("统计计息金额出错"); } try { BaoStory.BfInMoney = Entity.BaoUsers.Sum(n => n.InMoney); } catch (Exception) { Response.Write("统计未计息金额出错"); } Entity.BaoStory.AddObject(BaoStory); Entity.SaveChanges(); IList <BaoUsers> BaoUsersList = Entity.BaoUsers.Where(n => n.InMoney > 0 || n.ActMoney > 0).ToList(); foreach (var p in BaoUsersList) { p.PayLIXI(BaoConfig, Entity); } try { BaoStory.Interest = Entity.BaoLog.Where(n => n.AddTime >= Today && n.AddTime < EDate && n.LType == 3).Sum(n => n.Amount);//利息 } catch (Exception) { Response.Write("统计利息出错"); } BaoStory.AfAllMoney = BaoStory.BfAllMoney + BaoStory.Interest; BaoStory.AfActMoney = BaoStory.BfActMoney + BaoStory.AfInMoney + BaoStory.Interest; BaoStory.AfInMoney = 0; Entity.SaveChanges(); Response.Write("余额理财!执行数量:" + BaoUsersList.Count()); } Response.Write("余额理财任务执行结束!"); //============================================================================================= }
public void Execute(IJobExecutionContext context) { string JobName = "BaoTask"; string CanRun = ConfigurationManager.AppSettings["Run" + JobName].ToString(); if (CanRun == "true") { if (!IsRun) { LokFuEntity Entity = new LokFuEntity(); IsRun = true; try { Log.Write(JobName + "任务开始执行!"); //------------------------------------------------------- #region 任务主体 BaoConfig BaoConfig = Entity.BaoConfig.FirstOrDefault(); //余额理财昨天收益归0 //============================================================================================= Entity.ExecuteStoreCommand("Update BaoUsers Set LastRec=0 Where LastRec>0"); //余额理财计息程序 //============================================================================================= Log.WriteLog("余额理财任务开始执行!", JobName); DateTime Today = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); //今天0点 DateTime EDate = Today.AddDays(1); //今天24点 int BaoTime = Int32.Parse(ConfigurationManager.AppSettings["BaoTime"].ToString()); DateTime sTime = Today.AddHours(BaoTime - 24); //计息前节点 DateTime eTime = Today.AddHours(BaoTime); //计息后节点 BaoStory BaoStory = Entity.BaoStory.FirstOrDefault(n => n.SDate == Today && n.LType == 1); if (BaoStory == null) { //添加总日志,后期可形成曲线图 BaoStory = new BaoStory(); BaoStory.SDate = Today; BaoStory.GetCost = BaoConfig.GetCost; BaoStory.YearPer = BaoConfig.YearPer; BaoStory.InMoney = 0; BaoStory.OutMoney = 0; BaoStory.BfAllMoney = 0; BaoStory.BfActMoney = 0; BaoStory.BfInMoney = 0; BaoStory.LType = 1; try { BaoStory.InMoney = Entity.BaoLog.Where(n => n.AddTime > sTime && n.AddTime <= eTime && n.LType == 1).Sum(n => n.Amount); } catch (Exception) { Log.WriteLog("余额理财统计转入出错!", JobName); } try { BaoStory.OutMoney = Entity.BaoLog.Where(n => n.AddTime > sTime && n.AddTime <= eTime && n.LType == 2).Sum(n => n.Amount); } catch (Exception) { Log.WriteLog("余额理财统计转出金额出错!", JobName); } try { BaoStory.BfAllMoney = Entity.BaoUsers.Sum(n => n.AllMoney); } catch (Exception) { Log.WriteLog("余额理财统计总金额出错!", JobName); } try { BaoStory.BfActMoney = Entity.BaoUsers.Sum(n => n.ActMoney); } catch (Exception) { Log.WriteLog("余额理财统计计息金额出错!", JobName); } try { BaoStory.BfInMoney = Entity.BaoUsers.Sum(n => n.InMoney); } catch (Exception) { Log.WriteLog("余额理财统计未计息金额出错!", JobName); } Entity.BaoStory.AddObject(BaoStory); Entity.SaveChanges(); IList <BaoUsers> BaoUsersList = Entity.BaoUsers.Where(n => n.InMoney > 0 || n.ActMoney > 0).ToList(); foreach (var p in BaoUsersList) { p.PayLIXI(BaoConfig, Entity); Log.WriteLog("计算利息:" + p.UId, JobName); } try { BaoStory.Interest = Entity.BaoLog.Where(n => n.AddTime >= Today && n.AddTime < EDate && n.LType == 3).Sum(n => n.Amount);//利息 } catch (Exception) { Log.WriteLog("余额理财统计利息出错!", JobName); } BaoStory.AfAllMoney = BaoStory.BfAllMoney + BaoStory.Interest; BaoStory.AfActMoney = BaoStory.BfActMoney + BaoStory.AfInMoney + BaoStory.Interest; BaoStory.AfInMoney = 0; Entity.SaveChanges(); Log.WriteLog("余额理财计息完成[" + BaoUsersList.Count + "]!", JobName); } Log.WriteLog("余额理财任务执行结束!", JobName); //============================================================================================= //自动转入余额理财 Log.WriteLog("自动转入余额理财任务开始执行!", JobName); IList <Users> UsersList = Entity.Users.Where(n => n.State == 1 && n.AutoBao == 1 && n.Amount > 0 && (n.StopPayState == 0 || n.StopPayState == 1)).ToList(); foreach (var p in UsersList) { p.AutoBao(Entity); Log.WriteLog("自动转入:" + p.Id, JobName); } Log.WriteLog("自动转入余额理财任务执行结束[" + UsersList.Count + "]!", JobName); //============================================================================================= Log.WriteLog("余额生息任务开始执行!", JobName); BaoStory = Entity.BaoStory.FirstOrDefault(n => n.SDate == Today && n.LType == 2); if (BaoStory == null) { //添加总日志,后期可形成曲线图 BaoStory = new BaoStory(); BaoStory.SDate = Today; BaoStory.GetCost = BaoConfig.GetCost; BaoStory.YearPer = BaoConfig.YearPer; BaoStory.InMoney = 0; BaoStory.OutMoney = 0; BaoStory.BfAllMoney = 0; BaoStory.BfActMoney = 0; BaoStory.BfInMoney = 0; BaoStory.LType = 2; try { BaoStory.BfAllMoney = Entity.Users.Sum(n => n.Amount); } catch (Exception) { Log.WriteLog("余额生息统计总金额出错!", JobName); } try { BaoStory.BfActMoney = Entity.Users.Sum(n => n.YAmount); } catch (Exception) { Log.WriteLog("余额生息统计计息金额出错!", JobName); } Entity.BaoStory.AddObject(BaoStory); Entity.SaveChanges(); decimal GetCost = BaoConfig.GetCost / 10000; Entity.ExecuteStoreCommand("Exec SP_UsersProfit " + GetCost); try { BaoStory.Interest = Entity.UserLog.Where(n => n.AddTime >= Today && n.AddTime < EDate && n.OType == 15).Sum(n => n.Amount);//利息 } catch (Exception) { Log.WriteLog("余额生息统计利息出错!", JobName); } BaoStory.AfAllMoney = BaoStory.BfAllMoney + BaoStory.Interest; BaoStory.AfActMoney = BaoStory.BfActMoney + BaoStory.AfInMoney + BaoStory.Interest; BaoStory.AfInMoney = 0; Entity.SaveChanges(); } Log.WriteLog("余额生息任务执行结束!", JobName); //============================================================================================= #endregion //------------------------------------------------------- Log.Write(JobName + "任务执行结束!"); } catch (Exception Ex) { Log.Write(JobName + "任务执行过程出错!", Ex); } IsRun = false; } else { Log.Write(JobName + "任务还在执行中!"); } } }
public void Post() { string Data = DataObj.GetData(); if (Data.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } JObject json = new JObject(); try { json = (JObject)JsonConvert.DeserializeObject(Data); } catch (Exception Ex) { Log.Write("[BaoUsersOut]:", "【Data】" + Data, Ex); } if (json == null) { DataObj.OutError("1000"); return; } BaoUsers BaoUsers = new BaoUsers(); BaoUsers = JsonToObject.ConvertJsonToModel(BaoUsers, json); if (BaoUsers.Token.IsNullOrEmpty() || BaoUsers.ActMoney.IsNullOrEmpty() || BaoUsers.PayPwd.IsNullOrEmpty()) { DataObj.OutError("1000"); return; } if (BaoUsers.PayPwd.Length < 6)//6位及以上 { DataObj.OutError("1000"); return; } Users Users = Entity.Users.FirstOrDefault(n => n.Token == BaoUsers.Token); if (Users == null)//用户令牌不存在 { DataObj.OutError("2004"); return; } if (Users.State != 1) { DataObj.OutError("2003"); return; } if (Users.CardStae != 2)//未实名认证 { DataObj.OutError("2006"); return; } if (Users.MiBao != 1)//未设置支付密码 { DataObj.OutError("2008"); return; } decimal ActMoney = BaoUsers.ActMoney; string PayPwd = BaoUsers.PayPwd; BaoUsers = Entity.BaoUsers.FirstOrDefault(n => n.UId == Users.Id); if (BaoUsers == null) { DataObj.OutError("1000"); return; } //提现金额大于余额 if (ActMoney > BaoUsers.AllMoney) { DataObj.OutError("6001"); return; } if (Users.PayLock == 1)//密码错误太多次锁定 { DataObj.OutError("2050"); return; } //这里是执行指纹解锁 bool IfCheckOk = true; if (PayPwd.Substring(0, 3) == "HF_") { string PassWord = PayPwd; PassWord = PassWord.Replace("HF_", ""); string Token = Users.Token; Token = Token + "GoodPay"; string Md5Token = Token.GetMD5().ToUpper(); string Pass = Md5Token.Substring(0, 4) + Md5Token.Substring(Md5Token.Length - 4, 4); if (Pass != PassWord) { IfCheckOk = false; } } else if (Users.PayPwd != PayPwd.GetPayMD5()) { //原支付密码错误 IfCheckOk = false; } if (!IfCheckOk) { //付密码错误 SysSet SysSet = Entity.SysSet.FirstOrNew(); //系统统一修改标识SAME002 Users.PayErr++; if (Users.PayErr >= SysSet.PayLock) { Users.PayLock = 1; } Entity.SaveChanges(); Users Out = new Users(); Out.PayErr = SysSet.PayLock - Users.PayErr; Out.Cols = "PayErr"; DataObj.Data = Out.OutJson(); DataObj.Code = "2010"; DataObj.OutString(); return; } Users.PayErr = 0; Entity.SaveChanges(); //业务开始 //=========================================================================== //余额宝变动记录 BaoLog BaoLog = new BaoLog(); BaoLog.UId = Users.Id; BaoLog.LType = 2;//1转入 2转出 3收益 BaoLog.BeforAmount = BaoUsers.ActMoney; BaoLog.BeforFrozen = BaoUsers.InMoney; BaoLog.Amount = ActMoney; if (BaoUsers.InMoney == 0) { //未计息帐户没钱,全部扣除计息帐户 BaoUsers.ActMoney = BaoUsers.ActMoney - ActMoney; BaoUsers.AllMoney = BaoUsers.AllMoney - ActMoney; } else { //未计息帐户有钱 if (ActMoney < BaoUsers.InMoney) { //转出小于未计息帐户金额,直接扣除未计息帐户中金额 BaoUsers.InMoney = BaoUsers.InMoney - ActMoney; BaoUsers.AllMoney = BaoUsers.AllMoney - ActMoney; } else { //转出大于未计息帐户金额,直接扣除未计息帐户中全部金额,不足从计息帐户中扣除 BaoUsers.ActMoney = BaoUsers.ActMoney + BaoUsers.InMoney - ActMoney; BaoUsers.InMoney = 0; BaoUsers.AllMoney = BaoUsers.AllMoney - ActMoney; } } BaoLog.AfterAmount = BaoUsers.ActMoney; BaoLog.AfterFrozen = BaoUsers.InMoney; BaoLog.State = 1; BaoLog.AddTime = DateTime.Now; Entity.BaoLog.AddObject(BaoLog); //帐户变动记录 int USERSID = Users.Id; string SP_Ret = Entity.SP_UsersMoney(USERSID, "理财转出", ActMoney, 1, ""); if (SP_Ret != "3") { Utils.WriteLog(string.Format("U{0},O{1},T{2}:{3}【{4}】", USERSID, "理财转出", 1, ActMoney, SP_Ret), "SP_UsersMoney"); DataObj.OutError("8888"); return; } Entity.SaveChanges(); BaoConfig BaoConfig = Entity.BaoConfig.FirstOrNew(); BaoUsers.GetCost = BaoConfig.GetCost; DataObj.Data = BaoUsers.OutJson(); DataObj.Code = "0000"; DataObj.OutString(); }