public IW2SUserDto UpdateUser(string uName, IW2SUserDto user) { if (string.IsNullOrEmpty(uName)) { return new IW2SUserDto { Error = "用户名不能为空" } } ; // MongoDBHelper<FreeUser> dbhelper = new MongoDBHelper<FreeUser>(); var builder = Builders <IW2SUser> .Filter; var filter = builder.Eq(x => x.LoginName, uName); var _usr = MongoDBHelper.Instance.Get_IW2SUser().Find(filter).FirstOrDefault(); if (_usr != null) { var updateUser = new UpdateDocument { { "$set", new QueryDocument { { "Gender", user.Gender }, { "MobileNo", user.MobileNo }, { "Remarks", user.Remarks }, { "UsrEmail", user.UsrEmail }, { "PictureSrc", user.PictureSrc } } } }; // dbhelper.Update("FreeUser", new QueryDocument { { "_id", _usr._id } }, updateUser); MongoDBHelper.Instance.Get_IW2SUser().UpdateOne(new QueryDocument { { "_id", _usr._id } }, updateUser); IW2SUserDto freDto = new IW2SUserDto(); freDto._id = _usr._id.ToString(); freDto.LoginName = _usr.LoginName; freDto.LoginPwd = _usr.LoginPwd; freDto.UsrRole = _usr.UsrRole; freDto.UsrKey = _usr.UsrKey; freDto.UsrEmail = user.UsrEmail; freDto.Gender = user.Gender; freDto.MobileNo = user.MobileNo; freDto.Remarks = user.Remarks; freDto.IsEmailConfirmed = _usr.IsEmailConfirmed; freDto.applicationState = _usr.applicationState; freDto.UsrNum = _usr.UsrNum; freDto.PictureSrc = _usr.PictureSrc; //freDto.Token = Helpers.IprAuthorizeAttribute.GetToken(_usr.LoginName, _usr.UsrRole); return(freDto); } else { return(new IW2SUserDto { Error = "用户名不正确,请重试!" }); } }
public List <IW2SUserDto> GetUserList() { var builder = Builders <IW2SUser> .Filter; var filter = builder.Where(x => x.UsrRole == 0); var dto = MongoDBHelper.Instance.Get_IW2SUser().Find(filter).SortByDescending(x => x.UsrNum).ToList(); List <IW2SUserDto> list = new List <IW2SUserDto>(); foreach (var item in dto) { IW2SUserDto freDto = new IW2SUserDto(); freDto._id = item._id.ToString(); freDto.LoginName = item.LoginName; list.Add(freDto); } return(list); }
public IW2SUserDto ChangePwd(string uName, string oldPwd, string newPwd) { if (string.IsNullOrEmpty(oldPwd) || string.IsNullOrEmpty(newPwd)) { return new IW2SUserDto { Error = "原密码或新密码不能为空!" } } ; var md5Old = EncryptHelper.GetEncryPwd(oldPwd.ToLower());//IDHelper.GetGuid(pwd1 + pwd_key); var builder = Builders <IW2SUser> .Filter; var filter = builder.Eq(x => x.LoginName, uName); filter &= builder.Eq(x => x.LoginPwd, md5Old); var dto = MongoDBHelper.Instance.Get_IW2SUser().Find(filter).FirstOrDefault(); if (dto == null) { return(new IW2SUserDto { Error = "原密码不正确!" }); } var md5New = EncryptHelper.GetEncryPwd(newPwd.ToLower()); var updateWebsiteCount = new UpdateDocument { { "$set", new QueryDocument { { "LoginPwd", md5New } } } }; MongoDBHelper.Instance.Get_IW2SUser().UpdateOne(new QueryDocument { { "_id", dto._id } }, updateWebsiteCount); IW2SUserDto freDto = new IW2SUserDto(); freDto._id = dto._id.ToString(); freDto.LoginName = dto.LoginName; freDto.LoginPwd = md5New; freDto.UsrRole = dto.UsrRole; freDto.UsrKey = dto.UsrKey; freDto.UsrEmail = dto.UsrEmail; freDto.IsEmailConfirmed = dto.IsEmailConfirmed; freDto.applicationState = dto.applicationState; freDto.UsrNum = dto.UsrNum; //freDto.Token = Helpers.IprAuthorizeAttribute.GetToken(dto.LoginName, dto.UsrRole); return(freDto); }
public IW2SUserDto GetUser(string uName, string uPwd) { if (string.IsNullOrEmpty(uName) || string.IsNullOrEmpty(uPwd)) { return new IW2SUserDto { Error = "用户名和密码不能为空" } } ; var builder = Builders <IW2SUser> .Filter; var filter = builder.Eq(x => x.LoginName, uName); bool dd = System.Text.RegularExpressions.Regex.IsMatch(uName, @"[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?"); if (dd) { builder.Eq(x => x.UsrEmail, uName); } var dto = MongoDBHelper.Instance.Get_IW2SUser().Find(filter).FirstOrDefault(); if (dto != null) { IW2SUserDto freDto = new IW2SUserDto(); freDto._id = dto._id.ToString(); freDto.LoginName = dto.LoginName; freDto.LoginPwd = dto.LoginPwd; freDto.UsrRole = dto.UsrRole; freDto.UsrKey = dto.UsrKey; freDto.UsrEmail = dto.UsrEmail; freDto.IsEmailConfirmed = dto.IsEmailConfirmed; freDto.applicationState = dto.applicationState; freDto.Gender = dto.Gender; freDto.MobileNo = dto.MobileNo; freDto.Remarks = dto.Remarks; freDto.PictureSrc = dto.PictureSrc; //freDto.Token = Helpers.IprAuthorizeAttribute.GetToken(dto.LoginName, dto.UsrRole); freDto.UsrNum = dto.UsrNum; return(freDto); } else { return(new IW2SUserDto { Error = "用户名或密码不正确!" }); } }
public IW2SUserDto Login(string uName, string uPwd, string ip) { if (string.IsNullOrEmpty(uName) || string.IsNullOrEmpty(uPwd)) { return new IW2SUserDto { Error = "用户名和密码不能为空" } } ; Guid md5 = EncryptHelper.GetEncryPwd(uPwd.ToLower()); bool dd = System.Text.RegularExpressions.Regex.IsMatch(uName, @"[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?"); var builder = Builders <IW2SUser> .Filter; var filter = builder.Eq(x => x.LoginPwd, md5); if (dd) { filter &= builder.Eq(x => x.UsrEmail, uName); } else { filter &= builder.Eq(x => x.LoginName, uName); } string location = ""; Regex reg = new Regex("市|自治区|自治州|自治县"); if (!string.IsNullOrEmpty(ip)) { string url = "http://ip.chinaz.com/"; url += ip; string html = WebHelper.GetHtml(url); if (html != null) { HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); doc.LoadHtml(html); /* 解析源代码 */ var task = doc.DocumentNode.SelectSingleNode("//*[@id=\"leftinfo\"]/div[3]/div[2]/p[2]/span[4]"); //搜索结果 string str = task.InnerText.Trim(); location = str.Split(' ')[0].Trim(); if (location.Contains("省")) { int j = location.IndexOf("省"); location = location.Substring(j + 1, location.Length - j - 1); } else if (location.Contains("自治区")) { int j = location.IndexOf("自治区"); location = location.Substring(j + 3, location.Length - j - 3); } else if (location.Contains("特别行政区")) { location = location.Replace("特别行政区", ""); } location = reg.Replace(location, ""); //去除后缀 } } var dto = MongoDBHelper.Instance.Get_IW2SUser().Find(filter).FirstOrDefault(); if (dto != null) { int uunm = dto.UsrNum + 1; DateTime dt = DateTime.Now.AddHours(8); var updateWebsiteCount = new UpdateDocument { { "$set", new QueryDocument { { "UsrNum", uunm }, { "LastLoginAt", dt }, { "LastLoginLocation", location } } } }; var result = MongoDBHelper.Instance.Get_IW2SUser().UpdateOne(new QueryDocument { { "_id", dto._id } }, updateWebsiteCount); IW2SUserDto freDto = new IW2SUserDto(); freDto._id = dto._id.ToString(); freDto.LoginName = dto.LoginName; freDto.LoginPwd = dto.LoginPwd; freDto.UsrRole = dto.UsrRole; freDto.UsrKey = dto.UsrKey; freDto.UsrEmail = dto.UsrEmail; freDto.IsEmailConfirmed = dto.IsEmailConfirmed; freDto.applicationState = dto.applicationState; freDto.Gender = dto.Gender; freDto.PictureSrc = dto.PictureSrc; freDto.Remarks = dto.Remarks; freDto.MobileNo = dto.MobileNo; //freDto.Token = Helpers.IprAuthorizeAttribute.GetToken(dto.LoginName, dto.UsrRole); freDto.UsrNum = uunm; return(freDto); } else { return(new IW2SUserDto { Error = "用户名或密码不正确!" }); } }
public IW2SUserDto Regist(string uName, string uPwd1, string uPwd2, string email) { //var code = VerifyCodeClass.YzmCode; //if (YZM.ToLower() != code.ToLower()) //{ // return new IW2SUserDto { Error = "验证码填写错误!" }; //} if (string.IsNullOrEmpty(uName) || string.IsNullOrEmpty(uPwd1)) { return new IW2SUserDto { Error = "用户名和密码不能为空" } } ; if (!uPwd1.Equals(uPwd2)) { return new IW2SUserDto { Error = "密码不一致!" } } ; if (string.IsNullOrEmpty(email)) { return new IW2SUserDto { Error = "邮箱不能为空!" } } ; bool dd = System.Text.RegularExpressions.Regex.IsMatch(email, @"[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?"); if (dd == false) { return new IW2SUserDto { Error = "邮箱格式不正确!" } } ; var builder = Builders <IW2SUser> .Filter; var filter = builder.Eq(x => x.LoginName, uName); var _usr = MongoDBHelper.Instance.Get_IW2SUser().Find(filter).FirstOrDefault(); if (_usr != null) { return new IW2SUserDto { Error = "用户名已经存在" } } ; // var queryTask1 = new QueryDocument { { "UsrEmail", email } }; filter = builder.Eq(x => x.UsrEmail, email); IW2SUser _usr1 = MongoDBHelper.Instance.Get_IW2SUser().Find(filter).FirstOrDefault(); if (_usr1 != null) { return new IW2SUserDto { Error = "该邮箱已经注册过,请换一个试试!" } } ; var md5 = EncryptHelper.GetEncryPwd(uPwd1.ToLower()); _usr = new IW2SUser() { _id = ObjectId.GenerateNewId(), LoginName = uName, LoginPwd = md5, UsrKey = IDHelper.GetGuid(uName + usr_key), applicationState = false, IsEmailConfirmed = false, UsrEmail = email, UsrRole = UserTypes.Free, UsrNum = 1, Gender = "", MobileNo = "", Remarks = "", PictureSrc = "", CreatedAt = DateTime.Now.AddHours(8), ProjectNum = 2, KeywordNum = 20, ReportNum = 2, LinkNum = 2000 }; MongoDBHelper.Instance.Get_IW2SUser().InsertOne(_usr); IW2SUserDto freDto = new IW2SUserDto(); freDto._id = _usr._id.ToString(); freDto.LoginName = _usr.LoginName; freDto.LoginPwd = _usr.LoginPwd; freDto.UsrRole = _usr.UsrRole; freDto.UsrKey = _usr.UsrKey; freDto.UsrEmail = _usr.UsrEmail; freDto.IsEmailConfirmed = _usr.IsEmailConfirmed; freDto.applicationState = _usr.applicationState; freDto.UsrNum = _usr.UsrNum; //freDto.Token = Helpers.IprAuthorizeAttribute.GetToken(_usr.LoginName, _usr.UsrRole); return(freDto); }