示例#1
0
        public int Register(AccessUsersInfo oAccessUsersInfo, Users oUsers)
        {
            if (oAccessUsersInfo == null || oUsers == null)
            {
                return(0);
            }

            using (var conn = DbConnection(DbOperation.Write))
            {
                var repo = new Repository.AccessUsersRepo(conn);
                return(repo.Register(oAccessUsersInfo, oUsers));
            }
        }
示例#2
0
        public LoginedAccessUsers AccessLogin(AccessUsersInfo oAccessUsersInfo)
        {
            if (oAccessUsersInfo == null)
            {
                return(null);
            }

            using (var conn = DbConnection(DbOperation.Write))
            {
                var repo = new Repository.AccessUsersRepo(conn);
                return(repo.AccessLogin(oAccessUsersInfo));
            }
        }
示例#3
0
        public LoginedUsers RegisterLogin(AccessUsersInfo oAccessUsersInfo, Users oUsers, out int result)
        {
            result = 0;
            if (oAccessUsersInfo == null || oUsers == null)
            {
                return(null);
            }

            using (var conn = DbConnection(DbOperation.Write))
            {
                var repo = new Repository.AccessUsersRepo(conn);
                return(repo.RegisterLogin(oAccessUsersInfo, oUsers, out result));
            }
        }
示例#4
0
        /// <summary>
        /// 第三方登录(手机号码)
        /// </summary>
        /// <param name="oAccessUsersInfo"></param>
        /// <returns></returns>
        public LoginedAccessUsers AccessLogin(AccessUsersInfo oAccessUsersInfo)
        {
            string sql = @"select a.openid,b.*
                            from dbo.accessusers a inner join dbo.users b on a.userid = b.id and a.status = 1 and b.status = 1
                            where a.OpenId = @OpenId and a.AccessToken = @AccessToken and a.Platform = @Platform";
            var    p   = new
            {
                OpenId      = oAccessUsersInfo.OpenId,
                AccessToken = oAccessUsersInfo.AccessToken,
                Platform    = oAccessUsersInfo.Platform
            };

            return(DbManage.Query <LoginedAccessUsers>(sql, p, CommandType.Text).FirstOrDefault());
        }
示例#5
0
        /// <summary>
        /// 第三方注册登录
        /// </summary>
        /// <param name="oAccessUsersInfo"></param>
        /// <param name="oUsers"></param>
        /// <param name="result"></param>
        /// <returns></returns>
        public LoginedUsers RegisterLogin(AccessUsersInfo oAccessUsersInfo, Users oUsers, out int result)
        {
            string spName = "Wap.AccessUsers_Register_Union";

            var p = new DynamicParameters();

            p.Add("@ClientId", oAccessUsersInfo.ClientId);
            p.Add("@UserId", oAccessUsersInfo.UserId);
            p.Add("@UserName", oAccessUsersInfo.UserName);
            p.Add("@Platform", oAccessUsersInfo.Platform);
            p.Add("@OpenId", oAccessUsersInfo.OpenId);
            p.Add("@AccessToken", oAccessUsersInfo.AccessToken);
            p.Add("@NickName", oAccessUsersInfo.NickName);
            p.Add("@Icon", oAccessUsersInfo.Icon);
            p.Add("@Phone", oAccessUsersInfo.Phone);
            p.Add("@Email", oAccessUsersInfo.Email);
            p.Add("@RecentLoginTime", oAccessUsersInfo.RecentLoginTime);
            p.Add("@IsLogin", oAccessUsersInfo.IsLogin);
            p.Add("@LoginInvalidTime", oAccessUsersInfo.LoginInvalidTime);
            p.Add("@UserAgent", oAccessUsersInfo.UserAgent);
            p.Add("@IMSI", oAccessUsersInfo.IMSI);
            p.Add("@IMEI", oAccessUsersInfo.IMEI);
            p.Add("@Version", oAccessUsersInfo.Version);
            p.Add("@ChannelId", oAccessUsersInfo.ChannelId);
            p.Add("@SourceType", oAccessUsersInfo.SourceType);
            p.Add("@Status", oAccessUsersInfo.Status);
            p.Add("@AddTime", oAccessUsersInfo.AddTime);
            p.Add("@Fee", oUsers.Fee);
            p.Add("@GuestUserName", oUsers.UserName);
            p.Add("@UserIcon", oUsers.Icon);
            p.Add("@UserPhone", oUsers.Phone);
            p.Add("@UnionId", oAccessUsersInfo.UnionId);
            p.Add("@ROut", dbType: DbType.Int32, direction: ParameterDirection.Output);

            LoginedUsers loginedUsers = DbManage.Query <LoginedUsers>(spName, p, CommandType.StoredProcedure).FirstOrDefault();

            result = p.Get <int>("@ROut");

            return(loginedUsers);
        }
示例#6
0
        protected string Notify(string AppId, string AppKey, string CallbackUrl, int union = 0)
        {
            string url = "";

            if (!string.IsNullOrEmpty(Code) && !string.IsNullOrEmpty(State) && string.Compare(State, currentUser.State, true) == 0)
            {
                QQConnect connect = new QQConnect(AppId, AppKey, State, UrlParameterHelper.UrlEncode(CallbackUrl));

                if (connect != null && connect.GetAccessTokenByCode(Code) && connect.GetOpenIdByToken(union) &&
                    !string.IsNullOrEmpty(connect.AccessToken) && !string.IsNullOrEmpty(connect.OpenId))
                {
                    currentUser.Token  = connect.AccessToken;
                    currentUser.OpenId = connect.OpenId;
                    string             result = string.Empty;
                    QQConnect.UserInfo model  = new QQConnect.UserInfo();
                    if (connect.GetUserInfo(out result, out model) && !string.IsNullOrEmpty(result) && string.Compare(model.ret, "0", true) == 0)
                    {
                        currentUser.NickName = model.nickname;
                        string nickName = string.Empty;

                        AccessUsersInfo accessUsersInfo = new AccessUsersInfo();
                        accessUsersInfo                  = GetClientLogInfo(accessUsersInfo) as AccessUsersInfo;
                        accessUsersInfo.AccessToken      = currentUser.Token;
                        accessUsersInfo.UserName         = "";
                        accessUsersInfo.NickName         = currentUser.NickName;
                        accessUsersInfo.Email            = "";
                        accessUsersInfo.Icon             = model.figureurl_qq_2;
                        accessUsersInfo.Phone            = "";
                        accessUsersInfo.Platform         = Constants.AccessUserPlatform.qq.ToString();
                        accessUsersInfo.OpenId           = currentUser.OpenId;
                        accessUsersInfo.AccessToken      = currentUser.Token;
                        accessUsersInfo.LoginInvalidTime = DateTime.Now;
                        accessUsersInfo.RecentLoginTime  = DateTime.Now;
                        accessUsersInfo.AddTime          = DateTime.Now;
                        accessUsersInfo.Status           = (int)Constants.Status.yes;
                        if (union == 1)
                        {
                            accessUsersInfo.UnionId = connect.UnionId;
                        }
                        Users users = new Users();
                        users.Fee      = 0;
                        users.UserName = CreateUserName(out nickName);
                        users.Icon     = "";
                        users.Phone    = "";
                        int rel = 0;
                        if ((rel = _accessUsersService.Register(accessUsersInfo, users)) == (int)ErrorMessage.成功)
                        {
                            LoginedAccessUsers loginedAccessUsers = _accessUsersService.AccessLogin(accessUsersInfo);
                            if (loginedAccessUsers != null && loginedAccessUsers.Id > 0)
                            {
                                currentUser.UserId   = loginedAccessUsers.Id;
                                currentUser.UserName = loginedAccessUsers.UserName;
                                currentUser.NickName = loginedAccessUsers.NickName;
                                SaveUserInfo(currentUser);

                                //ChapterReadLogSync(loginedAccessUsers.UserName, loginedAccessUsers.Id);

                                url = GetReturnUrl(State);
                            }
                        }
                    }
                }
            }

            return(url);
        }
示例#7
0
        protected string Notify(string QrCodeAppId, string QrCodeAppKey, string AuthAppId, string AuthAppKey, string CallbackUrl)
        {
            string url = "";

            if (!string.IsNullOrEmpty(Code) && !string.IsNullOrEmpty(State) && string.Compare(State, currentUser.State, true) == 0)
            {
                WeChatConnect connect = new WeChatConnect(QrCodeAppId, QrCodeAppKey, AuthAppId, AuthAppKey, State, UrlParameterHelper.UrlEncode(CallbackUrl));

                if (connect != null && connect.GetAccessTokenByCode(Code) &&
                    !string.IsNullOrEmpty(connect.AccessToken))
                {
                    currentUser.Token = connect.AccessToken;
                    string result = string.Empty;

                    WeChatConnect.UserInfo model = new WeChatConnect.UserInfo();
                    if (connect.GetUserInfo(out result, out model) &&
                        !string.IsNullOrEmpty(connect.OpenId) && !string.IsNullOrEmpty(result) && string.IsNullOrEmpty(model.errcode))
                    {
                        currentUser.OpenId   = connect.OpenId;
                        currentUser.NickName = model.nickname;
                        string nickName = string.Empty;

                        AccessUsersInfo accessUsersInfo = new AccessUsersInfo();
                        accessUsersInfo                  = GetClientLogInfo(accessUsersInfo) as AccessUsersInfo;
                        accessUsersInfo.AccessToken      = currentUser.Token;
                        accessUsersInfo.UserName         = "";
                        accessUsersInfo.NickName         = currentUser.NickName;
                        accessUsersInfo.Email            = "";
                        accessUsersInfo.Icon             = model.headimgurl;
                        accessUsersInfo.Phone            = "";
                        accessUsersInfo.Platform         = Constants.AccessUserPlatform.wechat.ToString();
                        accessUsersInfo.OpenId           = currentUser.OpenId;
                        accessUsersInfo.AccessToken      = currentUser.Token;
                        accessUsersInfo.LoginInvalidTime = DateTime.Now;
                        accessUsersInfo.RecentLoginTime  = DateTime.Now;
                        accessUsersInfo.AddTime          = DateTime.Now;
                        accessUsersInfo.Status           = (int)Constants.Status.yes;
                        accessUsersInfo.UnionId          = model.unionid;
                        Users users = new Users();
                        users.Fee      = 0;
                        users.UserName = CreateUserName(out nickName);
                        users.Icon     = "";
                        users.Phone    = "";
                        int          rel          = 0;
                        LoginedUsers loginedUsers = null;
                        if ((loginedUsers = _accessUsersService.RegisterLogin(accessUsersInfo, users, out rel)) != null && rel == (int)ErrorMessage.成功)
                        {
                            currentUser.UserId   = loginedUsers.Id;
                            currentUser.UserName = loginedUsers.UserName;
                            currentUser.NickName = loginedUsers.NickName;
                            SaveUserInfo(currentUser);

                            //ChapterReadLogSync(loginedUsers.UserName, loginedUsers.Id);

                            url = GetReturnUrl(State);
                        }
                    }
                }
            }

            return(url);
        }