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); }
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); } }