public async Task <IActionResult> Handler(PassPortValidationModel model)
        {
            if (this.TryValidateModel(model, out ICollection <ValidationResult> errors) == false)
            {
                return(new StatusCodeResult(StatusCodes.Status10000ValidationError));
            }

            bool loginResult = await identityService.Login(model.Pid, model.Pwd, this.Sid);

            if (loginResult == false)
            {
                return(new StatusCodeResult(StatusCodes.Status10001RegisterError));
            }

            var user = await identityService.GetUser(model.Pid);

            WriteRoleId(user.GameRoleId);

            //  await _mediator.Send(new RoleLoginCommand(role));

            return(new ObjectResult(new UserProtocol()
            {
                UserId = user.Id
            }));
        }
        public async Task <IActionResult> Handler(PassPortValidationModel model)
        {
            if (this.TryValidateModel(model, out ICollection <ValidationResult> errors) == false)
            {
                return(Error(StatusCodes.Status10000ValidationError));
            }

            //检查用户是否存在
            var user = await identityService.GetUser(model.Pid);

            if (user != null)
            {
                return(Error(StatusCodes.Status10002UserExist));
            }

            //注册用户
            bool result = await identityService.Register(model.Pid, model.Pwd);

            if (result == false)
            {
                return(Error(StatusCodes.Status10001RegisterError));
            }
            user = await identityService.GetUser(model.Pid);

            //认证
            await identityService.SignInAsync(user, this.Sid);

            //注册用户命令
            GameRole role = roleService.CreateRole(user);

            user.GameRoleId = role.Id;

            WriteRoleId(role.Id);
            identityService.Update(user);

            //todo:根据Retail获取Retaildata
            return(Ok(new UserProtocol()
            {
                UserId = user.Id
            }));
        }