/// <summary> /// 注册信息 /// </summary> /// <param name="name">登陆名</param> /// <param name="pwd">密码</param> /// <returns></returns> public APIRst Register(string name, string pwd) { APIRst rst = new APIRst(); try { int ledger = 0; DataTable dt = new YDS6000.BLL.ExpApp.Home.HomeBLL(9999, 0).GetProjectList(); foreach (DataRow dr in dt.Rows) { ledger = CommFunc.ConvertDBNullToInt32(dr["Rule"]); } // bll = new YDS6000.BLL.ExpApp.SysMgr.SysMgrBLL(ledger, 1); bool existName = bll.GetExistsCrmNo(name); if (existName == true) { rst.rst = false; rst.data = ""; rst.err = new APIErr() { code = -1, msg = "登录名已存在" }; return(rst); } rst.data = bll.Register(name, pwd); } catch (Exception ex) { rst.rst = false; rst.err.code = (int)ResultCodeDefine.Error; rst.err.msg = ex.Message; FileLog.WriteLog("注册信息错误:" + ex.Message + ex.StackTrace); } return(rst); }
/// <summary> /// 用户登陆 /// </summary> /// <param name="ledger"></param> /// <param name="uSign"></param> /// <param name="pwd"></param> /// <returns></returns> public APIRst Login(string uSign, string pwd) { int ledger = 0; APIRst rst = new APIRst(); try { //DataTable dt = new YDS6000.BLL.ExpApp.Home.HomeBLL(9999, 0).GetProjectList(); //foreach (DataRow dr in dt.Rows) // ledger = CommFunc.ConvertDBNullToInt32(dr["Rule"]); bll = new YDS6000.BLL.ExpApp.Home.HomeBLL(ledger, user.Uid); if (string.IsNullOrEmpty(uSign)) { rst.rst = false; rst.err.code = (int)ResultCodeDefine.Error; rst.err.msg = "用户名不能为空"; return(rst); } if (string.IsNullOrEmpty(pwd)) { rst.rst = false; rst.err.code = (int)ResultCodeDefine.Error; rst.err.msg = "密码不能为空"; return(rst); } WebConfig.GetSysConfig(); DataTable dtSource = bll.GetUser(uSign); int nRows = dtSource.Rows.Count; if (nRows == 0) { rst.rst = false; rst.err.code = (int)ResultCodeDefine.Error; rst.err.msg = "没有此用户"; return(rst); } else if (nRows != 1) { rst.rst = false; rst.err.code = (int)ResultCodeDefine.Error; rst.err.msg = "此用户有多个"; return(rst); } int uid = CommFunc.ConvertDBNullToInt32(dtSource.Rows[0]["Uid"]); string uName = CommFunc.ConvertDBNullToString(dtSource.Rows[0]["UName"]); string dbPwd = CommFunc.ConvertDBNullToString(dtSource.Rows[0]["UPasswd"]); string project = CommFunc.ConvertDBNullToString(dtSource.Rows[0]["Project"]); int role_id = 0; if (!pwd.Trim().Equals(dbPwd)) { //查询最后最后的登录时间,判断如果少于十五分钟且错误次数已经为五次,提示十五分钟后再次登录 //int num = CommFunc.ConvertDBNullToInt32(dtSource.Rows[0]["LoginInt"]); //DateTime dt = CommFunc.ConvertDBNullToDateTime(dtSource.Rows[0]["LoginDate"]); //TimeSpan ts = new TimeSpan(); //ts = DateTime.Now - dt; //现在时间-数据库时间 //int Result = Convert.ToInt32(ts.TotalMinutes); //转换时间间隔为 分钟 Double型转化成Int型 //if (Result < 15 && num > 4) //{ // rst.err.code = (int)ResultCodeDefine.Error; // rst.err.msg = "登录的次数超过了规定次数,请十五分钟后再试"; // return rst; //} ////登录密码错误,将登录错误次数+1 //bll.UpdateLoginErr(uSign); rst.rst = false; rst.err.code = (int)ResultCodeDefine.Error; rst.err.msg = "密码错误"; return(rst); } //// DataTable dtMd = bll.GetV3_UserOfModule(uid); int mid = 0; decimal price = 0; foreach (DataRow dr in dtMd.Rows) { mid = CommFunc.ConvertDBNullToInt32(dr["Module_id"]); price = Math.Round(CommFunc.ConvertDBNullToDecimal(dr["Price"]), 4, MidpointRounding.AwayFromZero); } dynamic attach = new { mid = mid, price = price, step = new { s1 = 200, s2 = 400, p1 = price, p2 = price } }; ////// WebConfig.SysProject = project; ////// int seed = new Random(Guid.NewGuid().GetHashCode()).Next(65, 91); string zm = CommFunc.NunberToChar(seed); zm = string.IsNullOrEmpty(zm) ? "APP" : zm; string ticket = Guid.NewGuid().ToString().Replace("-", "").Substring(0, 10) + zm + (ledger + seed).ToString() + zm + (seed + uid).ToString(); string ccKey = ledger.ToString() + "APP" + uid.ToString(); CacheUser cacheUser = new CacheUser(); cacheUser.Ledger = ledger; cacheUser.Uid = uid; cacheUser.USign = uSign; cacheUser.Role_id = role_id; cacheUser.CacheKey = project + "->" + ledger + "->"; //随机数前10位+ 种子数+ (种子数+用户数之和) cacheUser.Ticket = ticket;// Guid.NewGuid().ToString().Replace("-", "").Substring(0, 10) + (seed + cacheUser.Uid).ToString().PadLeft(7, '0'); cacheUser.Attach = attach; // //bll.UpdateLoginSue(uSign); rst.err.code = 0; rst.data = new { Ticket = cacheUser.Ticket, Name = uName }; // int timeSpan = CommFunc.ConvertDBNullToInt32(ConfigHelper.GetAppSettings("Cached:Time")); timeSpan = timeSpan == 0 ? 15 : timeSpan; HttpRuntime.Cache.Insert(ccKey, cacheUser, null, DateTime.MaxValue, TimeSpan.FromMinutes(timeSpan)); HttpContext.Current.Session["CacheUser"] = cacheUser; } catch (Exception ex) { rst.rst = false; rst.err.code = (int)ResultCodeDefine.Error; rst.err.msg = ex.Message; FileLog.WriteLog("登录错误:" + ex.Message + ex.StackTrace); } return(rst); }
/// <summary> /// /// </summary> public HomeHelper() { user = WebConfig.GetSession(); bll = new YDS6000.BLL.ExpApp.Home.HomeBLL(user.Ledger, user.Uid); }