コード例 #1
0
        public WeiXin.Domain.User GetUserInfo(string OpenID)
        {
            GetUserInfoResponse response = null;

            int retry = 0;

            do
            {
                IMpClient mpClient = new MpClient();

                GetUserInfoRequest request = new GetUserInfoRequest()
                {
                    AccessToken = this.GetAccessToken(),
                    OpenId      = OpenID,
                };

                response = mpClient.Execute(request);
                if (!RefreshAccessToken(response, request.AccessToken))
                {
                    break;
                }
                retry++;
            } while (retry < 2 && response.IsError);
            if (response.IsError)
            {
                LogHelper.WriteInfo("faild", "获取OpenID:" + OpenID + "基本信息失败。获取用户基本信息失败,错误信息为:" + response.ErrInfo.ErrCode + "-" + response.ErrInfo.ErrMsg);
                return(null);
            }
            else
            {
                LogHelper.WriteInfo("sucess", "获取OpenID:" + OpenID + "基本信息成功");
                return(response.UserInfo);
            }
        }
コード例 #2
0
ファイル: WinXin.cs プロジェクト: ichoukou/yhq
        /// <summary>
        /// 获取用户基本信息
        /// </summary>
        /// <param name="OpenId">用户OpenId</param>
        /// <returns></returns>
        public static User GetUserInfo(string OpenId)
        {
            IMpClient             mpClient = new MpClient();
            AccessTokenGetRequest request  = new AccessTokenGetRequest()
            {
                AppIdInfo = new AppIdInfo()
                {
                    AppID = appId, AppSecret = appSecret
                }
            };
            AccessTokenGetResponse response = mpClient.Execute(request);

            if (response.IsError)
            {
                return(null);
            }

            GetUserInfoRequest request2 = new GetUserInfoRequest()
            {
                AccessToken = response.AccessToken.AccessToken,
                OpenId      = OpenId,
            };

            var response2 = mpClient.Execute(request2);

            if (response2.IsError)
            {
                return(null);
            }
            else
            {
                return(response2.UserInfo);
            }
        }
コード例 #3
0
        /// <summary>
        /// 拉取会员信息
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public GetUserInfoResult GetUserInfo(GetUserInfoRequest model)
        {
            var url    = GetAccessApiUrl("userinfo/get", "card/membercard", "https://api.weixin.qq.com");
            var result = Post <GetUserInfoResult>(url, model);

            return(result);
        }
コード例 #4
0
        /// <summary>
        /// 获取用户基本信息
        /// </summary>
        public static string GetUserInfo(string openId)
        {
            try
            {
                IMpClient mpClient = new MpClient();
                var       request  = new AccessTokenGetRequest()
                {
                    AppIdInfo = new AppIdInfo()
                    {
                        AppId = AppId, AppSecret = AppSecret
                    }
                };
                var response = mpClient.Execute(request);
                if (response.IsError)
                {
                    return(null);
                }

                var request2 = new GetUserInfoRequest()
                {
                    AccessToken = response.AccessToken.AccessToken,
                    OpenId      = openId
                };

                var response2 = mpClient.Execute(request2);

                return(Tools.ToJsonString(response2.UserInfo));
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog(typeof(UserGroupOperation), ex.Message);
                throw new Exception(ex.Message);
            }
        }
コード例 #5
0
        public async Task HandleWithValidCreateRequestCallSaveAsExpectedResultAsync()
        {
            // Arrange
            var userModel = new UserModel {
                Id = 1, FirstName = "Thirumalai"
            };
            var config     = new MapperConfiguration(m => { m.CreateMap <UserDetail, UserModel>(); });
            var mapper     = new Mapper(config);
            var userDetail = new UserDetail {
                Id = 1, FirstName = "Thirumalai"
            };;

            repository = new Mock <IRepository>();
            repository.Setup(m => m.Get <UserDetail>(It.IsAny <int>()))
            .Returns(userDetail);

            underTest = new GetUserInfo(repository.Object, mapper);
            request   = new GetUserInfoRequest(userModel.Id);

            // Act
            CancellationToken cancellationToken;
            var result = await underTest.Handle(request, cancellationToken);

            // Assert
            Assert.NotNull(result);
            Assert.Equal(userModel.Id, result.Id);
            Assert.Equal(userModel.FirstName, result.FirstName);
        }
コード例 #6
0
ファイル: GetUserOp.cs プロジェクト: bigbigwood/zhendi
        public GetUserInfoResponse Process(GetUserInfoRequest request)
        {
            try
            {
                if (request.UserId == 0)
                {
                }
                UserInfo userInfo = null;
                var      dao      = new UserInfoDao();
                var      userData = dao.GetUser(request.UserId);
                if (userData != null)
                {
                    userInfo = UserInfoMapper.ToModel(userData);
                }

                return(new GetUserInfoResponse()
                {
                    Token = request.Token, ResultType = ResultType.OK, UserInfo = userInfo
                });
            }
            catch (Exception ex)
            {
                Log.Error(ex);
                return(new GetUserInfoResponse()
                {
                    Token = request.Token, ResultType = ResultType.Error
                });
            }
        }
コード例 #7
0
        public UserInfo TryGetUesrInfo(User user, DeviceController device)
        {
            if (user == null || device == null)
            {
                return(null);
            }

            Log.Info("Trying to get user device info...");
            var deviceUserId       = user.UserCode.ToInt32();
            var deviceID           = device.Code.ToInt32();
            var deviceCode         = device.Code.ToInt32();
            var operation          = new WebSocketOperation(deviceCode);
            var getUserInfoRequest = new GetUserInfoRequest()
            {
                Token = operation.Token, UserId = deviceUserId
            };
            string rawRequest  = DataContractSerializationHelper.Serialize(getUserInfoRequest);
            var    rawResponse = operation.Execute(rawRequest);

            if (string.IsNullOrWhiteSpace(rawResponse))
            {
                throw new Exception(string.Format("Getting user id:[{0}], device user id:[{1}] from device id:[{2}]. Response is empty, maybe the device is not register to device system.",
                                                  user.UserID, deviceUserId, deviceID));
            }

            var response = DataContractSerializationHelper.Deserialize <GetUserInfoResponse>(rawResponse);

            Log.InfoFormat("Getting user id:[{0}], device user id:[{1}] from device id:[{2}], result:[{3}]", user.UserID, deviceUserId, deviceID, response.ResultType);

            return(response.ResultType == ResultType.OK ?response.UserInfo : null);
        }
コード例 #8
0
        public async void GetUserInfo_UserExist_ValidOutput()
        {
            //arrange

            var user = new User()
            {
                NickName = "TestUser"
            };

            var mockUnit = new Mock <IUnitOfWork>();

            mockUnit.Setup(u => u.UserRepository.GetWithPhotoAsync(It.IsNotNull <string>()))
            .ReturnsAsync(user);

            var mockMapper = new Mock <IMapper>();

            mockMapper.Setup(m => m.Map <GetUserDto>(It.IsIn(user)))
            .Returns(new GetUserDto()
            {
                NickName = user.NickName
            });

            var userService = new UserService(mockUnit.Object, mockMapper.Object, null);

            var request = new GetUserInfoRequest()
            {
                UserName = "******"
            };

            //act
            var result = await userService.GetUserInfoAsync(request);

            //assert
            Assert.True(result.NickName == user.NickName);
        }
コード例 #9
0
ファイル: AuthenticationHub.cs プロジェクト: lsrob123/Lx.Sys
        public async Task GetUserInfoAsync(GetUserInfoRequest request)
        {
            await EnsureInGroupAsync(request);

            var response = await _service.GetUserInfoAsync(request);

            SendGroupResponse(response);
        }
コード例 #10
0
ファイル: OAuthClientService.cs プロジェクト: lsrob123/Lx.Sys
        public async Task <GetUserInfoResponse> GetUserInfoAsync(GetUserInfoRequest request)
        {
            var userInfoClient = new UserInfoClient(GetOAuthEndpointUri("userinfo").AbsoluteUri);

            var result = await userInfoClient.GetAsync(request.AccessToken);

            var response = _mappingService.Map <GetUserInfoResponse>(result).LinkTo(request);

            return(response);
        }
コード例 #11
0
        public async Task <HttpResponseMessage> GetUserInfoAsync(string accessToken)
        {
            var request = new GetUserInfoRequest
            {
                AccessToken = accessToken
            };
            var response = await _service.GetUserInfoAsync(request);

            return(Request.CreateResponse(response));
        }
コード例 #12
0
        public async Task <GetUserDto> GetUserInfoAsync(GetUserInfoRequest request)
        {
            var user = await _unit.UserRepository.GetWithPhotoAsync(request.UserName);

            if (user == null)
            {
                throw new UserNotExistException("Given user not exist!!", 400);
            }

            return(_map.Map <GetUserDto>(user));
        }
コード例 #13
0
 public Task <WPSBaseModel> Online(GetUserInfoRequest body)
 {
     return(Task.Run(() =>
     {
         var result = new WPSBaseModel
         {
             code = 200,
             msg = "success"
         };
         return result;
     }));
 }
コード例 #14
0
        public override async Task <GetUserInfoResponse> GetUserInfo(GetUserInfoRequest request, ServerCallContext context)
        {
            var user = new GetUserInfoResponse
            {
                Id      = request.Id,
                Name    = "张小明",
                Phone   = "17621499260",
                Address = "上海市虹口区"
            };

            return(await Task.FromResult(user));
        }
コード例 #15
0
ファイル: RetaskService.cs プロジェクト: agibalov/retask
        public ServiceResult <UserInfoDTO> GetUserInfo(string sessionToken)
        {
            var getUserInfoRequest = new GetUserInfoRequest
            {
                SessionToken = sessionToken
            };

            return(ExecuteWithExceptionHandling(
                       context => GetUserInfoTransactionScript.GetUserInfo(
                           context,
                           getUserInfoRequest)));
        }
コード例 #16
0
        public IActionResult GetUserInfo(GetUserInfoRequest request)
        {
            var messageClientId = new MessageClientId(request.ClientId);
            var messageChainId  = new MessageChainId(Guid.NewGuid().ToString());
            var inputMessage    = new GetUserInfoInputMessage(messageClientId, messageChainId)
            {
                UserId = _authenticationManager.GetUserId(request.Login, request.Token)
            };

            _queueManager.SendMessage(AuthSettings.AuthInputQueue, inputMessage);

            return(Ok());
        }
コード例 #17
0
 public void InitRequest()
 {
     _getSignRecordRequest = GetComponent <GetSignRecordRequest>();
     _getUserInfoRequest   = GetComponent <GetUserInfoRequest>();
     _getEmailRequest      = GetComponent <GetEmailRequest>();
     _getUserBagRequest    = GetComponent <GetUserBagRequest>();
     _getNoticeRequest     = GetComponent <GetNoticeRequest>();
     _getRankRequest       = GetComponent <GetRankRequest>();
     _mainRequest          = GetComponent <MainRequest>();
     _getTaskRequest       = GetComponent <GetTaskRequest>();
     LogicEnginerScript.Instance.GetComponent <GetUserBagRequest>().CallBack = onReceive_GetUserBag;
     LogicEnginerScript.Instance.GetComponent <GetRankRequest>().CallBack    = onReceive_GetGoldRank;
 }
コード例 #18
0
ファイル: UserService.cs プロジェクト: water1st/Liquidity2
        public async Task SynchronizeUserInfo()
        {
            var token = await _authenticationService.GetAccessToken();

            var request = new GetUserInfoRequest {
                AccessToken = token
            };
            var response = await _client.GetUserInfo(request);

            var user = User.Current;

            user.Name = response.Name;
        }
コード例 #19
0
        public async Task Bind(string authToken)
        {
            var userName = "";

            if (authToken != null)
            {
                var uInfReq  = new GetUserInfoRequest(authToken);
                var uInfResp = await UserService.GetUserInfoAsync(uInfReq);

                userName = uInfResp.UserName;
            }

            await Groups.AddToGroupAsync(Context.ConnectionId, userName);
        }
コード例 #20
0
ファイル: AuthenticationHub.cs プロジェクト: lsrob123/Lx.Sys
        public async Task GetTokensAsync(GetTokensRequest request)
        {
            await EnsureInGroupAsync(request, false);

            var response = await _service.GetTokensAsync(request);

            SendGroupResponse(response);

            var getUserInfoRequest = new GetUserInfoRequest
            {
                AccessToken = response.AccessToken
            }.LinkTo(response);

            await GetUserInfoAsync(getUserInfoRequest);
        }
コード例 #21
0
        public UserInfoDTO GetUserInfo(TodoContext context, GetUserInfoRequest getUserInfoRequest)
        {
            _getUserInfoRequestValidator.ValidateAndThrow(getUserInfoRequest);

            var user = _authenticationService.GetUserBySessionToken(
                context,
                getUserInfoRequest.SessionToken);

            return(new UserInfoDTO
            {
                UserId = user.UserId,
                Email = user.Email,
                IsAdmin = user.IsAdmin
            });
        }
コード例 #22
0
        /// <summary>
        /// 获取用户基本信息
        /// </summary>
        /// <param name="OpenID"></param>
        /// <returns></returns>
        public static User GetWxUser(string OpenID)
        {
            IMpClient          mpClient = new MpClient();
            GetUserInfoRequest request  = new GetUserInfoRequest()
            {
                AppIdInfo = new DefAppIdInfo(), AccessToken = WxAccToken.AccessTokenStr, OpenId = OpenID
            };
            GetUserInfoResponse response = mpClient.Execute(request);

            if (response.IsError)
            {
                Logger.WriteTxtLog(string.Format("获取USER发生错误,错误编码为:{0},错误消息为:{1}", response.ErrInfo.ErrCode, response.ErrInfo.ErrMsg));
                return(null);
            }
            return(response.UserInfo);
        }
コード例 #23
0
        public async void GetUserInfo_UserNotExist_ThrowsException()
        {
            //arrange
            var mock = new Mock <IUnitOfWork>();

            mock.Setup(u => u.UserRepository.GetWithPhotoAsync(It.IsAny <string>()))
            .ReturnsAsync(default(User));

            var userService = new UserService(mock.Object, null, null);

            var request = new GetUserInfoRequest()
            {
                UserName = "******"
            };

            //assert
            await Assert.ThrowsAsync <UserNotExistException>(async() => await userService.GetUserInfoAsync(request));
        }
コード例 #24
0
        /// <summary>
        /// 获取会员信息
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ExecuteResult <CustomerInfoResponse> GetUserInfo(GetUserInfoRequest request)
        {
            var userModel = GetUser(request.AuthUid);

            if (userModel == null)
            {
                return(new ExecuteResult <CustomerInfoResponse>(null)
                {
                    StatusCode = StatusCode.ClientError, Message = "获取用户信息失败"
                });
            }

            var result   = new ExecuteResult <CustomerInfoResponse>();
            var response = MappingManager.CustomerInfoResponseMappingForReadCount(userModel);

            result.Data = response;

            return(result);
        }
コード例 #25
0
        public Task <UserModel> GetUserInfo(GetUserInfoRequest body)
        {
            return(Task.Run(() =>
            {
                var request = FilterRequestForWPS(Request);
                if (!request.Status)
                {
                    return new UserModel();
                }

                var result = new UserModel
                {
                    id = "用户ID",
                    name = "用户名",
                    avatar_url = "用户头像url"
                };
                return result;
            }));
        }
コード例 #26
0
        public async Task <ActionResult> GetUserInfo(GetUserInfoRequest request)
        {
            try
            {
                HttpClient client = new HttpClient();
                //client.DefaultRequestHeaders.Add("Content-Type", "application/json");
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", request.Token);
                string        str     = JsonConvert.SerializeObject("");
                StringContent content = new StringContent(str, Encoding.UTF8, "application/json");
                var           result  = await client.PostAsync(baseUrl + "/api/services/app/mobileTerminal/GetUserCompanyWithStatisticalAsync", content);

                var r = result.Content.ReadAsStringAsync().Result;
                return(Json(r, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
コード例 #27
0
        public JsonResult GetUserInfo(GetUserInfoRequest body)
        {
            _log.WriteInfo("开始请求接口【user/info】");
            UserModelList result = new UserModelList();

            try
            {
                var request = GetFilterRequest.GetParams(HttpContext.ApplicationInstance.Request);
                if (!request.Status)
                {
                    result.code    = request.code;
                    result.message = request.message;
                    result.details = request.details;
                    result.hint    = request.hint;
                }
                else
                {
                    result.users = new List <UserModel>();
                    result.users.Add(new UserModel
                    {
                        id         = "1000",
                        name       = "天玺",
                        avatar_url = $"{ConfigurationManager.AppSettings["WPSTokenUrl"]}/Images/photo1.jpg",
                    });
                    result.users.Add(new UserModel
                    {
                        id         = "1001",
                        name       = "兆丰",
                        avatar_url = $"{ConfigurationManager.AppSettings["WPSTokenUrl"]}/Images/photo2.jpg"
                    });
                }
            }
            catch (Exception ex)
            {
                _log.WriteError("【系统异常】-【" + ex.Message + "】", ex);
                result.code    = (int)Enumerator.ErrorCode.ServerError;
                result.message = Enumerator.ErrorCode.ServerError.ToString();
                result.details = result.hint = EnumExtension.GetDescription(Enumerator.ErrorCode.ServerError);
            }
            _log.WriteInfo("请求接口【user/info】完成,返回数据:" + JsonConvert.SerializeObject(result));
            return(Json(result));
        }
コード例 #28
0
        public override Task <GetUserInfoResponse> GetUserInfo(GetUserInfoRequest request, ServerCallContext context)
        {
            var resp        = new GetUserInfoResponse();
            var accessToken = _redis.StringGet(CacheKey.UserAccessTokenPrefix + request.AppId);

            if (accessToken.HasValue)
            {
                var data = WxWebApi.GetUserInfo(accessToken, request.OpenId);
                if (data.ErrCode == 0)
                {
                    resp.SubscribeTime = data.Subscribe == 1 ? data.SubscribeTime : 0;
                    resp.OpenId        = data.OpenId;
                    if (resp.SubscribeTime != 0)
                    {
                        resp.NickName = data.NickName;
                        resp.Sex      = data.Sex;
                        resp.City     = data.City;
                        resp.Province = data.Province;
                        resp.Country  = data.Country;
                        resp.Photo    = data.HeadImgUrl;
                        resp.UnionId  = data.UnionId;
                    }
                }
                else
                {
                    resp.Error = new Error
                    {
                        ErrCode = data.ErrCode,
                        ErrMsg  = data.ErrMsg
                    };
                }
            }
            else
            {
                resp.Error = new Error
                {
                    ErrCode = 99999,
                    ErrMsg  = "AccessToken Missing"
                };
            }
            return(Task.FromResult(resp));
        }
コード例 #29
0
        public IHttpActionResult Get()
        {
            //retrieve userid from Bearer token
            var loggedUserId = HttpContext.Current.GetOwinContext().GetUserId();

            var request = new GetUserInfoRequest()
            {
                RequestToken = Guid.NewGuid(),
                UserId       = loggedUserId
            };

            var response = _userService.GetUserInfo(request);

            if (response.Success)
            {
                return(Ok(response.User.MapToViewModel()));
            }

            return(BadRequest(response.Message));
        }
コード例 #30
0
        public JsonResult Online(GetUserInfoRequest body)
        {
            _log.WriteInfo("开始请求接口【file/online】");
            WPSBaseModel result = new WPSBaseModel();

            try
            {
                result.code    = 200;
                result.message = "success";
            }
            catch (Exception ex)
            {
                _log.WriteError("【系统异常】-【" + ex.Message + "】", ex);
                result.code    = (int)Enumerator.ErrorCode.ServerError;
                result.message = Enumerator.ErrorCode.ServerError.ToString();
                result.details = result.hint = EnumExtension.GetDescription(Enumerator.ErrorCode.ServerError);
            }
            _log.WriteInfo("请求接口【file/online】完成,返回数据:" + JsonConvert.SerializeObject(result));
            return(Json(result));
        }
コード例 #31
0
ファイル: WinXin.cs プロジェクト: uwitec/O2O
        /// <summary>
        /// 获取用户基本信息
        /// </summary>
        /// <param name="OpenId">用户OpenId</param>
        /// <returns></returns>
        public static User GetUserInfo(string OpenId)
        {
            IMpClient mpClient = new MpClient();
            AccessTokenGetRequest request = new AccessTokenGetRequest()
            {
                AppIdInfo = new AppIdInfo() { AppID = appId, AppSecret = appSecret }
            };
            AccessTokenGetResponse response = mpClient.Execute(request);
            if (response.IsError)
            {
                return null;
            }

            GetUserInfoRequest request2 = new GetUserInfoRequest()
            {
                AccessToken = response.AccessToken.AccessToken,
                OpenId = OpenId,
            };

            var response2 = mpClient.Execute(request2);
            if (response2.IsError)
            {
                return null;
            }
            else
            {
                return response2.UserInfo;
            }
        }
コード例 #32
0
        /// <summary>
        /// 获取会员信息
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ExecuteResult<CustomerInfoResponse> GetUserInfo(GetUserInfoRequest request)
        {
            var userModel = GetUser(request.AuthUid);
            if (userModel == null)
            {
                return new ExecuteResult<CustomerInfoResponse>(null) { StatusCode = StatusCode.ClientError, Message = "获取用户信息失败" };
            }

            var result = new ExecuteResult<CustomerInfoResponse>();
            var response = MappingManager.CustomerInfoResponseMappingForReadCount(userModel);
            result.Data = response;

            return result;
        }