示例#1
0
        public ResponseContext <UserInfoType> GetUserInfo(RequestHead head, long uId)
        {
            long userId;

            if (uId <= 0)
            {
                userId = head.UId;
            }
            else
            {
                userId = uId;
            }
            var response = new ResponseContext <UserInfoType>();
            var userInfo = GetUserInfoByUid(userId);

            if (userInfo == null)
            {
                response.ResultCode    = ErrCodeEnum.UserNoExist;
                response.ResultMessage = ErrCodeEnum.UserNoExist.ToDescription();
                return(response);
            }
            if (uId <= 0)
            {
                response.Data          = UserInfoBuilder.BuildUserInfoV1(userInfo, head);
                response.Data.NickName = userInfo.NickName;
            }
            else
            {
                response.Data = UserInfoBuilder.BuildUserInfo(userInfo, head, 10);
            }
            return(response);
        }
示例#2
0
        public ResponseContext <UserInfoType> Register(RequestContext <RegisterRequest> request)
        {
            var response = new ResponseContext <UserInfoType>();
            var userInfo = GetUserInfoByUid(request.Head.UId);

            if (userInfo == null)
            {
                response.ResultCode    = ErrCodeEnum.UserNoExist;
                response.ResultMessage = "请求服务器失败,请重试!";
                return(response);
            }
            userInfo.Gender   = request.Data.Gender;
            userInfo.NickName = request.Data.NickName;
            userInfo.Portrait = request.Data.AvatarUrl;
            userInfo.Country  = request.Data.Country;
            userInfo.Province = request.Data.Province;
            userInfo.City     = request.Data.City;
            bool success = userInfoDao.Register(request.Head.UId, request.Data.Gender, request.Data.NickName, request.Data.AvatarUrl, request.Data.Country, request.Data.Province, request.Data.City);

            if (success)
            {
                userInfo.IsRegister = true;
                //刷新缓存
                var userInfoKey = RedisKeyConst.UserInfoByOpenIdAndUIdCacheKey(userInfo.OpenId, userInfo.UId);
                if (redisClient.Remove(userInfoKey))
                {
                    userInfo = GetUserInfoByUid(request.Head.UId);
                }
                response.Data          = UserInfoBuilder.BuildUserInfoV1(userInfo, request.Head);
                response.Data.NickName = userInfo.NickName;
            }
            return(response);
        }