예제 #1
0
        public string loginIn(string username, string userpassword, string Validatecode, int remember, bool realMobileUser = false)
        {
            string         json        = string.Empty;
            B_member_table o           = new B_member_table();
            string         strIdentify = "LoginValidateCode"; //随机字串存储键值,以便存储到Session中
            string         ip          = Utils.GetRealIP();

            if (realMobileUser || Session[strIdentify] != null)
            {
                if (!realMobileUser)
                {
                    var ts = true;
                    if (Settings.Instance.SiteDomain.IndexOf(PublicURL.NewPCUrl) >= 0)
                    {
                        ts = false;
                    }
                    if (ts == false)
                    {
                        if (Session[strIdentify].ToString() != Validatecode)
                        {
                            json = @" {""rs""    : ""n"", ""error""      :  ""验证码过期!""}";
                            return(json);
                        }
                    }
                }

                int userid = 0;
                // int userid = o.CheckLogin(username, userpassword);
                M_member_table mtb = o.CheckUsrLogin(username);
                if (mtb == null)
                {
                    json = @" {""rs""    : ""n"", ""error""      :  ""该手机号未注册用户!""}";
                    return(json);
                }

                if (mtb.password != userpassword)
                {
                    #region 登录失败
                    try
                    {
                        hx_td_usrlogininfo usrmode = new hx_td_usrlogininfo();
                        usrmode.logintime    = DateTime.Now;
                        usrmode.Loginusrname = mtb.username;
                        usrmode.loginusrpass = "******";
                        usrmode.registerid   = mtb.registerid;
                        usrmode.loginIP      = ip;
                        usrmode.logincity    = GetIpToCity.GetAddressByIp(ip);
                        usrmode.loginsource  = 0;
                        usrmode.loginstate   = 1;
                        ef.hx_td_usrlogininfo.Add(usrmode);
                        int ie = ef.SaveChanges();
                    }
                    catch { }
                    #endregion

                    json = @" {""rs""    : ""n"", ""error""      :  ""用户名或密码错误!""}";
                    return(json);
                }

                userid = mtb.registerid;


                if (userid > 0)
                {
                    M_login mlogin = new M_login();
                    mlogin.userid   = userid;
                    mlogin.username = username;
                    mlogin.codeno   = Utils.SetSessioncode();
                    mlogin.UsrName  = mtb.realname;

                    if (Utils.LoginWriteSession(mlogin, remember) > 0)
                    {
                        string sql = "update hx_member_table set  LoginNum=LoginNum+1,lastlogintime='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',lastloginIP='" + ip + "' where registerid=" + userid.ToString();

                        LogInfo.WriteLog("登录信息更新" + sql);


                        DbHelperSQL.ExecuteSql(sql);

                        #region 登录成功
                        try
                        {
                            hx_td_usrlogininfo usrmode = new hx_td_usrlogininfo();
                            usrmode.logintime    = DateTime.Now;
                            usrmode.Loginusrname = mtb.username;
                            usrmode.loginusrpass = "******";
                            usrmode.registerid   = mtb.registerid;
                            usrmode.loginIP      = ip;
                            usrmode.logincity    = GetIpToCity.GetAddressByIp(ip);
                            usrmode.loginsource  = 0;
                            usrmode.loginstate   = 0;
                            ef.hx_td_usrlogininfo.Add(usrmode);
                            int ie = ef.SaveChanges();

                            //登录发送1580奖励(活动时间:2017.1.9-1.24)
                            ActFacade actFacade = new ActFacade();
                            {
                                actFacade.LoginSendDKQ(userid);
                            }
                        }
                        catch (Exception tx)
                        {
                            throw (tx);
                        }
                        #endregion

                        if (realMobileUser)
                        {
                            json = @"{""rs""    : ""y"", ""url""      :  ""/""}";
                            return(json);
                        }

                        if (Session["returnpage"] != null)
                        {
                            json = @"{""rs""    : ""y"", ""url""      :  ""/""}";
                            json = json.Replace("/", Session["returnpage"].ToString());
                            Session["returnpage"] = null;
                        }
                        else
                        {
                            json = @" {""rs""    : ""y"", ""url""      :  ""/""}";
                        }
                        return(json);
                    }
                }
                else if (userid == -100)
                {
                    #region 登录失败
                    try
                    {
                        hx_td_usrlogininfo usrmode = new hx_td_usrlogininfo();
                        usrmode.logintime    = DateTime.Now;
                        usrmode.Loginusrname = mtb.username;
                        usrmode.loginusrpass = "******";
                        usrmode.registerid   = mtb.registerid;
                        usrmode.loginIP      = ip;
                        usrmode.logincity    = GetIpToCity.GetAddressByIp(ip);
                        usrmode.loginsource  = 1;
                        usrmode.loginstate   = 2;
                        ef.hx_td_usrlogininfo.Add(usrmode);
                        int ie = ef.SaveChanges();
                    }
                    catch { }
                    #endregion

                    json = @" {""rs""    : ""n"", ""error""      :  ""禁止登录!""}";
                    return(json);
                }
                else
                {
                    #region 登录失败
                    try
                    {
                        hx_td_usrlogininfo usrmode = new hx_td_usrlogininfo();
                        usrmode.logintime    = DateTime.Now;
                        usrmode.Loginusrname = mtb.username;
                        usrmode.loginusrpass = "******";
                        usrmode.registerid   = mtb.registerid;
                        usrmode.loginIP      = ip;
                        usrmode.logincity    = GetIpToCity.GetAddressByIp(ip);
                        usrmode.loginsource  = 0;
                        usrmode.loginstate   = 1;
                        ef.hx_td_usrlogininfo.Add(usrmode);
                        int ie = ef.SaveChanges();
                    }
                    catch { }
                    #endregion

                    json = @" {""rs""    : ""n"", ""error""      :  ""用户名或密码错误!""}";
                    return(json);
                }
            }
            else
            {
                json = @" {""rs""    : ""y"", ""error""      :  ""验证码过期!""}";
            }
            return(json);
        }