Example #1
0
        private string AutoLogin(string telNo, TdUserInfo model)
        {
            if (model == null)
            {
                return("没有找到用户信息");
            }

            if (string.IsNullOrEmpty(telNo.Trim()))
            {
                return("手机号不能为空");
            }
            if ((model.uStatus ?? 0) == 1)
            {
                WebUserAuth.SignIn(model.Id.ToString());
                //登录时判断超级会员是否过期
                model.Level = BusinessDll.Users.JudgeUserLevel(model.Level.Value, model.LevelEndDate);

                model.LastLoginDate = DateTime.Now;

                string userIP = Tool.WebFormHandler.GetIP();
                TuanDai.InfoSystem.Model.LoginLog loginLogEntity = new TuanDai.InfoSystem.Model.LoginLog();
                loginLogEntity.Id         = Guid.NewGuid().ToString();
                loginLogEntity.UserId     = model.Id.ToString();
                loginLogEntity.IpAddress  = userIP;
                loginLogEntity.LoginDate  = model.LastLoginDate;
                loginLogEntity.DeviceType = "WeiXin";
                loginLogEntity.DeviceName = Request["app"].ToLower() + "自动登录";
                //TuanDai.InfoSystem.WcfClient.LoginLogService logApi = new TuanDai.InfoSystem.WcfClient.LoginLogService();
                //logApi.AddLoginLog(loginLogEntity);
                TuanDai.WXApiWeb.SysLogHelper.AddLoginLog(loginLogEntity);

                UserBLL userbll = new UserBLL();
                //保存用户最后登录时间
                userbll.WXUpdateUserLastLoginDate(model);
                //记录注册IP
                //BusinessDll.RegisterIp.WriteLoginHandler(model.Id);

                userbll.AsyncLoginEnd(model.Id, 1, userIP, "", "", model.ThirdPartyId, model.ThirdPartyType);

                //登录成功后移除第三方写的Cookie
                CookieHelper.ClearCookie("ThirdLoginUserInfo");
                CookieHelper.ClearCookie("WXLoginType");
                return(string.Empty);
            }
            else
            {
                return("登录失败,用户状态不能登录");
            }
        }
Example #2
0
        private string UserInsertByPhone(string phone)
        {
            string pwd = new UserBLL().GetRandomPassword(8);//随机密码

            if (!phone.IsPhone())
            {
                return("手机号码格式不正确");
            }

            string strIp = Tool.WebFormHandler.GetIP();

            string[] ips    = strIp.Split(',');
            string   realIp = ips.Length > 1 ? ips[1] : ips[0];
            string   result = Users.UserIsRegByIP(realIp);

            if (result != "1")
            {
                string dt = result.Split('|')[1];
                return("注册失败:为防止恶意注册,请在" + dt + "后重新注册");
            }

            Guid userid = Guid.NewGuid();
            //var model = WXRegister.AddUserInfo(userid, _app, pwd, phone, "", "",
            //    "", "", 0, realIp);


            string from = _app;

            if (!string.IsNullOrEmpty(_appUserId))
            {
                from += "_" + _appUserId;
            }
            #region 写用户信息
            UserRegisterInfo registerUser = new UserRegisterInfo();
            registerUser.Id             = userid;
            registerUser.ExtenderKey    = "";
            registerUser.UserName       = string.Format("{0}wx{1}", phone, DateTime.Now.ToString("yyMMdd")); //针对重复注册特殊处理
            registerUser.Pwd            = pwd;
            registerUser.Email          = string.Empty;
            registerUser.TelNo          = phone;
            registerUser.ThirdPartyId   = string.Empty;
            registerUser.ThirdPartyType = (int)ConstString.ThirdPartyType.TuandaiUser;
            registerUser.RegisterFrom   = from;
            registerUser.RegisterIP     = realIp;
            registerUser.OpenId         = GlobalUtils.OpenId;
            registerUser.NickName       = registerUser.UserName;
            string msg = string.Empty;
            var    userBasicInfoInfo = new UserBLL().RegiserUser(registerUser, ref msg);
            if (userBasicInfoInfo != null && !string.IsNullOrEmpty(userBasicInfoInfo.ExtenderKey))
            {
                //记录日志
                SysLogHelper.WriteErrorLog("会员推广_AddUserInfo", "UserName:" + userBasicInfoInfo.UserName + ";ExtendKey:" + userBasicInfoInfo.ExtenderKey);
            }
            #endregion

            if (userBasicInfoInfo != null)
            {
                RegisterUserHandler.AsyncAfterRegister(_app, userBasicInfoInfo);

                if ((userBasicInfoInfo.uStatus ?? 0) == 1)
                {
                    var isNewSmsRequest = ConfigHelper.getConfigString("IsNewSmsRequest", "0");
                    if (isNewSmsRequest == "0")
                    {
                        //改用新的发短信,邮件,系统消息
                        var messageSender = new MessageSend();
                        //var parameters = new Dictionary<string, object>();
                        //parameters.Add("User", model);
                        //parameters.Add("CurrentDate", DateTime.Now);
                        //parameters.Add("ExtenderKey", model.ExtenderKey);
                        //messageSender.SendMessage2(eventCode: MessageTemplates.RegisterSuccess, parameters: parameters, mobile: model.TelNo, email: model.Email, userId: model.Id);

                        //将生成的密码已短信方式发送给用户
                        var parameters = new Dictionary <string, object>();
                        parameters.Add("PassWord", pwd);
                        messageSender.SendMessage2(option: SendOption.Sms, eventCode: MessageTemplates.BindMobile,
                                                   parameters: parameters, mobile: userBasicInfoInfo.TelNo);
                    }
                    else
                    {
                        SmsRequest rechargeSuccessSmsRequest = new SmsRequest();
                        rechargeSuccessSmsRequest.EventCode      = MsgTemplatesType.BindMobile;
                        rechargeSuccessSmsRequest.PlatformSource = PlatformSource.WeiXin;
                        rechargeSuccessSmsRequest.UserId         = userBasicInfoInfo.Id;
                        rechargeSuccessSmsRequest.EmailAddress   = userBasicInfoInfo.Email;
                        rechargeSuccessSmsRequest.Mobile         = userBasicInfoInfo.TelNo;
                        rechargeSuccessSmsRequest.Parameters     = new Dictionary <string, object>();
                        rechargeSuccessSmsRequest.Parameters.Add("PassWord", pwd);

                        string errorMessage = string.Empty;
                        SmsClient.SendMessage(rechargeSuccessSmsRequest, ref errorMessage);
                    }

                    try
                    {
                        TuanDai.InfoSystem.Model.LoginLog loginLogEntity = new TuanDai.InfoSystem.Model.LoginLog();
                        loginLogEntity.Id         = Guid.NewGuid().ToString();
                        loginLogEntity.UserId     = userBasicInfoInfo.Id.ToString();
                        loginLogEntity.IpAddress  = Tool.WebFormHandler.GetIP();
                        loginLogEntity.LoginDate  = DateTime.Now;
                        loginLogEntity.DeviceType = "WeiXin";
                        loginLogEntity.DeviceName = _app + "自动注册登录";
                        //LoginLogService logApi = new LoginLogService();
                        //logApi.AddLoginLog(loginLogEntity);
                        TuanDai.WXApiWeb.SysLogHelper.AddLoginLog(loginLogEntity);
                    }
                    catch (Exception ex)
                    {
                        NetLog.WriteLoginHandler("写入注册成功登录日志出错", Tool.ExceptionHelper.GetExceptionMessage(ex));
                    }
                }

                #region 注册成功后自动登录

                if (GlobalUtils.IsWeiXinBrowser)
                {
                    string strOpenId = TuanDai.WXApiWeb.Common.WeiXinApi.GetUserWXOpenId(userBasicInfoInfo.Id);
                    if (strOpenId.IsNotEmpty())
                    {
                        GlobalUtils.WriteOpenIdToCookie(strOpenId.ToText());
                    }
                }
                WebUserAuth.SignIn(userid.ToString());

                #endregion
            }
            else
            {
                return("添加用户失败");
            }
            return(string.Empty);
        }