Example #1
0
        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);
 }
Example #3
0
        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);
            }
        }