/// <summary> /// 微信注册普通会员用户 /// </summary> /// <param name="userInPut">第三方类型</param> /// <returns></returns> public bool CreateUserByWxOpenId(UserInputDto userInPut) { User user = userInPut.MapTo <User>(); UserLogOn userLogOnEntity = new UserLogOn(); UserOpenIds userOpenIds = new UserOpenIds(); user.Id = user.CreatorUserId = GuidUtils.CreateNo(); user.Account = "Wx" + GuidUtils.CreateNo(); user.CreatorTime = userLogOnEntity.FirstVisitTime = DateTime.Now; user.IsAdministrator = false; user.EnabledMark = true; user.Description = "第三方注册"; user.IsMember = true; user.UnionId = userInPut.UnionId; user.ReferralUserId = userInPut.ReferralUserId; if (userInPut.NickName == "游客") { user.RoleId = _roleService.GetRole("guest").Id; } else { user.RoleId = _roleService.GetRole("usermember").Id; } userLogOnEntity.UserId = user.Id; userLogOnEntity.UserPassword = GuidUtils.NewGuidFormatN() + new Random().Next(100000, 999999).ToString(); userLogOnEntity.Language = userInPut.language; userOpenIds.OpenId = userInPut.OpenId; userOpenIds.OpenIdType = userInPut.OpenIdType; userOpenIds.UserId = user.Id; return(_userRepository.Insert(user, userLogOnEntity, userOpenIds)); }
/// <summary> /// 注册用户,第三方平台 /// </summary> /// <param name="entity"></param> /// <param name="userLogOnEntity"></param> /// <param name="userOpenIds"></param> /// <param name="trans"></param> public bool Insert(User entity, UserLogOn userLogOnEntity, UserOpenIds userOpenIds, IDbTransaction trans = null) { DbContext.GetDbSet <User>().Add(entity); DbContext.GetDbSet <UserLogOn>().Add(userLogOnEntity); userLogOnEntity.Id = GuidUtils.CreateNo(); userLogOnEntity.UserId = entity.Id; userLogOnEntity.UserSecretkey = MD5Util.GetMD5_16(GuidUtils.NewGuidFormatN()).ToLower(); userLogOnEntity.UserPassword = MD5Util.GetMD5_32(DEncrypt.Encrypt(MD5Util.GetMD5_32(userLogOnEntity.UserPassword).ToLower(), userLogOnEntity.UserSecretkey).ToLower()).ToLower(); DbContext.GetDbSet <User>().Add(entity); DbContext.GetDbSet <UserLogOn>().Add(userLogOnEntity); DbContext.GetDbSet <UserOpenIds>().Add(userOpenIds); return(DbContext.SaveChanges() > 0); }
public Users UserRegister(Users userInfo, UserOpenIds openIds) { using (var tran = new TransactionScope()) //新建事务 { Users savedUserInfo = context.Users.Add(userInfo); context.SaveChanges(); openIds.UserId = savedUserInfo.Id; context.UserOpenIds.Add(openIds); context.SaveChanges(); tran.Complete(); return(savedUserInfo); } }
public static void LoginCheckIn(WebSocketSession session, SocketData socketData) { string nick = socketData.data["nick"].ToString(); string photo = socketData.data["photo"].ToString(); string code = socketData.data["code"].ToString(); string appId = ConfigurationManager.AppSettings["AppId"]; string secret = ConfigurationManager.AppSettings["Secret"]; string httpResult = WebHelper.GetRequestData("https://api.weixin.qq.com/sns/jscode2session?appid=" + appId + "&secret=" + secret + "&js_code=" + code + "&grant_type=authorization_code", "get", ""); Log.Info("WeChat jscode2session api received msg:" + httpResult); JObject sessionObj = JsonConvert.DeserializeObject(httpResult) as JObject; string openid = sessionObj["openid"].ToString(); //string unionid = sessionObj["unionid"].ToString(); string unionid = ""; string session_key = sessionObj["session_key"].ToString(); Users userInfo = ServiceProvider.Instance <IUsersService> .Create.GetUserByOpenId(openid); if (userInfo == null) { Users user = new Users() { CreateDate = DateTime.Now, Gender = 1, IsOnline = 1, LastLoginDate = DateTime.Now, Nick = nick, Photo = photo, UserName = Utils.GetRamCode() }; UserOpenIds openIds = new UserOpenIds() { UnionId = unionid, UnionOpenId = openid, UserId = user.Id, ServiceProvider = "WeiXin.SmallProgram" }; userInfo = ServiceProvider.Instance <IUsersService> .Create.UserRegister(user, openIds); } WebSocketSession findOnlineUser = SessionPool.Get(userInfo.Id); ServiceProvider.Instance <IUsersService> .Create.UpdateLoginDate(DateTime.Now, userInfo.Id); ServiceProvider.Instance <IUsersService> .Create.UpdateLoginKey(userInfo.Id); userInfo = ServiceProvider.Instance <IUsersService> .Create.GetUserByOpenId(openid); if (findOnlineUser != null) { SessionPool.Remove(userInfo.Id); } SocketData sendData = new SocketData() { cmd_id = MainProtocol.LoginCheckIn, msg = "登录成功" }; sendData.SetData(new { user_id = userInfo.Id, key = userInfo.Key }); session.Nick = userInfo.Nick; session.UserId = userInfo.Id; session.Photo = userInfo.Photo; session.SessionKey = session_key; session.ConnectTime = DateTime.Now; SessionPool.Add(session); session.Send(sendData); }
/// <summary> /// 更新用户信息,第三方平台 /// </summary> /// <param name="entity"></param> /// <param name="userLogOnEntity"></param> /// <param name="trans"></param> public bool UpdateUserByOpenId(User entity, UserLogOn userLogOnEntity, UserOpenIds userOpenIds, IDbTransaction trans = null) { DbContext.GetDbSet <User>().Add(entity); DbContext.GetDbSet <UserOpenIds>().Add(userOpenIds); return(DbContext.SaveChanges() > 0); }
/// <summary> /// 更新用户信息,第三方平台 /// </summary> /// <param name="entity"></param> /// <param name="userLogOnEntity"></param> /// <param name="userOpenIds"></param> /// <param name="trans"></param> public bool UpdateUserByOpenId(User entity, UserLogOn userLogOnEntity, UserOpenIds userOpenIds, IDbTransaction trans = null) { return(_userRepository.UpdateUserByOpenId(entity, userLogOnEntity, userOpenIds, trans)); }
/// <summary> /// 注册用户,第三方平台 /// </summary> /// <param name="entity"></param> /// <param name="userLogOnEntity"></param> /// <param name="trans"></param> public bool Insert(User entity, UserLogOn userLogOnEntity, UserOpenIds userOpenIds, IDbTransaction trans = null) { return(_userRepository.Insert(entity, userLogOnEntity, userOpenIds, trans)); }