protected override async void Run(Session session, C2G_AddUserLoginRecord message, Action <G2C_AddUserLoginRecord> reply) { G2C_AddUserLoginRecord response = new G2C_AddUserLoginRecord(); response.IsOk = false; try { DBProxyComponent dBProxyComponent = Game.Scene.GetComponent <DBProxyComponent>(); UserLoginRecord UserLoginRecord = ComponentFactory.Create <UserLoginRecord>(); UserLoginRecord._AccountID = message.AccountID; UserLoginRecord._InfoID = message.InfoID; UserLoginRecord._LoginTimes = message.LoginTimes; UserLoginRecord._IP = message.IP; UserLoginRecord._LoginLocInfo = message.LoginLocInfo; UserLoginRecord._AbnormalStateCode = message.AbnormalStateCode; UserLoginRecord._LoginDate = message.LoginDate; await dBProxyComponent.Save(UserLoginRecord); await dBProxyComponent.SaveLog(UserLoginRecord); response.IsOk = true; reply(response); } catch (Exception e) { response.IsOk = false; response.Message = "数据库异常"; ReplyError(response, e, reply); } }
public bool AddUserLoginRecord(UserLoginRecord userLoginRecord) { if (userLoginRecord != null) { gameClubEntities.UserLoginRecord.Add(userLoginRecord); gameClubEntities.SaveChanges(); return(true); } return(false); }
protected override async void Run(Session session, C2G_QueryUserLoginRecord message, Action <G2C_QueryUserLoginRecord> reply) { G2C_QueryUserLoginRecord response = new G2C_QueryUserLoginRecord(); UserLoginRecord UserLoginRecord = null; response.IsOk = false; try { DBProxyComponent dBProxyComponent = Game.Scene.GetComponent <DBProxyComponent>(); var acounts = await dBProxyComponent.Query <UserLoginRecord>("{ '_AccountID': " + message.AccountID + "}"); if (acounts.Count > 0) { for (int i = 0; i < acounts.Count; i++) { UserLoginRecord = acounts[i] as UserLoginRecord; LoginRecord record = new LoginRecord(); record.AccountID = UserLoginRecord._AccountID; record.InfoID = UserLoginRecord._InfoID; record.LoginTimes = UserLoginRecord._LoginTimes; record.IP = UserLoginRecord._IP; record.LoginLocInfo = UserLoginRecord._LoginLocInfo; record.AbnormalStateCode = UserLoginRecord._AbnormalStateCode; record.LoginDate = UserLoginRecord._LoginDate; response.Userlist.Add(record); } } reply(response); } catch (Exception e) { response.Message = "数据库异常"; ReplyError(response, e, reply); } }
protected override async void Run(Session session, C2G_LoginRecord message, Action <G2C_LoginRecord> reply) { G2C_LoginRecord response = new G2C_LoginRecord(); try { DBProxyComponent dBProxyComponent = Game.Scene.GetComponent <DBProxyComponent>(); if (message.DoState == 1) { var acounts = await dBProxyComponent.Query <UserLoginRecord>("{'_AccountID' : " + message.AccountID + "}"); if (acounts.Count == 1) { foreach (UserLoginRecord item in acounts) { response.AccountID = item._AccountID; response.InfoID = item._InfoID; response.LoginTimes = item._LoginTimes; response.IP = item._IP; response.LoginLocInfo = item._LoginLocInfo; response.AbnormalStateCode = item._AbnormalStateCode; response.LoginDate = item._LoginDate; } response.IsSuccess = true; response.Message = MethodBase.GetCurrentMethod().DeclaringType.FullName + "." + MethodBase.GetCurrentMethod().Name + "拿取数据成功"; } else if (acounts.Count == 0) { response.IsSuccess = false; response.Message = MethodBase.GetCurrentMethod().DeclaringType.FullName + "." + MethodBase.GetCurrentMethod().Name + "无数据"; } else { response.IsSuccess = false; response.Message = MethodBase.GetCurrentMethod().DeclaringType.FullName + "." + MethodBase.GetCurrentMethod().Name + "登录记录数据错误"; } } else { //保存数据表 UserLoginRecord userLoginRecord = ComponentFactory.Create <UserLoginRecord>(); userLoginRecord._AccountID = message.AccountID; userLoginRecord._InfoID = message.InfoID; userLoginRecord._AbnormalStateCode = message.AbnormalStateCode; userLoginRecord._IP = message.IP; userLoginRecord._LoginDate = message.LoginDate; userLoginRecord._LoginLocInfo = message.LoginLocInfo; userLoginRecord._LoginTimes = message.LoginTimes; await dBProxyComponent.Save(userLoginRecord); response.IsSuccess = true; response.Message = MethodBase.GetCurrentMethod().DeclaringType.FullName + "." + MethodBase.GetCurrentMethod().Name + "登录记录地址成功"; } } catch (Exception e) { response.IsSuccess = false; response.Message = MethodBase.GetCurrentMethod().DeclaringType.FullName + "." + MethodBase.GetCurrentMethod().Name + "数据库异常"; ReplyError(response, e, reply); } }
public int Authenticate(string username, string password) { UserInfo result = db.UserInfo.Where(u => (u.UserName == username) && u.PassWord == password).FirstOrDefault(); if (result == null) { bool f = true; foreach (var item in username) { if (!char.IsNumber(item)) { f = false; break; } } if (f && username.Length <= 10) { int UserID = Convert.ToInt32(username); result = db.UserInfo.Where(u => (u.UserID == UserID) && u.PassWord == password).FirstOrDefault(); } } if (result != null) { if (result.IsDel == true) { return(2); } HttpContext.Current.Session["UserID"] = result.UserID; HttpContext.Current.Session["UserName"] = result.UserName; HttpContext.Current.Session["Authority"] = result.Authority; UserLoginRecord userLoginRecord = new UserLoginRecord { UserID = result.UserID, UserName = result.UserName, HostIP = GetWebClientIp(), RecordTime = DateTime.Now, }; if (userLoginRecord.HostIP.ToString().Equals("::1")) { userLoginRecord.HostIP = "127.0.0.1"; userLoginRecord.Area = "本地局域网访问"; } else { string api = "https://apis.map.qq.com/ws/location/v1/ip?ip=" + userLoginRecord.HostIP.ToString() + "&key=IHRBZ-LKGAR-I4KWJ-W2YF7-2NBU3-SEBL3"; JObject json = (JObject)JsonConvert.DeserializeObject(HttpGet(api)); if (json["status"].ToString().Equals("0")) { userLoginRecord.Area = json["result"]["ad_info"]["nation"].ToString() + json["result"]["ad_info"]["province"].ToString() + json["result"]["ad_info"]["city"].ToString() + json["result"]["ad_info"]["district"].ToString(); } else { userLoginRecord.Area = json["message"].ToString(); } } EFUserRecord.AddUserLoginRecord(userLoginRecord); return(0); } else { return(1); } }