Ejemplo n.º 1
0
        public Account CreateOrUpdateByUserInfo(OAuthUserInfo userInfo)
        {
            var account = GetObject(z => z.WeixinOpenId == userInfo.openid) ??
                          CreateAccount(GetNewUserName(), "", "", "", userInfo.openid, "", userInfo.nickname);

            LogUtility.SystemLogger.Debug($"开始创建用户(Account),OAuthUserInfo:\r\n{userInfo.ToJson()}");
            var url = userInfo.headimgurl.Replace("Http", "Https");

            account.HeadImgUrl = url;
            account.NickName   = userInfo.nickname;
            account.Sex        = (byte)userInfo.sex;
            account.PicUrl     = url; //暂时存为远程地址,让线程异步更新和下载
            SaveObject(account);

            LogUtility.SystemLogger.Debug($"进行异步头像更新:{userInfo.headimgurl}");

            //异步下载图片
            var operationQueue = new OperationQueue.OperationQueue();

            operationQueue.Add($"{account.Id}-{DateTime.Now.Ticks.ToString()}", OperationQueueType.更新用户头像, new List <object>()
            {
                account.Id, userInfo.headimgurl
            });

            return(account);
        }
Ejemplo n.º 2
0
        public Account CreateAccountByUserInfo(OAuthUserInfo userInfo)
        {
            using (var wrap = this.InstanceAutoDetectChangeContextWrap())
            {
                Account account = null;
                LogUtility.SystemLogger.Debug($"开始创建用户(Account),OAuthUserInfo:\r\n{userInfo.ToJson()}");

                var    nickname = userInfo.nickname;
                string userName = GetNewUserName();
                account = CreateAccount(userName, "", "", "", userInfo.openid, "", nickname);

                var url = userInfo.headimgurl.Replace("Http", "Https");
                account.HeadImgUrl = url;
                account.NickName   = nickname;
                account.Sex        = (byte)userInfo.sex;
                account.PicUrl     = url; //暂时存为远程地址,让线程异步更新和下载
                SaveObject(account);

                LogUtility.SystemLogger.Debug($"进行异步头像更新:{userInfo.headimgurl}");

                //异步下载图片
                var operationQueue = new OperationQueue.OperationQueue();
                operationQueue.Add($"{account.Id}-{DateTime.Now.Ticks.ToString()}", OperationQueueType.更新用户头像, new List <object>()
                {
                    account.Id, userInfo.headimgurl
                });

                return(account);
            }
        }